Subversion Repositories SmartDukaan

Rev

Rev 23081 | Blame | Compare with Previous | Last modification | View Log | RSS feed

/**
 * Autogenerated by Thrift Compiler (0.7.0)
 *
 * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 */
package in.shop2020.model.v1.order;

import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.util.HashMap;
import java.util.EnumMap;
import java.util.Set;
import java.util.HashSet;
import java.util.EnumSet;
import java.util.Collections;
import java.util.BitSet;
import java.nio.ByteBuffer;
import java.util.Arrays;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class TransactionService {

  public interface Iface extends in.shop2020.generic.GenericService.Iface {

    public long createTransaction(Transaction transaction) throws TransactionServiceException, org.apache.thrift.TException;

    public Transaction getTransaction(long id) throws TransactionServiceException, org.apache.thrift.TException;

    public List<Transaction> getTransactionsForCustomer(long customerId, long from_date, long to_date, TransactionStatus status) throws TransactionServiceException, org.apache.thrift.TException;

    public List<Transaction> getTransactionsForShoppingCartId(long shoppingCartId) throws TransactionServiceException, org.apache.thrift.TException;

    public TransactionStatus getTransactionStatus(long transactionId) throws TransactionServiceException, org.apache.thrift.TException;

    public boolean changeTransactionStatus(long transactionId, TransactionStatus status, String description, long pickUp, OrderType orderType, OrderSource source) throws TransactionServiceException, org.apache.thrift.TException;

    public boolean enqueueTransactionInfoEmail(long transactionId) throws TransactionServiceException, org.apache.thrift.TException;

    public List<Order> getAllOrders(List<OrderStatus> statuses, long from_date, long to_date, long warehouse_id) throws TransactionServiceException, org.apache.thrift.TException;

    /**
     * Returns at most 'limit' orders with the given statuses for the given warehouse starting from the given offset.
     * Pass the status as null and the limit as 0 to ignore them.
     * 
     * @param statuses
     * @param offset
     * @param limit
     * @param warehouse_id
     * @param source
     */
    public List<Order> getOrdersInBatch(List<OrderStatus> statuses, long offset, long limit, long warehouse_id, long source) throws TransactionServiceException, org.apache.thrift.TException;

    /**
     * Returns the count of orders with the given statuses assigned to the given warehouse.
     * 
     * @param statuses
     * @param warehouseId
     * @param source
     */
    public int getOrderCount(List<OrderStatus> statuses, long warehouseId, long source) throws TransactionServiceException, org.apache.thrift.TException;

    /**
     * Returns orders within a range of their billing dates
     * 
     * @param status
     * @param start_billing_date
     * @param end_billing_date
     * @param warehouse_id
     */
    public List<Order> getOrdersByBillingDate(OrderStatus status, long start_billing_date, long end_billing_date, long warehouse_id) throws TransactionServiceException, org.apache.thrift.TException;

    /**
     * Returns orders for a particular provider and warehouse which were shipped between the given dates.
     * Returned orders comprise of COD orders if cod parameter is true. It comprises of prepaid orders otherwise.
     * Pass providerId and warehouseId as -1 to ignore both these parameters.
     * 
     * @param fromShippingDate
     * @param toShippingDate
     * @param providerId
     * @param warehouseId
     * @param cod
     */
    public List<Order> getOrdersByShippingDate(long fromShippingDate, long toShippingDate, long providerId, long warehouseId, boolean cod) throws TransactionServiceException, org.apache.thrift.TException;

    /**
     * Returns order ids for orders which can be returned
     * 
     * @param customer_id
     * @param limit
     */
    public List<Long> getReturnableOrdersForCustomer(long customer_id, long limit) throws TransactionServiceException, org.apache.thrift.TException;

    /**
     * Returns order ids for orders which can be cancelled
     * 
     * @param customer_id
     * @param limit
     */
    public List<Long> getCancellableOrdersForCustomer(long customer_id, long limit) throws TransactionServiceException, org.apache.thrift.TException;

    public boolean changeOrderStatus(long orderId, OrderStatus status, String description) throws TransactionServiceException, org.apache.thrift.TException;

    /**
     * Returns list of orders for given transaction Id. Also filters based on customer Id so that
     * only user who owns the transaction can view its order details.
     * 
     * @param transactionId
     * @param customerId
     */
    public List<Order> getOrdersForTransaction(long transactionId, long customerId) throws TransactionServiceException, org.apache.thrift.TException;

    /**
     * Returns list of orders for the given customer created between the given dates and having the given statuses.
     * Pass and empty list to ignore filtering on statuses.
     * 
     * @param customerId
     * @param from_date
     * @param to_date
     * @param statuses
     */
    public List<Order> getOrdersForCustomer(long customerId, long from_date, long to_date, List<OrderStatus> statuses) throws TransactionServiceException, org.apache.thrift.TException;

    public long createOrder(Order order) throws TransactionServiceException, org.apache.thrift.TException;

    public Order getOrder(long id) throws TransactionServiceException, org.apache.thrift.TException;

    public List<LineItem> getLineItemsForOrder(long orderId) throws TransactionServiceException, org.apache.thrift.TException;

    public List<Order> getOrderList(List<Long> order_ids) throws org.apache.thrift.TException;

    public List<Order> getOrderListForVendor(List<Long> order_ids, long vendorId) throws org.apache.thrift.TException;

    /**
     * Returns an order for the order Id. Also checks if the order belongs to the customer whose Id is passed.
     * Throws exception if either order Id is invalid or order does not below to the customer whose Id is passed.
     * 
     * @param orderId
     * @param customerId
     */
    public Order getOrderForCustomer(long orderId, long customerId) throws TransactionServiceException, org.apache.thrift.TException;

    public List<Alert> getAlerts(long type, long warehouseId, long status, long timestamp) throws org.apache.thrift.TException;

    public void addAlert(long type, long warehouseId, String description) throws org.apache.thrift.TException;

    public void markAlertsAsSeen(long warehouseId) throws org.apache.thrift.TException;

    /**
     * Return the number of valid orders. (OrderStatus >= OrderStatus.SUBMITTED_FOR_PROCESSING)
     */
    public long getValidOrderCount() throws org.apache.thrift.TException;

    /**
     * Returns the number of distinct customers who have done successful transactions
     */
    public long getNoOfCustomersWithSuccessfulTransaction() throws org.apache.thrift.TException;

    /**
     * Returns the minimum and maximum amounts of a valid order. (OrderStatus >= OrderStatus.SUBMITTED_FOR_PROCESSING)
     * List contains two values, first minimum amount and second maximum amount.
     */
    public List<Double> getValidOrdersAmountRange() throws org.apache.thrift.TException;

    /**
     * Returns list of Orders in descending order by Order creation date. List is restricted to limit Orders.
     * If limit is passed as 0, then all valid Orders are returned.
     * 
     * @param limit
     * @param onlyStore
     */
    public List<Order> getValidOrders(long limit, boolean onlyStore) throws org.apache.thrift.TException;

    /**
     * Create a batch of all the pending orders for the given warehouse.
     * The returned list is orderd by created_timestamp.
     * If there are no pending orders, an empty list is returned.
     * 
     * @param warehouseId
     */
    public List<Order> batchOrders(long warehouseId) throws TransactionServiceException, org.apache.thrift.TException;

    /**
     * Mark the given order as out of stock. Throws an exception if the order with the given Id couldn't be found.
     * 
     * @param orderId
     */
    public boolean markOrderAsOutOfStock(long orderId) throws TransactionServiceException, org.apache.thrift.TException;

    /**
     * Marks the given order as SUBMITTED_FOR_PROCESSING and updates the verified
     * timestamp. It is intended to be used for COD orders but can be harmlessly
     * used for all other orders as well.
     * Throws an exception if no such order exists.
     * 
     * @param orderId
     */
    public boolean verifyOrder(long orderId) throws TransactionServiceException, org.apache.thrift.TException;

    /**
     * Marks the given order as ACCEPTED and updates the accepted timestamp. If the
     * given order is not a COD order, it also captures the payment if the same has
     * not been captured.
     * Throws an exception if no such order exists.
     * 
     * @param orderId
     */
    public boolean acceptOrder(long orderId) throws TransactionServiceException, org.apache.thrift.TException;

    public boolean unacceptOrder(long orderId) throws org.apache.thrift.TException;

    /**
     * Add billing details such as the bill number and the biller to the Order.
     * Adds jacket number, item number and Serial no. to the order. Doesn't update
     * the IMEI no. if a -1 is supplied.
     * Also, it generates an invoice number for the order, marks the order as
     * BILLED and sets the billing timestamp.
     * Returns false if it doesn't find the order with the given ID.
     * 
     * @param orderId
     * @param invoice_number
     * @param serialNumber
     * @param itemNumber
     * @param freebieWarehouseId
     * @param billed_by
     * @param jacketNumber
     * @param billingType
     * @param fulfilmentWarehouseId
     * @param authorize
     */
    public boolean addBillingDetails(long orderId, String invoice_number, List<String> serialNumber, List<String> itemNumber, long freebieWarehouseId, String billed_by, long jacketNumber, long billingType, long fulfilmentWarehouseId, boolean authorize) throws TransactionServiceException, org.apache.thrift.TException;

    /**
     * Add the invoice number to the order.
     * 
     * @param orderId
     * @param invoiceNumber
     * @param color
     * @param serialNumber
     * @param itemNumber
     */
    public void addInvoiceNumber(long orderId, String invoiceNumber, String color, String serialNumber, String itemNumber) throws TransactionServiceException, org.apache.thrift.TException;

    /**
     * Depending on the third parameter, marks either all prepaid or all cod orders BILLED by the
     * given warehouse and were picked up by the given provider as SHIPPED_FROM_WH.
     * 
     * @param warehouseId
     * @param providerId
     * @param cod
     * @param orderIds
     */
    public boolean markOrdersAsShippedFromWarehouse(long warehouseId, long providerId, boolean cod, List<Long> orderIds) throws TransactionServiceException, org.apache.thrift.TException;

    public boolean markOrdersAsReturnedFromStore(long providerId, List<Long> orderIds, List<String> awbs) throws TransactionServiceException, org.apache.thrift.TException;

    /**
     * Marks all SHIPPED_FROM_WH orders of the previous day for a provider as SHIPPED_TO_LOGISTICS.
     * Raises an exception if we encounter report for an AWB number that we did not ship.
     * 
     * @param providerId
     * @param pickupDetails
     */
    public void markOrdersAsPickedUp(long providerId, Map<String,String> pickupDetails) throws TransactionServiceException, org.apache.thrift.TException;

    /**
     * Returns a list of orders that were shipped from warehouse but did not appear in the pick-up report.
     * 
     * @param providerId
     */
    public List<Order> getOrdersNotPickedUp(long providerId) throws org.apache.thrift.TException;

    /**
     * Marks all orders with AWBs in the given map as delivered. Also sets the delivery timestamp and
     * the name of the receiver.
     * Raises an exception if we encounter report for an AWB number that we did not ship.
     * 
     * @param providerId
     * @param deliveredOrders
     */
    public void markOrdersAsDelivered(long providerId, Map<String,String> deliveredOrders) throws TransactionServiceException, org.apache.thrift.TException;

    /**
     * Mark all orders with AWBs in the given map as RTO. Also sets the delivery timestamp.
     * Raises an exception if we encounter report for an AWB number that we did not ship.
     * 
     * @param providerId
     * @param returnedOrders
     */
    public void markAsRTOrders(long providerId, Map<String,String> returnedOrders) throws TransactionServiceException, org.apache.thrift.TException;

    /**
     * Returns a list of orders that were returned by courier.
     * 
     * @param providerId
     */
    public List<Order> getRTOrders(long providerId) throws org.apache.thrift.TException;

    /**
     * Update the status description of orders whose AWB numbers are keys of the Map.
     * 
     * @param providerId
     * @param undeliveredOrders
     */
    public void updateNonDeliveryReason(long providerId, Map<String,String> undeliveredOrders) throws TransactionServiceException, org.apache.thrift.TException;

    /**
     * Returns a list of orders that were picked up or shipped four days ago but did not get delivered.
     * 
     * @param providerId
     */
    public List<Order> getNonDeliveredOrdersbyCourier(long providerId) throws org.apache.thrift.TException;

    /**
     * Mark all orders with AWBs in the given map as local connected. Also sets the local connected timestamp.
     * 
     * @param providerId
     * @param local_connected_orders
     */
    public void markOrdersAsLocalConnected(long providerId, Map<String,String> local_connected_orders) throws TransactionServiceException, org.apache.thrift.TException;

    /**
     * Returns a list of orders that were picked up or shipped but pending local connection.
     * 
     * @param providerId
     */
    public List<Order> getOrdersNotLocalConnected(long providerId) throws org.apache.thrift.TException;

    /**
     * Mark all orders with AWBs in the given map as reached destination city. Also sets the reached destination timestamp.
     * 
     * @param providerId
     * @param destination_city_reached_orders
     */
    public void markOrdersAsDestinationCityReached(long providerId, Map<String,String> destination_city_reached_orders) throws TransactionServiceException, org.apache.thrift.TException;

    /**
     * Mark all orders with AWBs in the given map as first delivery attempt made. Also sets the first delivery attempted timestamp.
     * 
     * @param providerId
     * @param first_atdl_orders
     */
    public void markOrdersAsFirstDeliveryAttempted(long providerId, Map<String,String> first_atdl_orders) throws TransactionServiceException, org.apache.thrift.TException;

    /**
     * Returns the list of orders whose delivery time has passed but have not been
     * delivered yet for the given provider and warehouse. To get a complete list of
     * undelivered orders, pass them as -1.
     * Returns an empty list if no such orders exist.
     * 
     * @param providerId
     * @param warehouseId
     */
    public List<Order> getUndeliveredOrders(long providerId, long warehouseId) throws org.apache.thrift.TException;

    /**
     * Returns the list of orders whose expected delivery date has passed but have not been
     * delivered yet.
     * Returns an empty list if no such orders exist.
     */
    public List<Order> getUndeliveredOrdersExpectedDeliveryDateNotMet() throws org.apache.thrift.TException;

    /**
     * Toggle the DOA flag of an order. This should be used to flag an order for follow-up and unflag it when the follow-up is complete.
     * Returns the final flag status.
     * Throws an exception if the order with the given id couldn't be found or if the order status is not DELVIERY_SUCCESS.
     * 
     * @param orderId
     */
    public boolean toggleDOAFlag(long orderId) throws TransactionServiceException, org.apache.thrift.TException;

    public void markOrderAsDelivered(long orderId, long deliveryTimestamp, String receiver) throws TransactionServiceException, org.apache.thrift.TException;

    public void markOrderAsReceivedAtStore(long orderId, long deliveryTimestamp) throws TransactionServiceException, org.apache.thrift.TException;

    /**
     * Once user raise the request for a DOA, order status will be changed from DELVIERY_SUCCESS to DOA_REQUEST_RECEIVED
     * 
     * @param orderId
     */
    public boolean markOrderDoaRequestReceived(long orderId) throws TransactionServiceException, org.apache.thrift.TException;

    /**
     * CRM person can authorize or deny the request reised by customer. If he authorizes order will change from DOA_REQUEST_RECEIVED
     * to DOA_REQUEST_AUTHORIZED. If he denies, status will be changed back to DELVIERY_SUCCESS.
     * 
     * @param orderId
     * @param isAuthorized
     * @param fromStore
     * @param isReship
     */
    public boolean markOrderDoaRequestAuthorized(long orderId, boolean isAuthorized, boolean fromStore, boolean isReship) throws TransactionServiceException, org.apache.thrift.TException;

    /**
     * Once user raise the request for a RET, order status will be changed from DELVIERY_SUCCESS to RET_REQUEST_RECEIVED
     * 
     * @param orderId
     */
    public boolean markOrderReturnRequestReceived(long orderId) throws TransactionServiceException, org.apache.thrift.TException;

    /**
     * CRM person can authorize or deny the request reised by customer. If he authorizes order will change from RET_REQUEST_RECEIVED
     * to RET_REQUEST_AUTHORIZED. If he denies, status will be changed back to DELVIERY_SUCCESS.
     * 
     * @param orderId
     * @param isAuthorized
     * @param fromStore
     * @param isReship
     */
    public boolean markOrderReturnRequestAuthorized(long orderId, boolean isAuthorized, boolean fromStore, boolean isReship) throws TransactionServiceException, org.apache.thrift.TException;

    /**
     * Sends out an email to the account manager of the original courier provider used to ship the order.
     * If the order status was DELIVERY_SUCCESS, it is changed to be DOA_PICKUP_REQUEST_RAISED.
     * If the order status was DOA_PICKUP_REQUEST_RAISED, it is left unchanged.
     * For any other status, it returns false.
     * Throws an exception if the order with the given id couldn't be found.
     * 
     * @param orderId
     * @param providerId
     */
    public boolean requestPickupNumber(long orderId, long providerId) throws TransactionServiceException, org.apache.thrift.TException;

    /**
     * If the order status is DOA_PICKUP_REQUEST_RAISED, it does the following
     *  1. Sends out an email to the customer with the dispatch advice that he has to print as an attachment.
     *  2. Changes order status to be DOA_PICKUP_AUTHORIZED.
     *  3. Returns true
     * If the order is in any other status, it returns false.
     * Throws an exception if the order with the given id couldn't be found.
     * 
     * @param orderId
     * @param pickupNumber
     * @param providerId
     */
    public boolean authorizePickup(long orderId, String pickupNumber, long providerId) throws TransactionServiceException, org.apache.thrift.TException;

    /**
     * Marks all DOA_PICKUP_AUTHORIZED orders of the previous day for a provider as DOA_RETURN_IN_TRANSIT.
     * 
     * @param providerId
     * @param pickupDetails
     */
    public void markDoasAsPickedUp(long providerId, Map<String,String> pickupDetails) throws org.apache.thrift.TException;

    /**
     * Returns a list of orders that were authorized for pickup but did not appear in the pick-up report.
     * 
     * @param providerId
     */
    public List<Order> getDoasNotPickedUp(long providerId) throws org.apache.thrift.TException;

    /**
     * Marks all RET_PICKUP_CONFIRMED orders of the previous day for a provider as RET_RETURN_IN_TRANSIT.
     * 
     * @param providerId
     * @param pickupDetails
     */
    public void markReturnOrdersAsPickedUp(long providerId, Map<String,String> pickupDetails) throws org.apache.thrift.TException;

    /**
     * Returns a list of orders that were authorized for pickup but did not appear in the pick-up report.
     * 
     * @param providerId
     */
    public List<Order> getReturnOrdersNotPickedUp(long providerId) throws org.apache.thrift.TException;

    /**
     * If the order status is DOA_PICKUP_CONFIRMED or DOA_RETURN_IN_TRANSIT, marks the order status as DOA_RECEIVED_PRESTINE and returns true.
     * If the order status is RTO_IN_TRANSIT, marks the order status as RTO_RECEIVED_PRESTINE and returns true.
     * If the order is in any other state, it returns false.
     * Throws an exception if the order with the given id couldn't be found.
     * 
     * @param orderId
     * @param receiveCondition
     * @param receiveFreebie
     * @param serialNumbers
     */
    public boolean receiveReturn(long orderId, long receiveCondition, boolean receiveFreebie, String serialNumbers) throws TransactionServiceException, org.apache.thrift.TException;

    /**
     * Used to validate the DOA certificate for an order in the DOA_RECEIVED_PRESTINE state. If the certificate is valid,
     * the order state is changed to DOA_CERT_VALID. If the certificate is invalid, the order state is changed to DOA_CERT_INVALID.
     * If the order is in any other state, it returns false.
     * Throws an exception if the order with the given id couldn't be found.
     * 
     * @param orderId
     * @param isValid
     */
    public boolean validateDoa(long orderId, boolean isValid) throws TransactionServiceException, org.apache.thrift.TException;

    public boolean validateReturnProduct(long orderId, boolean isUsable) throws TransactionServiceException, org.apache.thrift.TException;

    /**
     * If the order is in RTO_RECEIVED_PRESTINE or DOA_CERT_INVALID state, it does the following:
     *  1. Creates a new order for processing in the BILLED state. All billing information is saved.
     *  2. Marks the current order as one of the final states RTO_RESHIPPED and DOA_INVALID_RESHIPPED depending on what state the order started in.
     *  
     * If the order is in DOA_CERT_VALID state, it does the following:
     *  1. Creates a new order for processing in the SUBMITTED_FOR_PROCESSING state.
     *  2. Creates a return order for the warehouse executive to return the DOA material.
     *  3. Marks the current order as the final DOA_VALID_RESHIPPED state.
     * 
     * Returns the id of the newly created order.
     * 
     * Throws an exception if the order with the given id couldn't be found.
     * 
     * @param orderId
     */
    public long reshipOrder(long orderId) throws TransactionServiceException, org.apache.thrift.TException;

    /**
     * If the order is in RTO_RECEIVED_PRESTINE, DOA_CERT_VALID or DOA_CERT_INVALID state, it does the following:
     *  1. Creates a refund request for batch processing.
     *  2. Creates a return order for the warehouse executive to return the shipped material.
     *  3. Marks the current order as RTO_REFUNDED, DOA_VALID_REFUNDED or DOA_INVALID_REFUNDED final states.
     * 
     * If the order is in SUBMITTED_FOR_PROCESSING or INVENTORY_LOW state, it does the following:
     *  1. Creates a refund request for batch processing.
     *  2. Cancels the reservation of the item in the warehouse.
     *  3. Marks the current order as the REFUNDED final state.
     * 
     * For all COD orders, if the order is in INIT, SUBMITTED_FOR_PROCESSING or INVENTORY_LOW state, it does the following:
     *  1. Cancels the reservation of the item in the warehouse.
     *  2. Marks the current order as CANCELED.
     *  
     * In all cases, it updates the reason for cancellation or refund and the person who performed the action.
     *  
     * Returns True if it is successful, False otherwise.
     * 
     * Throws an exception if the order with the given id couldn't be found.
     * 
     * @param orderId
     * @param refundedBy
     * @param reason
     */
    public boolean refundOrder(long orderId, String refundedBy, String reason) throws TransactionServiceException, org.apache.thrift.TException;

    /**
     * Get all return orders created between the from and to dates for the given warehouse.
     * Ignores the warehouse if it is passed as -1.
     * 
     * @param warehouseId
     * @param fromDate
     * @param toDate
     */
    public List<ReturnOrder> getReturnOrders(long warehouseId, long fromDate, long toDate) throws org.apache.thrift.TException;

    /**
     * Get all return orders created between the from and to dates.
     * 
     * @param onlyNotProcessed
     * @param fromDate
     * @param toDate
     */
    public List<ReturnOrder> getAllReturnOrders(boolean onlyNotProcessed, long fromDate, long toDate) throws org.apache.thrift.TException;

    /**
     * Returns the ReturnOrder corresponding to the given id.
     * Throws an exception if the return order with the given id couldn't be found.
     * 
     * @param id
     */
    public ReturnOrder getReturnOrder(long id) throws TransactionServiceException, org.apache.thrift.TException;

    /**
     * Marks the return order with the given id as processed. Raises an exception if no such return order exists.
     * 
     * @param returnOrderId
     */
    public void processReturn(long returnOrderId) throws TransactionServiceException, org.apache.thrift.TException;

    /**
     * Set the weight of the given order to the provided value. Will attempt to update the weight of the item in the catalog as well.
     * 
     * @param orderId
     * @param weight
     */
    public Order updateWeight(long orderId, double weight) throws TransactionServiceException, org.apache.thrift.TException;

    /**
     * Change the item to be shipped for this order. Also adjusts the reservation in the inventory accordingly.
     * Currently, it also ensures that only a different color of the given item is shipped.
     * 
     * @param orderId
     * @param itemId
     */
    public Order changeItem(long orderId, long itemId) throws TransactionServiceException, org.apache.thrift.TException;

    public Order changeCourierProvider(long orderId, long providerId) throws TransactionServiceException, org.apache.thrift.TException;

    /**
     * Moves the given order to the given warehouse. Also adjusts the inventory reservations accordingly.
     * 
     * @param orderId
     * @param warehouseId
     */
    public Order shiftToWarehouse(long orderId, long warehouseId) throws TransactionServiceException, org.apache.thrift.TException;

    /**
     * Adds the given delay reason to the given order.
     * Increases the expected delivery time of the given order by the given no. of days.
     * Raises an exception if no order with the given id can be found.
     * 
     * @param orderId
     * @param delayReason
     * @param furtherDelay
     * @param delayReasonText
     */
    public boolean addDelayReason(long orderId, DelayReason delayReason, long furtherDelay, String delayReasonText) throws TransactionServiceException, org.apache.thrift.TException;

    /**
     * Marks the COD orders with given AWB nos. as having been processed.
     * Updates the captured amount for the corresponding payment.
     * 
     * Returns a map of AWBs which were not processed and the associated reason. An AWB is not processed if:
     * 1. There is no order corresponding to an AWB number.
     * 2. The captured amount for a payment exceeds the total payment.
     * 3. The order corresponding to an AWB no. is in a state prior to DELIVERY_SUCCESS.
     * 
     * @param collectedAmountMap
     * @param xferBy
     * @param xferTxnId
     * @param xferDate
     */
    public Map<String,String> reconcileCodCollection(Map<String,Double> collectedAmountMap, String xferBy, String xferTxnId, long xferDate) throws TransactionServiceException, org.apache.thrift.TException;

    /**
     * Returns the list of transaction ids that require some extra processing and
     * which belong to a particular category. This is currently used by CRM
     * application. If no such transaction ids are present, it returns an empty list.
     * 
     * @param category
     */
    public List<Long> getTransactionsRequiringExtraProcessing(ExtraTransactionProcessingType category) throws org.apache.thrift.TException;

    /**
     * Marks a particular transaction as processed for a particular cateogory.
     * It essentially deletes the transaction id record for a particular
     * processing type category (if present) from DB.
     * This is currently used by CRM application.
     * 
     * @param transactionId
     * @param category
     */
    public void markTransactionAsProcessed(long transactionId, ExtraTransactionProcessingType category) throws org.apache.thrift.TException;

    /**
     * Returns a map containing the number of risky orders keyed by item id. A risky order
     * is defined as one whose shipping date is about to expire.
     */
    public Map<Long,Long> getItemWiseRiskyOrdersCount() throws org.apache.thrift.TException;

    /**
     * Returns a list of all orders which have items with given id
     * 
     * @param itemIds
     */
    public List<Order> getOrdersForItemIds(List<Long> itemIds) throws org.apache.thrift.TException;

    /**
     * Mark order as cancellation request received. If customer sends request of cancellation of
     * a particular order, this method will be called. It will just change status of the order
     * depending on its current status. It also records the previous status, so that we can move
     * back to that status if cancellation request is denied.
     * 
     * @param orderId
     */
    public void markOrderCancellationRequestReceived(long orderId) throws TransactionServiceException, org.apache.thrift.TException;

    /**
     * If we decide to to cancel order, CRM will call this method to move the status of order to
     * cancellation request confirmed. After this OM will be able to cancel the order.
     * 
     * @param orderId
     */
    public void markOrderCancellationRequestConfirmed(long orderId) throws TransactionServiceException, org.apache.thrift.TException;

    /**
     * If we decide to not to cancel order, we will move the order ro previous status.
     * 
     * @param orderId
     */
    public void markOrderCancellationRequestDenied(long orderId) throws TransactionServiceException, org.apache.thrift.TException;

    /**
     * If we and/or payment gateway has decided to accept the payment, this method needs to be called.
     * Changed transaction and all orders status to payment accepted.
     * 
     * @param transactionId
     */
    public void markTransactionAsPaymentFlagRemoved(long transactionId) throws TransactionServiceException, org.apache.thrift.TException;

    /**
     * This method is called when a flagged payment is deemed unserviceable and the corresponding orders
     * need to be cancelled
     * 
     * @param transactionId
     * @param refundedBy
     * @param reason
     */
    public void refundTransaction(long transactionId, String refundedBy, String reason) throws TransactionServiceException, org.apache.thrift.TException;

    /**
     * Updates shipment address of an order. Delivery and shipping date estimates
     * etc. are also updated here.
     * 
     * Throws TransactionServiceException in case address change is not
     * possible due to certain reasons such as new pincode in address is
     * not serviceable etc.
     * 
     * @param orderId
     * @param addressId
     */
    public void updateShipmentAddress(long orderId, long addressId) throws TransactionServiceException, org.apache.thrift.TException;

    /**
     * Marks the orders as ACCEPTED for the given itemId and inventory. It also updates the accepted timestamp. If the
     * given order is not a COD order, it also captures the payment if the same has not been captured.
     * 
     * @param itemId
     * @param inventory
     */
    public boolean acceptOrdersForItemId(long itemId, long inventory) throws TransactionServiceException, org.apache.thrift.TException;

    public void markOrdersAsPORaised(long vendorId, long itemId, long quantity, long estimate, boolean isReminder) throws TransactionServiceException, org.apache.thrift.TException;

    public void markOrdersAsReversalInitiated(long vendorId, long itemId, long quantity, long estimate, boolean isReminder) throws TransactionServiceException, org.apache.thrift.TException;

    public void markOrdersAsNotAvailabke(long vendorId, long itemId, long quantity, long estimate, boolean isReminder) throws TransactionServiceException, org.apache.thrift.TException;

    public Map<Integer,TimeoutSummary> markOrdersAsTimeout(long vendorId) throws TransactionServiceException, org.apache.thrift.TException;

    /**
     * Mark order as LOST_IN_TRANSIT
     * 
     * @param orderId
     */
    public boolean markOrderAsLostInTransit(long orderId) throws TransactionServiceException, org.apache.thrift.TException;

    /**
     * Returns the order corresponding to an AWB number
     * 
     * @param awb
     */
    public List<Order> getOrderForAwb(String awb) throws TransactionServiceException, org.apache.thrift.TException;

    /**
     * Returns the order corresponding to a logistics provider id for a given list of order status
     * 
     * @param logistics_provider_id
     * @param order_status_list
     */
    public List<Order> getOrdersForProviderForStatus(long logistics_provider_id, List<OrderStatus> order_status_list) throws TransactionServiceException, org.apache.thrift.TException;

    /**
     * Returns list of orders fullfiled from a certain vendor and billed in a given date range
     * 
     * @param vendorId
     * @param billingDateFrom
     * @param billingDateTo
     */
    public List<Order> getBilledOrdersForVendor(long vendorId, long billingDateFrom, long billingDateTo) throws TransactionServiceException, org.apache.thrift.TException;

    public List<Order> getSlippedSippingDateOrders() throws TransactionServiceException, org.apache.thrift.TException;

    public List<Order> getCancelledOrders(long cancelDateFrom, long cancelDateTo) throws TransactionServiceException, org.apache.thrift.TException;

    public void saveBluedartSettlements(Map<Long,Double> mapAWBAndAmount) throws TransactionServiceException, org.apache.thrift.TException;

    public void savePaymentSettlements(long settlementDate, long paymentGatewayId, long referenceId, double serviceTax, double otherCharges, double netCollection) throws TransactionServiceException, org.apache.thrift.TException;

    public void saveEBSSettlementSummary(long settlementId, long settlementDate, long transactionDateFrom, long transactionDateTo, double amount) throws TransactionServiceException, org.apache.thrift.TException;

    public PaymentSettlement getSettlementForPrepaid(long referenceId, boolean isRefund) throws TransactionServiceException, org.apache.thrift.TException;

    public PaymentSettlement getSettlementForCod(long orderId, boolean isRefund) throws TransactionServiceException, org.apache.thrift.TException;

    public Map<Long,String> getEBSSettlementSummaries() throws TransactionServiceException, org.apache.thrift.TException;

    public void markEBSSettlementUploaded(long settlementId) throws TransactionServiceException, org.apache.thrift.TException;

    public long getEBSSettlementDate(long settlementId) throws TransactionServiceException, org.apache.thrift.TException;

    public List<PaymentSettlement> getSettlementsByDate(long settlementDateFrom, long settlementDateTo, boolean isRefund) throws TransactionServiceException, org.apache.thrift.TException;

    /**
     * Returns list of Order Ids, which belong to reshiped orders, shortlisted from a given list of Order Ids
     * 
     * @param orderIds
     */
    public List<Long> getReshippedOrderIds(List<Long> orderIds) throws TransactionServiceException, org.apache.thrift.TException;

    public List<Order> getBilledOrders(long vendorId, boolean onlyVendorNotPaid, long billingDateFrom, long billingDateTo) throws TransactionServiceException, org.apache.thrift.TException;

    public Map<Long,Long> getStatusDistributionOfOrders(long startDate, long endDate) throws TransactionServiceException, org.apache.thrift.TException;

    public List<Long> getOrderIdsForStatus(long status, long startDatetime, long endDatetime) throws TransactionServiceException, org.apache.thrift.TException;

    /**
     * Updates the agent who handled the COD verification call
     * 
     * @param agent
     * @param orderId
     */
    public void updateCODAgent(String agent, long orderId) throws TransactionServiceException, org.apache.thrift.TException;

    public void updateOrderAsPaidToVendor(long orderId) throws TransactionServiceException, org.apache.thrift.TException;

    public void updateOrderOnlyAsPaidToVendor(long orderId) throws TransactionServiceException, org.apache.thrift.TException;

    public List<Order> getRefundedOrdersMarkedPaid() throws TransactionServiceException, org.apache.thrift.TException;

    /**
     * gets all COD Verification Agents for all orderIds from a minId to maxId
     * 
     * 
     * @param minOrderId
     * @param maxOrderId
     */
    public List<CODVerificationAgent> getAllVerificationAgents(long minOrderId, long maxOrderId) throws org.apache.thrift.TException;

    /**
     * gets all attributes for a given orderId
     * 
     * @param orderId
     */
    public List<Attribute> getAllAttributesForOrderId(long orderId) throws org.apache.thrift.TException;

    /**
     * sets attributes for an order
     * 
     * @param orderId
     * @param attributes
     */
    public void setOrderAttributes(long orderId, List<Attribute> attributes) throws org.apache.thrift.TException;

    /**
     * sets attributes for all orders in a transaction
     * 
     * @param transactionId
     * @param attribute
     */
    public void setOrderAttributeForTransaction(long transactionId, Attribute attribute) throws org.apache.thrift.TException;

    public List<Order> getReceivePendingOrders(long storeId) throws org.apache.thrift.TException;

    public List<Order> getReceivedAtStoreOrders(long storeId) throws org.apache.thrift.TException;

    public List<Order> getOrdersCollectionAtStore(long storeId, long fromDate, long toDate, boolean onlyCod) throws org.apache.thrift.TException;

    public String getOrderAttributeValue(long orderId, String attributeName) throws org.apache.thrift.TException;

    public boolean changeJacketNumber(long orderId, long jacketNumber) throws org.apache.thrift.TException;

    public boolean markOrderAsRtoInTransit(long orderId) throws org.apache.thrift.TException;

    /**
     * Accepts appropriate order for an item in a given billingWarehouse. Usually
     * invoked while scanning IN of items.
     * 
     * @param itemId
     * @param quantity
     * @param fulfilmentWarehouseId
     * @param billingWarehouseId
     */
    public void acceptOrderForItem(long itemId, long quantity, long fulfilmentWarehouseId, long billingWarehouseId) throws org.apache.thrift.TException;

    public RechargeOrder createRechargeOrder(RechargeOrder rechargeOrder) throws TransactionServiceException, org.apache.thrift.TException;

    public RechargeOrder getRechargeOrder(long rechargeRrderId) throws TransactionServiceException, org.apache.thrift.TException;

    public List<RechargeOrder> getRechargeOrders(long userId) throws org.apache.thrift.TException;

    public boolean updateRechargeOrderStatus(long rechargeOrderId, RechargeOrderStatus rechargeOrderStatus) throws TransactionServiceException, org.apache.thrift.TException;

    public boolean activateRechargeTxn(long rechargeOrderId) throws TransactionServiceException, org.apache.thrift.TException;

    public UserWallet getUserWallet(long userId) throws org.apache.thrift.TException;

    public List<UserWalletHistory> getUserWalletHistory(long userId) throws org.apache.thrift.TException;

    public List<UserWalletHistory> getLatestUserWalletHistory(long userId, long offset, long limit) throws org.apache.thrift.TException;

    /**
     * Returns a recharge order for a given transactionId
     * 
     * @param txnId
     */
    public RechargeOrder getRechargeOrdersForTransaction(long txnId) throws TransactionServiceException, org.apache.thrift.TException;

    public Map<Long,String> getServiceProviders(RechargeType rechargeType, boolean onlyActive) throws org.apache.thrift.TException;

    public DeviceNumberInfo getServiceProviderForDevice(RechargeType rechargeType, String deviceNumber) throws org.apache.thrift.TException;

    public String validateRecharge(RechargeType rechargeType, String deviceNumber, long userSelectedProviderId, String clientAddress) throws org.apache.thrift.TException;

    public List<RechargeOrder> getRechargeOrdersForDevice(String deviceNumber) throws org.apache.thrift.TException;

    public void creditBatch(long batchId, String userAmount) throws org.apache.thrift.TException;

    public RechargeStatistics getRechargeStatistics() throws org.apache.thrift.TException;

    public List<RechargeOrder> getRechargeOrdersForStatus(long status) throws org.apache.thrift.TException;

    public List<RechargePlan> getPlansForOperator(long operatorId) throws org.apache.thrift.TException;

    /**
     * Returns denominations for a given operator and circle
     * 
     * @param operatorId
     * @param circleCode
     * @param denominationType
     */
    public List<RechargeDenomination> getRechargeDenominations(long operatorId, String circleCode, DenominationType denominationType) throws TransactionServiceException, org.apache.thrift.TException;

    public void updateAvailabilityStatus(long operatorId, long circleId, boolean isAvailable) throws org.apache.thrift.TException;

    public List<EmiScheme> getAvailableEmiSchemes() throws org.apache.thrift.TException;

    public Map<Long,Double> getMiscCharges(long transactionId) throws org.apache.thrift.TException;

    public boolean refundRechargeOrder(long rechargeOrderId) throws TransactionServiceException, org.apache.thrift.TException;

    public List<Order> getPhysicalOrders(long fromDate, long toDate) throws org.apache.thrift.TException;

    public ByteBuffer getDocument(long docType, long docSource) throws org.apache.thrift.TException;

    public boolean changeShippingAddress(long orderId, String line1, String line2, String city, String state, String pin) throws org.apache.thrift.TException;

    public ByteBuffer retrieveInvoice(long orderId, long userId) throws org.apache.thrift.TException;

    public List<String> receiveUpdatesForRedExpress(String awbNumber) throws org.apache.thrift.TException;

    public RechargeTransaction createRechargeTransaction(RechargeTransaction thriftRechargeTransaction) throws org.apache.thrift.TException;

    public List<RechargeTransaction> getRechargeTransactions(long storeId) throws org.apache.thrift.TException;

    public List<RechargeTransaction> getRechargeTrans(long storeId, long startDate, long endDate, RechargeOrderStatus status) throws org.apache.thrift.TException;

    public RechargeTransaction getRechargeTransaction(long rechargeId) throws org.apache.thrift.TException;

    public List<FRC> getFRCs(long circleId, long operatorId) throws org.apache.thrift.TException;

    public HotspotStore getHotspotStore(long id, String hotspotid) throws org.apache.thrift.TException;

    public TelecomCircle getTelecomCircle(long id, String code) throws org.apache.thrift.TException;

    public ByteBuffer retrieveHotspotRechargeInvoice(long rechargeId) throws org.apache.thrift.TException;

    public Order splitFreebieOrder(long orderId, String splitReason, long shippingDate) throws org.apache.thrift.TException;

    public List<RechargeTransaction> getRechargeTransactionsByNumber(String number, long storeId) throws org.apache.thrift.TException;

    public boolean updateHotspotStorePassword(long storeId, String password) throws org.apache.thrift.TException;

    public long topupCompanyWallet(long companyId, long amount) throws org.apache.thrift.TException;

    public long getWalletBalanceForCompany(long companyId) throws org.apache.thrift.TException;

    public long getSaholicRechargeBalance() throws org.apache.thrift.TException;

    public SourceDetail getSourceDetail(long source) throws org.apache.thrift.TException;

    public List<TelecomCircle> getAllCircles() throws org.apache.thrift.TException;

    public boolean deleteFrcs(List<Long> frcIdsToDelete) throws org.apache.thrift.TException;

    public void addAmazonOrder(AmazonOrder amazonOrder) throws org.apache.thrift.TException;

    public boolean updateAmazonOrderStatus(long orderId, String status) throws org.apache.thrift.TException;

    public List<Order> getAmazonOrdersShipped() throws org.apache.thrift.TException;

    public List<Order> getAmazonOrdersCancelled(long interval) throws org.apache.thrift.TException;

    public AmazonOrder getAmazonOrder(long orderId) throws org.apache.thrift.TException;

    public List<AmazonOrder> getAmazonOrderByAmazonOrderId(String amazonOrderId) throws org.apache.thrift.TException;

    public List<Order> getOrdersForStore(long id, long storeId, long startDate, long endDate, List<OrderStatus> statuses) throws org.apache.thrift.TException;

    public ByteBuffer getStoreOrderAdvanceInvoice(long orderId, long storeId) throws org.apache.thrift.TException;

    public boolean addFrc(long circleId, long operatorId, long denomination, long maxDiscount) throws org.apache.thrift.TException;

    public String addSeries(long circle, long operatorId, long series) throws org.apache.thrift.TException;

    public boolean saveStoreOrderDetail(StoreOrderDetail storeOrderDetail) throws org.apache.thrift.TException;

    public StoreOrderDetail getStoreOrderDetail(long orderId, long storeId) throws org.apache.thrift.TException;

    public List<String> getAllEdcBanks() throws org.apache.thrift.TException;

    public boolean saveRefundAmountsForStoreOrder(long orderId, long storeId, double cashRefundAmount, double cardRefundAmount) throws org.apache.thrift.TException;

    public List<StoreOrderCollection> getCollectionsForStore(long storeId, long startDate, long endDate) throws org.apache.thrift.TException;

    public List<AmazonOrdersToAcknowledge> getAmazonOrdersToAcknowledge(OrderSource source) throws org.apache.thrift.TException;

    public void changeAmazonOrderStatus(String amazonOrderCode, String status) throws org.apache.thrift.TException;

    public boolean updateTimestampForAmazonOrder(Map<Long,Map<String,String>> amazonOrderDelivery) throws org.apache.thrift.TException;

    public boolean updateSourceDetailTimestamp(long id, long lastUpdatedOn) throws org.apache.thrift.TException;

    public List<Order> getOrdersByMobileNumber(String mobileNumber) throws org.apache.thrift.TException;

    public List<Order> getOrdersByAmazonOrderCode(String amazonId) throws org.apache.thrift.TException;

    public boolean convertStoreToNormal(long orderId) throws org.apache.thrift.TException;

    public Order updateFreebieItem(long orderId, long newFreebieItemId) throws org.apache.thrift.TException;

    public List<HotspotServiceMatrix> getHotspotServiceMatrices() throws org.apache.thrift.TException;

    public Order updateOrderAWB(long orderId, String airwayBillNo) throws org.apache.thrift.TException;

    public List<Order> getOrdersByVendor(List<Long> vendors, List<OrderStatus> statuses) throws TransactionServiceException, org.apache.thrift.TException;

    public void createEbayOrder(EbayOrder ebayOrder) throws org.apache.thrift.TException;

    public EbayOrder getEbayOrderByOrderId(long orderId) throws org.apache.thrift.TException;

    public EbayOrder getEbayOrderBySalesRecNumber(long salesRecordNumber) throws org.apache.thrift.TException;

    public List<EbayOrder> getEbayOrder(long salesRecordNumber, String listingId, String paisapayId) throws org.apache.thrift.TException;

    public void updateEbayOrder(EbayOrder ebayOrder) throws org.apache.thrift.TException;

    public boolean ebayOrderExists(long salesRecNumber, String ebayListingId) throws org.apache.thrift.TException;

    public void updateOrderForEbay(Order order) throws org.apache.thrift.TException;

    public Order splitEbayOrder(long orderId, long splitOrderQty, long splitOrderItemId, boolean usePowerShip) throws org.apache.thrift.TException;

    public void addOrUpdateAmazonFbaSalesSnapshot(AmazonFbaSalesSnapshot amazonfbasalessnapshot) throws org.apache.thrift.TException;

    public List<AmazonFbaSalesSnapshot> getAmazonFbaSalesSnapshotForDays(int days) throws org.apache.thrift.TException;

    public AmazonFbaSalesSnapshot getAmazonFbaSalesLatestSnapshotForItem(long item_id) throws org.apache.thrift.TException;

    public void createSnapdealOrder(SnapdealOrder snapdealOrder) throws org.apache.thrift.TException;

    public List<SnapdealOrder> getSnapdealOrder(long orderId, String referenceCode, String subrderId) throws org.apache.thrift.TException;

    public boolean snapdealOrderExists(String subOrderId, String referenceCode) throws org.apache.thrift.TException;

    public void updateLatestFbaPricesForItem(FbaItemPrices fbaitemprices) throws org.apache.thrift.TException;

    public boolean flipkartOrderExists(String flipkartOrderId, String flipkartSubOrderId) throws org.apache.thrift.TException;

    public void createFlipkartOrder(FlipkartOrder flipkartOrder) throws org.apache.thrift.TException;

    public FlipkartOrder getFlipkartOrder(long orderId) throws org.apache.thrift.TException;

    public FlipkartOrder getFlipkartOrderByOrderItemId(String flipkartOrderItemId) throws org.apache.thrift.TException;

    public void updateFlipkartOrderDatesAndAWB(String flipkartOrderId, String flipkartSubOrderId, long date, String awb) throws org.apache.thrift.TException;

    public Map<Long,Long> getOrdersCreatedAfterTimestampForSource(long timestamp, long source) throws org.apache.thrift.TException;

    public List<Order> getOrderForAirwayBillNo(String airwaybillNo) throws TransactionServiceException, org.apache.thrift.TException;

    public long getMinCreatedTimeStampUndeliveredOrdersForSource(int source) throws org.apache.thrift.TException;

    public void updateSnapdealOrdersStatus(Map<String,List<List<String>>> orders) throws TransactionServiceException, org.apache.thrift.TException;

    public void updateFlipkartOrdersStatus(List<List<String>> delivered_orders) throws TransactionServiceException, org.apache.thrift.TException;

    public void bulkAddOrUpdateAmazonFbaSalesSnapshot(List<AmazonFbaSalesSnapshot> amazonfbasalessnapshotlist) throws org.apache.thrift.TException;

    public Map<Long,Long> getCreatedOrdersForFlipkart(List<String> flipkartorderids) throws org.apache.thrift.TException;

    public boolean isPrivateDealTransaction(long transactionId) throws org.apache.thrift.TException;

    public AmazonFbaSalesSnapshot getAmazonFbaSalesLatestSnapshotForItemLocationWise(long item_id, long location) throws org.apache.thrift.TException;

    public boolean changeEasyshipMfnOrderTxnStatus(long transactionId, TransactionStatus status, String description, long pickUp, OrderType orderType, OrderSource source, long shipTimestamp, long deliveryTimeStamp) throws TransactionServiceException, org.apache.thrift.TException;

    public void updateAmazonFbaOrdersReturns(List<AmazonFbaOrderReturns> fbaOrderReturns) throws TransactionServiceException, org.apache.thrift.TException;

    public List<AmazonFbaOrderReturns> getAllAmazonFbaOrderReturnsByCurrentTime(long insertionTimestamp) throws TransactionServiceException, org.apache.thrift.TException;

    public Map<Long,Map<String,Long>> getTotalSaleReturnsFbaSkusCurentTime(long insertionTimestamp) throws TransactionServiceException, org.apache.thrift.TException;

    public List<FlipkartOrder> getVerificationPendingOrdersFK() throws TransactionServiceException, org.apache.thrift.TException;

    public FlipkartAdvantageOrder getFAOrderByFkOrderId(String fkOrderId, String fkOrderItemId) throws TransactionServiceException, org.apache.thrift.TException;

    public List<FlipkartAdvantageOrder> getAllFAOrdersList(String status) throws TransactionServiceException, org.apache.thrift.TException;

    public void addUpdateFaOrdersBulk(List<FlipkartAdvantageOrder> faOrdersList) throws TransactionServiceException, org.apache.thrift.TException;

    public void addInvoiceDetailsToOrders(long transactionId, long customerId) throws TransactionServiceException, org.apache.thrift.TException;

    public boolean flipkartFaOrderExists(String fkOrderId, String fkOrderItemId) throws TransactionServiceException, org.apache.thrift.TException;

    public RechargeOrder getRcgOrderStatus(long rechargeOrderId, boolean isFinal) throws org.apache.thrift.TException;

    public RechargeTransaction getRcgTransactionStatus(long rechargeTransactionId, boolean isFinal) throws org.apache.thrift.TException;

    public void bulkAddOrUpdateFlipkartFaSalesSnapshot(List<FlipkartFaSalesSnapshot> flipkartfasalessnapshotlist) throws org.apache.thrift.TException;

    public List<FlipkartFaSalesSnapshot> getFlipkartFaSalesSnapshotForDays(int days) throws org.apache.thrift.TException;

    public FlipkartFaSalesSnapshot getFlipkartFaSalesSnapshotBySkuAndSaleDate(long item_id, long dateOfSale) throws org.apache.thrift.TException;

    public boolean acceptPackageOrders(List<Long> orders) throws TransactionServiceException, org.apache.thrift.TException;

    public List<Order> getGroupOrdersByLogisticsTxnId(String logisticsTxnId) throws TransactionServiceException, org.apache.thrift.TException;

    public boolean addBillingDetailsForGrouppedOrders(List<Long> order_ids, String invoice_number, Map<Long,List<String>> itemNumbersMap, Map<Long,List<String>> serialNumbersMap, Map<Long,List<Long>> freebieWarehouseIdMap, String billed_by, long jacketNumber, long billingType, boolean authorize, String invoiceType) throws TransactionServiceException, org.apache.thrift.TException;

    public String getInvoiceFormatLogisticsTxnId(long transactionId, long shipementSeq) throws TransactionServiceException, org.apache.thrift.TException;

    public void createHomeShopOrder(HsOrder snapdealOrder) throws org.apache.thrift.TException;

    public List<HsOrder> getHomeShopOrder(long orderId, String hsOrderNo, String hsSubOrderNo) throws org.apache.thrift.TException;

    public boolean homeShopOrderExists(String hsOrderNo, String hsSubOrderNo) throws org.apache.thrift.TException;

    public Order splitBulkOrder(long orderId, long splitOrderQty) throws org.apache.thrift.TException;

    public String moveOrdersToCorrectWarehouse() throws org.apache.thrift.TException;

    public Creditor getCreditorInfo(long id, String name) throws org.apache.thrift.TException;

    public boolean updateCreditorInfo(Creditor creditor) throws org.apache.thrift.TException;

    public List<UserSanction> getUserSanctionDetails(long userId) throws org.apache.thrift.TException;

    public UserSanction getUserSanctionDetailsForCreditor(long userId, long creditorId) throws org.apache.thrift.TException;

    public boolean updateUserSanction(UserSanction userSanaction) throws TransactionServiceException, org.apache.thrift.TException;

    public List<CreditHistory> getCreditHistoryRecordsForTransaction(long paymentId, CreditTxnType creditTxnType) throws org.apache.thrift.TException;

    public List<CreditHistory> getCreditHistoryRecordsForUserAndCreditor(long userId, long creditorId, CreditTxnType creditTxnType) throws org.apache.thrift.TException;

    public boolean processCreditTransaction(long paymentId, long userId, long creditorId, List<CreditHistory> creditTxns) throws TransactionServiceException, org.apache.thrift.TException;

    public double getLoanPayableForUserToCreditor(long userId, long creditorId, long dueDate) throws org.apache.thrift.TException;

    public List<LoanHistory> getLoanHistoryRecordsForTransaction(long paymentId, CreditTxnType creditTxnType) throws org.apache.thrift.TException;

    public List<LoanHistory> getLoanHistoryRecordsForUserAndCreditor(long userId, long creditorId, CreditTxnType creditTxnType) throws org.apache.thrift.TException;

    public boolean processLoanTransaction(long paymentId, long userId, long creditorId, List<LoanHistory> creditTxns) throws TransactionServiceException, org.apache.thrift.TException;

    public PaginatedCreditHistory getLimitedCreditHistoryRecords(long paymentId, long userId, long creditorId, long limit, long offset) throws org.apache.thrift.TException;

    public PaginatedLoanHistory getLimitedLoanHistoryRecords(long paymentId, long userId, long creditorId, long limit, long offset) throws org.apache.thrift.TException;

    public PaginatedUserSanction getUserSanctionsDetailsAsPerLimit(long userId, long creditorId, long limit, long offset, String sort) throws org.apache.thrift.TException;

    public List<OutstandingPayments> getOutstandingPayments(String fetchType, long userId, long limit) throws org.apache.thrift.TException;

    public Map<Boolean,String> markPaymentSettled(long userId, long paymentId, double totalAmount, long repaymentDate) throws org.apache.thrift.TException;

    public ReturnOrderInfo getReturnOrderInfo(long id) throws TransactionServiceException, org.apache.thrift.TException;

    public Map<Long,List<ReturnOrderInfo>> getReturnOrderInfoList(List<Long> order_ids) throws org.apache.thrift.TException;

    public Map<Long,List<ReturnOrderInfo>> getReturnOrderInfoListAsByStatus(List<Long> order_ids, List<String> statuses) throws org.apache.thrift.TException;

    public boolean updateReturnOrderInfo(ReturnOrderInfo returnInfo) throws TransactionServiceException, org.apache.thrift.TException;

    public Map<Long,Boolean> bulkUpdateReturnOrderInfo(Map<Long,List<ReturnOrderInfo>> orderReturnInfosMap) throws TransactionServiceException, org.apache.thrift.TException;

    public List<ReturnOrderInfo> getReturnOrdersAsPerWarehouseId(long warehouseId) throws org.apache.thrift.TException;

    public ReturnTransaction createReturnTransaction(ReturnTransaction returnTransaction, String itemCondition, boolean overrideWarranty) throws TransactionServiceException, org.apache.thrift.TException;

    public ReturnTransaction getReturnTransaction(long id) throws TransactionServiceException, org.apache.thrift.TException;

    public List<ReturnOrderInfo> getReturnOrdersForReturnTransaction(long returnTransactionId) throws TransactionServiceException, org.apache.thrift.TException;

    public boolean changeReturnTransactionStatus(long returnTransactionId, ReturnTransactionStatus status, List<Long> returnOrderIds) throws TransactionServiceException, org.apache.thrift.TException;

    public long createReturnPickupRequest(List<Long> returnOrderIds) throws TransactionServiceException, org.apache.thrift.TException;

    public boolean updateReturnPickupRequest(ReturnPickupRequest returnPickupRequest) throws TransactionServiceException, org.apache.thrift.TException;

    public List<ReturnOrderInfo> getAllReturnOrdersForReturnPickupRequest(long logisticsRequestId) throws TransactionServiceException, org.apache.thrift.TException;

    public boolean receiveReturnPickup(Map<Long,Map<String,String>> returnOrdersMap, long id) throws TransactionServiceException, org.apache.thrift.TException;

    public boolean validateReturnPickup(long returnPickupId, Map<Long,Boolean> returnOrdersMap) throws TransactionServiceException, org.apache.thrift.TException;

    public boolean processReturnPickup(long returnPickupId, Map<Long,Map<String,String>> returnOrdersMap) throws TransactionServiceException, org.apache.thrift.TException;

    public boolean markReturnTransactionComplete(long returnTransactionId) throws TransactionServiceException, org.apache.thrift.TException;

    public boolean refundReturnTransactionPayment(Map<Long,Map<String,String>> refundOrdersMap, long returntransactionId) throws TransactionServiceException, org.apache.thrift.TException;

    public List<ReturnTransaction> getReturnTransactionsForCustomer(List<ReturnTransactionStatus> statusList, String customerMobile, String customerEmail, long returnTransactionId, long customerId) throws TransactionServiceException, org.apache.thrift.TException;

    public boolean verifyOrderForTransaction(long transactionId) throws TransactionServiceException, org.apache.thrift.TException;

    /**
     * Returns at most 'limit' orders with the given statuses for the given warehouse starting from the given offset.
     * These orders should be in order of promised shipping time.
     * Pass the status as null and the limit as 0 to ignore them.
     * 
     * @param statuses
     * @param offset
     * @param limit
     * @param warehouse_id
     * @param source
     */
    public List<Order> getOrdersInBatchAsPromisedShipping(List<OrderStatus> statuses, long offset, long limit, long warehouse_id, long source) throws TransactionServiceException, org.apache.thrift.TException;

    /**
     * sets attributes for all orders in a Master Order Id or Shipment Id
     * 
     * @param logisticsTransactionId
     * @param attributes
     */
    public void setOrderAttributeForMasterOrderId(String logisticsTransactionId, List<Attribute> attributes) throws org.apache.thrift.TException;

    public boolean updateMasterOrderAWB(String logisticsTransactionId, String airwayBillNo) throws org.apache.thrift.TException;

    public boolean addOrUpdateShipmentLogisticsCostDetails(List<ShipmentLogisticsCostDetail> shipmentLogisticsCostDetails) throws org.apache.thrift.TException;

    public List<Order> getEligibleOrdersForReturn(long customerId, String itemCondition, boolean overrideWarranty) throws org.apache.thrift.TException;

    public List<ReturnOrderInfo> getEligibleReturnOrdersForPickup(long customerId) throws org.apache.thrift.TException;

    public boolean validateReturnTransaction(long customerId, Map<Long,Long> returnOrdersMap, String itemCondition, boolean overrideWarranty) throws org.apache.thrift.TException;

    public List<PendingStoreOrder> getPendingStoreOrders(long storeId) throws org.apache.thrift.TException;

    public SellerInfo getSellerInfo(long sellerId) throws org.apache.thrift.TException;

    public WarehouseAddress getWarehouseAddress(long address_id) throws org.apache.thrift.TException;

    public BuyerInfo getBuyerByWarehouse(long warehouse_id) throws org.apache.thrift.TException;

    public boolean markReturnNotRequiredOrdersProcessed(ReturnOrderInfo returnOrderInfo) throws TransactionServiceException, org.apache.thrift.TException;

    public ReturnPickupRequest getReturnPickupRequest(long returnPickupId) throws org.apache.thrift.TException;

    public ReturnOrderInfo splitReturnOrderInfo(long returnOrderId, long splitOrderQty) throws org.apache.thrift.TException;

    public boolean deleteReturnOrder(long returnOrderId) throws org.apache.thrift.TException;

    public boolean refundReturnOrder(ReturnOrderInfo returnOrderInfo, List<Attribute> attributes) throws org.apache.thrift.TException;

    public List<Long> addShipmentDelay(List<ShipmentDelayDetail> shipmentDelayDetail) throws org.apache.thrift.TException;

    public ShipmentLogisticsCostDetail getCostDetailForLogisticsTxnId(String logisticsTxnId) throws org.apache.thrift.TException;

    public void addShipmentLogisticDetail(ShipmentLogisticsCostDetail shipmentLogisticsCostDetail) throws org.apache.thrift.TException;

    public long createPayment(long userId, long txnId, int gatewayId) throws org.apache.thrift.TException;

    public double calculatePaymentAmount(long txnId) throws org.apache.thrift.TException;

    public List<Order> getBilledOrdersForManifestGen(long warehouse_id, long logistics_provider_id, boolean cod) throws org.apache.thrift.TException;

    public boolean registerRsa(long userId, String activation_code) throws org.apache.thrift.TException;

    public String addSalesAssociate(Pmsa pmsa, String referrerEmail, String l1_userEmail) throws org.apache.thrift.TException;

    public List<Pmsa> searchPmsa(PmsaSearchFilter pmsaSearchFilter, String associateEmail) throws org.apache.thrift.TException;

    public Pmsa getPmsaUser(long id, String associateEmail) throws org.apache.thrift.TException;

    public String updatePmsaUser(Pmsa pmsa, String associateEmail) throws org.apache.thrift.TException;

    public List<Pmsa> getPmsaUsers(String associateEmail) throws org.apache.thrift.TException;

    public List<Pmsa> getPendingAssociates(String associateEmail) throws org.apache.thrift.TException;

    public List<Long> getStatsForAssociates(String associateEmail) throws org.apache.thrift.TException;

    public Pmsa getmypmsaprofile(String associateEmail) throws org.apache.thrift.TException;

    public boolean creditUserWallet(long userId, long amount, double cash_back, String shortDesc) throws org.apache.thrift.TException;

    public List<RechargeOrder> getPaginatedRechargeOrders(long userId, int offset, int limit) throws org.apache.thrift.TException;

    public boolean markOrderForRegisteredGstInvoice(List<Long> tranasction_ids) throws org.apache.thrift.TException;

    public boolean isShipmentCod(String logisticsTransactionId) throws org.apache.thrift.TException;

    public List<Order> getInTransitOrdersOnDate(long closingDate) throws org.apache.thrift.TException;

    public List<Order> getInTransitOrdersOnDateByItemId(long closingDate, long itemId) throws org.apache.thrift.TException;

    public boolean addPriceDrop(long item_id, List<String> imeis, double amount, long affected_on) throws org.apache.thrift.TException;

  }

  public interface AsyncIface extends in.shop2020.generic.GenericService .AsyncIface {

    public void createTransaction(Transaction transaction, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.createTransaction_call> resultHandler) throws org.apache.thrift.TException;

    public void getTransaction(long id, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getTransaction_call> resultHandler) throws org.apache.thrift.TException;

    public void getTransactionsForCustomer(long customerId, long from_date, long to_date, TransactionStatus status, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getTransactionsForCustomer_call> resultHandler) throws org.apache.thrift.TException;

    public void getTransactionsForShoppingCartId(long shoppingCartId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getTransactionsForShoppingCartId_call> resultHandler) throws org.apache.thrift.TException;

    public void getTransactionStatus(long transactionId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getTransactionStatus_call> resultHandler) throws org.apache.thrift.TException;

    public void changeTransactionStatus(long transactionId, TransactionStatus status, String description, long pickUp, OrderType orderType, OrderSource source, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.changeTransactionStatus_call> resultHandler) throws org.apache.thrift.TException;

    public void enqueueTransactionInfoEmail(long transactionId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.enqueueTransactionInfoEmail_call> resultHandler) throws org.apache.thrift.TException;

    public void getAllOrders(List<OrderStatus> statuses, long from_date, long to_date, long warehouse_id, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getAllOrders_call> resultHandler) throws org.apache.thrift.TException;

    public void getOrdersInBatch(List<OrderStatus> statuses, long offset, long limit, long warehouse_id, long source, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getOrdersInBatch_call> resultHandler) throws org.apache.thrift.TException;

    public void getOrderCount(List<OrderStatus> statuses, long warehouseId, long source, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getOrderCount_call> resultHandler) throws org.apache.thrift.TException;

    public void getOrdersByBillingDate(OrderStatus status, long start_billing_date, long end_billing_date, long warehouse_id, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getOrdersByBillingDate_call> resultHandler) throws org.apache.thrift.TException;

    public void getOrdersByShippingDate(long fromShippingDate, long toShippingDate, long providerId, long warehouseId, boolean cod, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getOrdersByShippingDate_call> resultHandler) throws org.apache.thrift.TException;

    public void getReturnableOrdersForCustomer(long customer_id, long limit, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getReturnableOrdersForCustomer_call> resultHandler) throws org.apache.thrift.TException;

    public void getCancellableOrdersForCustomer(long customer_id, long limit, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getCancellableOrdersForCustomer_call> resultHandler) throws org.apache.thrift.TException;

    public void changeOrderStatus(long orderId, OrderStatus status, String description, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.changeOrderStatus_call> resultHandler) throws org.apache.thrift.TException;

    public void getOrdersForTransaction(long transactionId, long customerId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getOrdersForTransaction_call> resultHandler) throws org.apache.thrift.TException;

    public void getOrdersForCustomer(long customerId, long from_date, long to_date, List<OrderStatus> statuses, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getOrdersForCustomer_call> resultHandler) throws org.apache.thrift.TException;

    public void createOrder(Order order, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.createOrder_call> resultHandler) throws org.apache.thrift.TException;

    public void getOrder(long id, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getOrder_call> resultHandler) throws org.apache.thrift.TException;

    public void getLineItemsForOrder(long orderId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getLineItemsForOrder_call> resultHandler) throws org.apache.thrift.TException;

    public void getOrderList(List<Long> order_ids, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getOrderList_call> resultHandler) throws org.apache.thrift.TException;

    public void getOrderListForVendor(List<Long> order_ids, long vendorId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getOrderListForVendor_call> resultHandler) throws org.apache.thrift.TException;

    public void getOrderForCustomer(long orderId, long customerId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getOrderForCustomer_call> resultHandler) throws org.apache.thrift.TException;

    public void getAlerts(long type, long warehouseId, long status, long timestamp, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getAlerts_call> resultHandler) throws org.apache.thrift.TException;

    public void addAlert(long type, long warehouseId, String description, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.addAlert_call> resultHandler) throws org.apache.thrift.TException;

    public void markAlertsAsSeen(long warehouseId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.markAlertsAsSeen_call> resultHandler) throws org.apache.thrift.TException;

    public void getValidOrderCount(org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getValidOrderCount_call> resultHandler) throws org.apache.thrift.TException;

    public void getNoOfCustomersWithSuccessfulTransaction(org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getNoOfCustomersWithSuccessfulTransaction_call> resultHandler) throws org.apache.thrift.TException;

    public void getValidOrdersAmountRange(org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getValidOrdersAmountRange_call> resultHandler) throws org.apache.thrift.TException;

    public void getValidOrders(long limit, boolean onlyStore, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getValidOrders_call> resultHandler) throws org.apache.thrift.TException;

    public void batchOrders(long warehouseId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.batchOrders_call> resultHandler) throws org.apache.thrift.TException;

    public void markOrderAsOutOfStock(long orderId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.markOrderAsOutOfStock_call> resultHandler) throws org.apache.thrift.TException;

    public void verifyOrder(long orderId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.verifyOrder_call> resultHandler) throws org.apache.thrift.TException;

    public void acceptOrder(long orderId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.acceptOrder_call> resultHandler) throws org.apache.thrift.TException;

    public void unacceptOrder(long orderId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.unacceptOrder_call> resultHandler) throws org.apache.thrift.TException;

    public void addBillingDetails(long orderId, String invoice_number, List<String> serialNumber, List<String> itemNumber, long freebieWarehouseId, String billed_by, long jacketNumber, long billingType, long fulfilmentWarehouseId, boolean authorize, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.addBillingDetails_call> resultHandler) throws org.apache.thrift.TException;

    public void addInvoiceNumber(long orderId, String invoiceNumber, String color, String serialNumber, String itemNumber, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.addInvoiceNumber_call> resultHandler) throws org.apache.thrift.TException;

    public void markOrdersAsShippedFromWarehouse(long warehouseId, long providerId, boolean cod, List<Long> orderIds, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.markOrdersAsShippedFromWarehouse_call> resultHandler) throws org.apache.thrift.TException;

    public void markOrdersAsReturnedFromStore(long providerId, List<Long> orderIds, List<String> awbs, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.markOrdersAsReturnedFromStore_call> resultHandler) throws org.apache.thrift.TException;

    public void markOrdersAsPickedUp(long providerId, Map<String,String> pickupDetails, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.markOrdersAsPickedUp_call> resultHandler) throws org.apache.thrift.TException;

    public void getOrdersNotPickedUp(long providerId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getOrdersNotPickedUp_call> resultHandler) throws org.apache.thrift.TException;

    public void markOrdersAsDelivered(long providerId, Map<String,String> deliveredOrders, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.markOrdersAsDelivered_call> resultHandler) throws org.apache.thrift.TException;

    public void markAsRTOrders(long providerId, Map<String,String> returnedOrders, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.markAsRTOrders_call> resultHandler) throws org.apache.thrift.TException;

    public void getRTOrders(long providerId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getRTOrders_call> resultHandler) throws org.apache.thrift.TException;

    public void updateNonDeliveryReason(long providerId, Map<String,String> undeliveredOrders, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.updateNonDeliveryReason_call> resultHandler) throws org.apache.thrift.TException;

    public void getNonDeliveredOrdersbyCourier(long providerId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getNonDeliveredOrdersbyCourier_call> resultHandler) throws org.apache.thrift.TException;

    public void markOrdersAsLocalConnected(long providerId, Map<String,String> local_connected_orders, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.markOrdersAsLocalConnected_call> resultHandler) throws org.apache.thrift.TException;

    public void getOrdersNotLocalConnected(long providerId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getOrdersNotLocalConnected_call> resultHandler) throws org.apache.thrift.TException;

    public void markOrdersAsDestinationCityReached(long providerId, Map<String,String> destination_city_reached_orders, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.markOrdersAsDestinationCityReached_call> resultHandler) throws org.apache.thrift.TException;

    public void markOrdersAsFirstDeliveryAttempted(long providerId, Map<String,String> first_atdl_orders, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.markOrdersAsFirstDeliveryAttempted_call> resultHandler) throws org.apache.thrift.TException;

    public void getUndeliveredOrders(long providerId, long warehouseId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getUndeliveredOrders_call> resultHandler) throws org.apache.thrift.TException;

    public void getUndeliveredOrdersExpectedDeliveryDateNotMet(org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getUndeliveredOrdersExpectedDeliveryDateNotMet_call> resultHandler) throws org.apache.thrift.TException;

    public void toggleDOAFlag(long orderId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.toggleDOAFlag_call> resultHandler) throws org.apache.thrift.TException;

    public void markOrderAsDelivered(long orderId, long deliveryTimestamp, String receiver, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.markOrderAsDelivered_call> resultHandler) throws org.apache.thrift.TException;

    public void markOrderAsReceivedAtStore(long orderId, long deliveryTimestamp, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.markOrderAsReceivedAtStore_call> resultHandler) throws org.apache.thrift.TException;

    public void markOrderDoaRequestReceived(long orderId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.markOrderDoaRequestReceived_call> resultHandler) throws org.apache.thrift.TException;

    public void markOrderDoaRequestAuthorized(long orderId, boolean isAuthorized, boolean fromStore, boolean isReship, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.markOrderDoaRequestAuthorized_call> resultHandler) throws org.apache.thrift.TException;

    public void markOrderReturnRequestReceived(long orderId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.markOrderReturnRequestReceived_call> resultHandler) throws org.apache.thrift.TException;

    public void markOrderReturnRequestAuthorized(long orderId, boolean isAuthorized, boolean fromStore, boolean isReship, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.markOrderReturnRequestAuthorized_call> resultHandler) throws org.apache.thrift.TException;

    public void requestPickupNumber(long orderId, long providerId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.requestPickupNumber_call> resultHandler) throws org.apache.thrift.TException;

    public void authorizePickup(long orderId, String pickupNumber, long providerId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.authorizePickup_call> resultHandler) throws org.apache.thrift.TException;

    public void markDoasAsPickedUp(long providerId, Map<String,String> pickupDetails, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.markDoasAsPickedUp_call> resultHandler) throws org.apache.thrift.TException;

    public void getDoasNotPickedUp(long providerId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getDoasNotPickedUp_call> resultHandler) throws org.apache.thrift.TException;

    public void markReturnOrdersAsPickedUp(long providerId, Map<String,String> pickupDetails, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.markReturnOrdersAsPickedUp_call> resultHandler) throws org.apache.thrift.TException;

    public void getReturnOrdersNotPickedUp(long providerId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getReturnOrdersNotPickedUp_call> resultHandler) throws org.apache.thrift.TException;

    public void receiveReturn(long orderId, long receiveCondition, boolean receiveFreebie, String serialNumbers, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.receiveReturn_call> resultHandler) throws org.apache.thrift.TException;

    public void validateDoa(long orderId, boolean isValid, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.validateDoa_call> resultHandler) throws org.apache.thrift.TException;

    public void validateReturnProduct(long orderId, boolean isUsable, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.validateReturnProduct_call> resultHandler) throws org.apache.thrift.TException;

    public void reshipOrder(long orderId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.reshipOrder_call> resultHandler) throws org.apache.thrift.TException;

    public void refundOrder(long orderId, String refundedBy, String reason, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.refundOrder_call> resultHandler) throws org.apache.thrift.TException;

    public void getReturnOrders(long warehouseId, long fromDate, long toDate, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getReturnOrders_call> resultHandler) throws org.apache.thrift.TException;

    public void getAllReturnOrders(boolean onlyNotProcessed, long fromDate, long toDate, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getAllReturnOrders_call> resultHandler) throws org.apache.thrift.TException;

    public void getReturnOrder(long id, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getReturnOrder_call> resultHandler) throws org.apache.thrift.TException;

    public void processReturn(long returnOrderId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.processReturn_call> resultHandler) throws org.apache.thrift.TException;

    public void updateWeight(long orderId, double weight, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.updateWeight_call> resultHandler) throws org.apache.thrift.TException;

    public void changeItem(long orderId, long itemId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.changeItem_call> resultHandler) throws org.apache.thrift.TException;

    public void changeCourierProvider(long orderId, long providerId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.changeCourierProvider_call> resultHandler) throws org.apache.thrift.TException;

    public void shiftToWarehouse(long orderId, long warehouseId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.shiftToWarehouse_call> resultHandler) throws org.apache.thrift.TException;

    public void addDelayReason(long orderId, DelayReason delayReason, long furtherDelay, String delayReasonText, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.addDelayReason_call> resultHandler) throws org.apache.thrift.TException;

    public void reconcileCodCollection(Map<String,Double> collectedAmountMap, String xferBy, String xferTxnId, long xferDate, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.reconcileCodCollection_call> resultHandler) throws org.apache.thrift.TException;

    public void getTransactionsRequiringExtraProcessing(ExtraTransactionProcessingType category, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getTransactionsRequiringExtraProcessing_call> resultHandler) throws org.apache.thrift.TException;

    public void markTransactionAsProcessed(long transactionId, ExtraTransactionProcessingType category, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.markTransactionAsProcessed_call> resultHandler) throws org.apache.thrift.TException;

    public void getItemWiseRiskyOrdersCount(org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getItemWiseRiskyOrdersCount_call> resultHandler) throws org.apache.thrift.TException;

    public void getOrdersForItemIds(List<Long> itemIds, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getOrdersForItemIds_call> resultHandler) throws org.apache.thrift.TException;

    public void markOrderCancellationRequestReceived(long orderId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.markOrderCancellationRequestReceived_call> resultHandler) throws org.apache.thrift.TException;

    public void markOrderCancellationRequestConfirmed(long orderId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.markOrderCancellationRequestConfirmed_call> resultHandler) throws org.apache.thrift.TException;

    public void markOrderCancellationRequestDenied(long orderId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.markOrderCancellationRequestDenied_call> resultHandler) throws org.apache.thrift.TException;

    public void markTransactionAsPaymentFlagRemoved(long transactionId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.markTransactionAsPaymentFlagRemoved_call> resultHandler) throws org.apache.thrift.TException;

    public void refundTransaction(long transactionId, String refundedBy, String reason, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.refundTransaction_call> resultHandler) throws org.apache.thrift.TException;

    public void updateShipmentAddress(long orderId, long addressId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.updateShipmentAddress_call> resultHandler) throws org.apache.thrift.TException;

    public void acceptOrdersForItemId(long itemId, long inventory, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.acceptOrdersForItemId_call> resultHandler) throws org.apache.thrift.TException;

    public void markOrdersAsPORaised(long vendorId, long itemId, long quantity, long estimate, boolean isReminder, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.markOrdersAsPORaised_call> resultHandler) throws org.apache.thrift.TException;

    public void markOrdersAsReversalInitiated(long vendorId, long itemId, long quantity, long estimate, boolean isReminder, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.markOrdersAsReversalInitiated_call> resultHandler) throws org.apache.thrift.TException;

    public void markOrdersAsNotAvailabke(long vendorId, long itemId, long quantity, long estimate, boolean isReminder, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.markOrdersAsNotAvailabke_call> resultHandler) throws org.apache.thrift.TException;

    public void markOrdersAsTimeout(long vendorId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.markOrdersAsTimeout_call> resultHandler) throws org.apache.thrift.TException;

    public void markOrderAsLostInTransit(long orderId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.markOrderAsLostInTransit_call> resultHandler) throws org.apache.thrift.TException;

    public void getOrderForAwb(String awb, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getOrderForAwb_call> resultHandler) throws org.apache.thrift.TException;

    public void getOrdersForProviderForStatus(long logistics_provider_id, List<OrderStatus> order_status_list, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getOrdersForProviderForStatus_call> resultHandler) throws org.apache.thrift.TException;

    public void getBilledOrdersForVendor(long vendorId, long billingDateFrom, long billingDateTo, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getBilledOrdersForVendor_call> resultHandler) throws org.apache.thrift.TException;

    public void getSlippedSippingDateOrders(org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getSlippedSippingDateOrders_call> resultHandler) throws org.apache.thrift.TException;

    public void getCancelledOrders(long cancelDateFrom, long cancelDateTo, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getCancelledOrders_call> resultHandler) throws org.apache.thrift.TException;

    public void saveBluedartSettlements(Map<Long,Double> mapAWBAndAmount, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.saveBluedartSettlements_call> resultHandler) throws org.apache.thrift.TException;

    public void savePaymentSettlements(long settlementDate, long paymentGatewayId, long referenceId, double serviceTax, double otherCharges, double netCollection, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.savePaymentSettlements_call> resultHandler) throws org.apache.thrift.TException;

    public void saveEBSSettlementSummary(long settlementId, long settlementDate, long transactionDateFrom, long transactionDateTo, double amount, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.saveEBSSettlementSummary_call> resultHandler) throws org.apache.thrift.TException;

    public void getSettlementForPrepaid(long referenceId, boolean isRefund, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getSettlementForPrepaid_call> resultHandler) throws org.apache.thrift.TException;

    public void getSettlementForCod(long orderId, boolean isRefund, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getSettlementForCod_call> resultHandler) throws org.apache.thrift.TException;

    public void getEBSSettlementSummaries(org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getEBSSettlementSummaries_call> resultHandler) throws org.apache.thrift.TException;

    public void markEBSSettlementUploaded(long settlementId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.markEBSSettlementUploaded_call> resultHandler) throws org.apache.thrift.TException;

    public void getEBSSettlementDate(long settlementId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getEBSSettlementDate_call> resultHandler) throws org.apache.thrift.TException;

    public void getSettlementsByDate(long settlementDateFrom, long settlementDateTo, boolean isRefund, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getSettlementsByDate_call> resultHandler) throws org.apache.thrift.TException;

    public void getReshippedOrderIds(List<Long> orderIds, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getReshippedOrderIds_call> resultHandler) throws org.apache.thrift.TException;

    public void getBilledOrders(long vendorId, boolean onlyVendorNotPaid, long billingDateFrom, long billingDateTo, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getBilledOrders_call> resultHandler) throws org.apache.thrift.TException;

    public void getStatusDistributionOfOrders(long startDate, long endDate, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getStatusDistributionOfOrders_call> resultHandler) throws org.apache.thrift.TException;

    public void getOrderIdsForStatus(long status, long startDatetime, long endDatetime, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getOrderIdsForStatus_call> resultHandler) throws org.apache.thrift.TException;

    public void updateCODAgent(String agent, long orderId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.updateCODAgent_call> resultHandler) throws org.apache.thrift.TException;

    public void updateOrderAsPaidToVendor(long orderId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.updateOrderAsPaidToVendor_call> resultHandler) throws org.apache.thrift.TException;

    public void updateOrderOnlyAsPaidToVendor(long orderId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.updateOrderOnlyAsPaidToVendor_call> resultHandler) throws org.apache.thrift.TException;

    public void getRefundedOrdersMarkedPaid(org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getRefundedOrdersMarkedPaid_call> resultHandler) throws org.apache.thrift.TException;

    public void getAllVerificationAgents(long minOrderId, long maxOrderId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getAllVerificationAgents_call> resultHandler) throws org.apache.thrift.TException;

    public void getAllAttributesForOrderId(long orderId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getAllAttributesForOrderId_call> resultHandler) throws org.apache.thrift.TException;

    public void setOrderAttributes(long orderId, List<Attribute> attributes, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.setOrderAttributes_call> resultHandler) throws org.apache.thrift.TException;

    public void setOrderAttributeForTransaction(long transactionId, Attribute attribute, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.setOrderAttributeForTransaction_call> resultHandler) throws org.apache.thrift.TException;

    public void getReceivePendingOrders(long storeId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getReceivePendingOrders_call> resultHandler) throws org.apache.thrift.TException;

    public void getReceivedAtStoreOrders(long storeId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getReceivedAtStoreOrders_call> resultHandler) throws org.apache.thrift.TException;

    public void getOrdersCollectionAtStore(long storeId, long fromDate, long toDate, boolean onlyCod, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getOrdersCollectionAtStore_call> resultHandler) throws org.apache.thrift.TException;

    public void getOrderAttributeValue(long orderId, String attributeName, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getOrderAttributeValue_call> resultHandler) throws org.apache.thrift.TException;

    public void changeJacketNumber(long orderId, long jacketNumber, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.changeJacketNumber_call> resultHandler) throws org.apache.thrift.TException;

    public void markOrderAsRtoInTransit(long orderId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.markOrderAsRtoInTransit_call> resultHandler) throws org.apache.thrift.TException;

    public void acceptOrderForItem(long itemId, long quantity, long fulfilmentWarehouseId, long billingWarehouseId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.acceptOrderForItem_call> resultHandler) throws org.apache.thrift.TException;

    public void createRechargeOrder(RechargeOrder rechargeOrder, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.createRechargeOrder_call> resultHandler) throws org.apache.thrift.TException;

    public void getRechargeOrder(long rechargeRrderId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getRechargeOrder_call> resultHandler) throws org.apache.thrift.TException;

    public void getRechargeOrders(long userId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getRechargeOrders_call> resultHandler) throws org.apache.thrift.TException;

    public void updateRechargeOrderStatus(long rechargeOrderId, RechargeOrderStatus rechargeOrderStatus, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.updateRechargeOrderStatus_call> resultHandler) throws org.apache.thrift.TException;

    public void activateRechargeTxn(long rechargeOrderId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.activateRechargeTxn_call> resultHandler) throws org.apache.thrift.TException;

    public void getUserWallet(long userId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getUserWallet_call> resultHandler) throws org.apache.thrift.TException;

    public void getUserWalletHistory(long userId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getUserWalletHistory_call> resultHandler) throws org.apache.thrift.TException;

    public void getLatestUserWalletHistory(long userId, long offset, long limit, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getLatestUserWalletHistory_call> resultHandler) throws org.apache.thrift.TException;

    public void getRechargeOrdersForTransaction(long txnId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getRechargeOrdersForTransaction_call> resultHandler) throws org.apache.thrift.TException;

    public void getServiceProviders(RechargeType rechargeType, boolean onlyActive, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getServiceProviders_call> resultHandler) throws org.apache.thrift.TException;

    public void getServiceProviderForDevice(RechargeType rechargeType, String deviceNumber, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getServiceProviderForDevice_call> resultHandler) throws org.apache.thrift.TException;

    public void validateRecharge(RechargeType rechargeType, String deviceNumber, long userSelectedProviderId, String clientAddress, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.validateRecharge_call> resultHandler) throws org.apache.thrift.TException;

    public void getRechargeOrdersForDevice(String deviceNumber, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getRechargeOrdersForDevice_call> resultHandler) throws org.apache.thrift.TException;

    public void creditBatch(long batchId, String userAmount, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.creditBatch_call> resultHandler) throws org.apache.thrift.TException;

    public void getRechargeStatistics(org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getRechargeStatistics_call> resultHandler) throws org.apache.thrift.TException;

    public void getRechargeOrdersForStatus(long status, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getRechargeOrdersForStatus_call> resultHandler) throws org.apache.thrift.TException;

    public void getPlansForOperator(long operatorId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getPlansForOperator_call> resultHandler) throws org.apache.thrift.TException;

    public void getRechargeDenominations(long operatorId, String circleCode, DenominationType denominationType, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getRechargeDenominations_call> resultHandler) throws org.apache.thrift.TException;

    public void updateAvailabilityStatus(long operatorId, long circleId, boolean isAvailable, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.updateAvailabilityStatus_call> resultHandler) throws org.apache.thrift.TException;

    public void getAvailableEmiSchemes(org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getAvailableEmiSchemes_call> resultHandler) throws org.apache.thrift.TException;

    public void getMiscCharges(long transactionId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getMiscCharges_call> resultHandler) throws org.apache.thrift.TException;

    public void refundRechargeOrder(long rechargeOrderId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.refundRechargeOrder_call> resultHandler) throws org.apache.thrift.TException;

    public void getPhysicalOrders(long fromDate, long toDate, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getPhysicalOrders_call> resultHandler) throws org.apache.thrift.TException;

    public void getDocument(long docType, long docSource, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getDocument_call> resultHandler) throws org.apache.thrift.TException;

    public void changeShippingAddress(long orderId, String line1, String line2, String city, String state, String pin, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.changeShippingAddress_call> resultHandler) throws org.apache.thrift.TException;

    public void retrieveInvoice(long orderId, long userId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.retrieveInvoice_call> resultHandler) throws org.apache.thrift.TException;

    public void receiveUpdatesForRedExpress(String awbNumber, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.receiveUpdatesForRedExpress_call> resultHandler) throws org.apache.thrift.TException;

    public void createRechargeTransaction(RechargeTransaction thriftRechargeTransaction, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.createRechargeTransaction_call> resultHandler) throws org.apache.thrift.TException;

    public void getRechargeTransactions(long storeId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getRechargeTransactions_call> resultHandler) throws org.apache.thrift.TException;

    public void getRechargeTrans(long storeId, long startDate, long endDate, RechargeOrderStatus status, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getRechargeTrans_call> resultHandler) throws org.apache.thrift.TException;

    public void getRechargeTransaction(long rechargeId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getRechargeTransaction_call> resultHandler) throws org.apache.thrift.TException;

    public void getFRCs(long circleId, long operatorId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getFRCs_call> resultHandler) throws org.apache.thrift.TException;

    public void getHotspotStore(long id, String hotspotid, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getHotspotStore_call> resultHandler) throws org.apache.thrift.TException;

    public void getTelecomCircle(long id, String code, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getTelecomCircle_call> resultHandler) throws org.apache.thrift.TException;

    public void retrieveHotspotRechargeInvoice(long rechargeId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.retrieveHotspotRechargeInvoice_call> resultHandler) throws org.apache.thrift.TException;

    public void splitFreebieOrder(long orderId, String splitReason, long shippingDate, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.splitFreebieOrder_call> resultHandler) throws org.apache.thrift.TException;

    public void getRechargeTransactionsByNumber(String number, long storeId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getRechargeTransactionsByNumber_call> resultHandler) throws org.apache.thrift.TException;

    public void updateHotspotStorePassword(long storeId, String password, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.updateHotspotStorePassword_call> resultHandler) throws org.apache.thrift.TException;

    public void topupCompanyWallet(long companyId, long amount, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.topupCompanyWallet_call> resultHandler) throws org.apache.thrift.TException;

    public void getWalletBalanceForCompany(long companyId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getWalletBalanceForCompany_call> resultHandler) throws org.apache.thrift.TException;

    public void getSaholicRechargeBalance(org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getSaholicRechargeBalance_call> resultHandler) throws org.apache.thrift.TException;

    public void getSourceDetail(long source, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getSourceDetail_call> resultHandler) throws org.apache.thrift.TException;

    public void getAllCircles(org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getAllCircles_call> resultHandler) throws org.apache.thrift.TException;

    public void deleteFrcs(List<Long> frcIdsToDelete, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.deleteFrcs_call> resultHandler) throws org.apache.thrift.TException;

    public void addAmazonOrder(AmazonOrder amazonOrder, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.addAmazonOrder_call> resultHandler) throws org.apache.thrift.TException;

    public void updateAmazonOrderStatus(long orderId, String status, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.updateAmazonOrderStatus_call> resultHandler) throws org.apache.thrift.TException;

    public void getAmazonOrdersShipped(org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getAmazonOrdersShipped_call> resultHandler) throws org.apache.thrift.TException;

    public void getAmazonOrdersCancelled(long interval, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getAmazonOrdersCancelled_call> resultHandler) throws org.apache.thrift.TException;

    public void getAmazonOrder(long orderId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getAmazonOrder_call> resultHandler) throws org.apache.thrift.TException;

    public void getAmazonOrderByAmazonOrderId(String amazonOrderId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getAmazonOrderByAmazonOrderId_call> resultHandler) throws org.apache.thrift.TException;

    public void getOrdersForStore(long id, long storeId, long startDate, long endDate, List<OrderStatus> statuses, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getOrdersForStore_call> resultHandler) throws org.apache.thrift.TException;

    public void getStoreOrderAdvanceInvoice(long orderId, long storeId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getStoreOrderAdvanceInvoice_call> resultHandler) throws org.apache.thrift.TException;

    public void addFrc(long circleId, long operatorId, long denomination, long maxDiscount, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.addFrc_call> resultHandler) throws org.apache.thrift.TException;

    public void addSeries(long circle, long operatorId, long series, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.addSeries_call> resultHandler) throws org.apache.thrift.TException;

    public void saveStoreOrderDetail(StoreOrderDetail storeOrderDetail, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.saveStoreOrderDetail_call> resultHandler) throws org.apache.thrift.TException;

    public void getStoreOrderDetail(long orderId, long storeId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getStoreOrderDetail_call> resultHandler) throws org.apache.thrift.TException;

    public void getAllEdcBanks(org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getAllEdcBanks_call> resultHandler) throws org.apache.thrift.TException;

    public void saveRefundAmountsForStoreOrder(long orderId, long storeId, double cashRefundAmount, double cardRefundAmount, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.saveRefundAmountsForStoreOrder_call> resultHandler) throws org.apache.thrift.TException;

    public void getCollectionsForStore(long storeId, long startDate, long endDate, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getCollectionsForStore_call> resultHandler) throws org.apache.thrift.TException;

    public void getAmazonOrdersToAcknowledge(OrderSource source, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getAmazonOrdersToAcknowledge_call> resultHandler) throws org.apache.thrift.TException;

    public void changeAmazonOrderStatus(String amazonOrderCode, String status, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.changeAmazonOrderStatus_call> resultHandler) throws org.apache.thrift.TException;

    public void updateTimestampForAmazonOrder(Map<Long,Map<String,String>> amazonOrderDelivery, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.updateTimestampForAmazonOrder_call> resultHandler) throws org.apache.thrift.TException;

    public void updateSourceDetailTimestamp(long id, long lastUpdatedOn, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.updateSourceDetailTimestamp_call> resultHandler) throws org.apache.thrift.TException;

    public void getOrdersByMobileNumber(String mobileNumber, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getOrdersByMobileNumber_call> resultHandler) throws org.apache.thrift.TException;

    public void getOrdersByAmazonOrderCode(String amazonId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getOrdersByAmazonOrderCode_call> resultHandler) throws org.apache.thrift.TException;

    public void convertStoreToNormal(long orderId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.convertStoreToNormal_call> resultHandler) throws org.apache.thrift.TException;

    public void updateFreebieItem(long orderId, long newFreebieItemId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.updateFreebieItem_call> resultHandler) throws org.apache.thrift.TException;

    public void getHotspotServiceMatrices(org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getHotspotServiceMatrices_call> resultHandler) throws org.apache.thrift.TException;

    public void updateOrderAWB(long orderId, String airwayBillNo, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.updateOrderAWB_call> resultHandler) throws org.apache.thrift.TException;

    public void getOrdersByVendor(List<Long> vendors, List<OrderStatus> statuses, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getOrdersByVendor_call> resultHandler) throws org.apache.thrift.TException;

    public void createEbayOrder(EbayOrder ebayOrder, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.createEbayOrder_call> resultHandler) throws org.apache.thrift.TException;

    public void getEbayOrderByOrderId(long orderId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getEbayOrderByOrderId_call> resultHandler) throws org.apache.thrift.TException;

    public void getEbayOrderBySalesRecNumber(long salesRecordNumber, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getEbayOrderBySalesRecNumber_call> resultHandler) throws org.apache.thrift.TException;

    public void getEbayOrder(long salesRecordNumber, String listingId, String paisapayId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getEbayOrder_call> resultHandler) throws org.apache.thrift.TException;

    public void updateEbayOrder(EbayOrder ebayOrder, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.updateEbayOrder_call> resultHandler) throws org.apache.thrift.TException;

    public void ebayOrderExists(long salesRecNumber, String ebayListingId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.ebayOrderExists_call> resultHandler) throws org.apache.thrift.TException;

    public void updateOrderForEbay(Order order, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.updateOrderForEbay_call> resultHandler) throws org.apache.thrift.TException;

    public void splitEbayOrder(long orderId, long splitOrderQty, long splitOrderItemId, boolean usePowerShip, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.splitEbayOrder_call> resultHandler) throws org.apache.thrift.TException;

    public void addOrUpdateAmazonFbaSalesSnapshot(AmazonFbaSalesSnapshot amazonfbasalessnapshot, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.addOrUpdateAmazonFbaSalesSnapshot_call> resultHandler) throws org.apache.thrift.TException;

    public void getAmazonFbaSalesSnapshotForDays(int days, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getAmazonFbaSalesSnapshotForDays_call> resultHandler) throws org.apache.thrift.TException;

    public void getAmazonFbaSalesLatestSnapshotForItem(long item_id, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getAmazonFbaSalesLatestSnapshotForItem_call> resultHandler) throws org.apache.thrift.TException;

    public void createSnapdealOrder(SnapdealOrder snapdealOrder, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.createSnapdealOrder_call> resultHandler) throws org.apache.thrift.TException;

    public void getSnapdealOrder(long orderId, String referenceCode, String subrderId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getSnapdealOrder_call> resultHandler) throws org.apache.thrift.TException;

    public void snapdealOrderExists(String subOrderId, String referenceCode, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.snapdealOrderExists_call> resultHandler) throws org.apache.thrift.TException;

    public void updateLatestFbaPricesForItem(FbaItemPrices fbaitemprices, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.updateLatestFbaPricesForItem_call> resultHandler) throws org.apache.thrift.TException;

    public void flipkartOrderExists(String flipkartOrderId, String flipkartSubOrderId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.flipkartOrderExists_call> resultHandler) throws org.apache.thrift.TException;

    public void createFlipkartOrder(FlipkartOrder flipkartOrder, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.createFlipkartOrder_call> resultHandler) throws org.apache.thrift.TException;

    public void getFlipkartOrder(long orderId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getFlipkartOrder_call> resultHandler) throws org.apache.thrift.TException;

    public void getFlipkartOrderByOrderItemId(String flipkartOrderItemId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getFlipkartOrderByOrderItemId_call> resultHandler) throws org.apache.thrift.TException;

    public void updateFlipkartOrderDatesAndAWB(String flipkartOrderId, String flipkartSubOrderId, long date, String awb, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.updateFlipkartOrderDatesAndAWB_call> resultHandler) throws org.apache.thrift.TException;

    public void getOrdersCreatedAfterTimestampForSource(long timestamp, long source, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getOrdersCreatedAfterTimestampForSource_call> resultHandler) throws org.apache.thrift.TException;

    public void getOrderForAirwayBillNo(String airwaybillNo, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getOrderForAirwayBillNo_call> resultHandler) throws org.apache.thrift.TException;

    public void getMinCreatedTimeStampUndeliveredOrdersForSource(int source, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getMinCreatedTimeStampUndeliveredOrdersForSource_call> resultHandler) throws org.apache.thrift.TException;

    public void updateSnapdealOrdersStatus(Map<String,List<List<String>>> orders, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.updateSnapdealOrdersStatus_call> resultHandler) throws org.apache.thrift.TException;

    public void updateFlipkartOrdersStatus(List<List<String>> delivered_orders, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.updateFlipkartOrdersStatus_call> resultHandler) throws org.apache.thrift.TException;

    public void bulkAddOrUpdateAmazonFbaSalesSnapshot(List<AmazonFbaSalesSnapshot> amazonfbasalessnapshotlist, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.bulkAddOrUpdateAmazonFbaSalesSnapshot_call> resultHandler) throws org.apache.thrift.TException;

    public void getCreatedOrdersForFlipkart(List<String> flipkartorderids, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getCreatedOrdersForFlipkart_call> resultHandler) throws org.apache.thrift.TException;

    public void isPrivateDealTransaction(long transactionId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.isPrivateDealTransaction_call> resultHandler) throws org.apache.thrift.TException;

    public void getAmazonFbaSalesLatestSnapshotForItemLocationWise(long item_id, long location, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getAmazonFbaSalesLatestSnapshotForItemLocationWise_call> resultHandler) throws org.apache.thrift.TException;

    public void changeEasyshipMfnOrderTxnStatus(long transactionId, TransactionStatus status, String description, long pickUp, OrderType orderType, OrderSource source, long shipTimestamp, long deliveryTimeStamp, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.changeEasyshipMfnOrderTxnStatus_call> resultHandler) throws org.apache.thrift.TException;

    public void updateAmazonFbaOrdersReturns(List<AmazonFbaOrderReturns> fbaOrderReturns, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.updateAmazonFbaOrdersReturns_call> resultHandler) throws org.apache.thrift.TException;

    public void getAllAmazonFbaOrderReturnsByCurrentTime(long insertionTimestamp, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getAllAmazonFbaOrderReturnsByCurrentTime_call> resultHandler) throws org.apache.thrift.TException;

    public void getTotalSaleReturnsFbaSkusCurentTime(long insertionTimestamp, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getTotalSaleReturnsFbaSkusCurentTime_call> resultHandler) throws org.apache.thrift.TException;

    public void getVerificationPendingOrdersFK(org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getVerificationPendingOrdersFK_call> resultHandler) throws org.apache.thrift.TException;

    public void getFAOrderByFkOrderId(String fkOrderId, String fkOrderItemId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getFAOrderByFkOrderId_call> resultHandler) throws org.apache.thrift.TException;

    public void getAllFAOrdersList(String status, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getAllFAOrdersList_call> resultHandler) throws org.apache.thrift.TException;

    public void addUpdateFaOrdersBulk(List<FlipkartAdvantageOrder> faOrdersList, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.addUpdateFaOrdersBulk_call> resultHandler) throws org.apache.thrift.TException;

    public void addInvoiceDetailsToOrders(long transactionId, long customerId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.addInvoiceDetailsToOrders_call> resultHandler) throws org.apache.thrift.TException;

    public void flipkartFaOrderExists(String fkOrderId, String fkOrderItemId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.flipkartFaOrderExists_call> resultHandler) throws org.apache.thrift.TException;

    public void getRcgOrderStatus(long rechargeOrderId, boolean isFinal, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getRcgOrderStatus_call> resultHandler) throws org.apache.thrift.TException;

    public void getRcgTransactionStatus(long rechargeTransactionId, boolean isFinal, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getRcgTransactionStatus_call> resultHandler) throws org.apache.thrift.TException;

    public void bulkAddOrUpdateFlipkartFaSalesSnapshot(List<FlipkartFaSalesSnapshot> flipkartfasalessnapshotlist, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.bulkAddOrUpdateFlipkartFaSalesSnapshot_call> resultHandler) throws org.apache.thrift.TException;

    public void getFlipkartFaSalesSnapshotForDays(int days, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getFlipkartFaSalesSnapshotForDays_call> resultHandler) throws org.apache.thrift.TException;

    public void getFlipkartFaSalesSnapshotBySkuAndSaleDate(long item_id, long dateOfSale, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getFlipkartFaSalesSnapshotBySkuAndSaleDate_call> resultHandler) throws org.apache.thrift.TException;

    public void acceptPackageOrders(List<Long> orders, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.acceptPackageOrders_call> resultHandler) throws org.apache.thrift.TException;

    public void getGroupOrdersByLogisticsTxnId(String logisticsTxnId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getGroupOrdersByLogisticsTxnId_call> resultHandler) throws org.apache.thrift.TException;

    public void addBillingDetailsForGrouppedOrders(List<Long> order_ids, String invoice_number, Map<Long,List<String>> itemNumbersMap, Map<Long,List<String>> serialNumbersMap, Map<Long,List<Long>> freebieWarehouseIdMap, String billed_by, long jacketNumber, long billingType, boolean authorize, String invoiceType, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.addBillingDetailsForGrouppedOrders_call> resultHandler) throws org.apache.thrift.TException;

    public void getInvoiceFormatLogisticsTxnId(long transactionId, long shipementSeq, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getInvoiceFormatLogisticsTxnId_call> resultHandler) throws org.apache.thrift.TException;

    public void createHomeShopOrder(HsOrder snapdealOrder, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.createHomeShopOrder_call> resultHandler) throws org.apache.thrift.TException;

    public void getHomeShopOrder(long orderId, String hsOrderNo, String hsSubOrderNo, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getHomeShopOrder_call> resultHandler) throws org.apache.thrift.TException;

    public void homeShopOrderExists(String hsOrderNo, String hsSubOrderNo, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.homeShopOrderExists_call> resultHandler) throws org.apache.thrift.TException;

    public void splitBulkOrder(long orderId, long splitOrderQty, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.splitBulkOrder_call> resultHandler) throws org.apache.thrift.TException;

    public void moveOrdersToCorrectWarehouse(org.apache.thrift.async.AsyncMethodCallback<AsyncClient.moveOrdersToCorrectWarehouse_call> resultHandler) throws org.apache.thrift.TException;

    public void getCreditorInfo(long id, String name, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getCreditorInfo_call> resultHandler) throws org.apache.thrift.TException;

    public void updateCreditorInfo(Creditor creditor, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.updateCreditorInfo_call> resultHandler) throws org.apache.thrift.TException;

    public void getUserSanctionDetails(long userId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getUserSanctionDetails_call> resultHandler) throws org.apache.thrift.TException;

    public void getUserSanctionDetailsForCreditor(long userId, long creditorId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getUserSanctionDetailsForCreditor_call> resultHandler) throws org.apache.thrift.TException;

    public void updateUserSanction(UserSanction userSanaction, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.updateUserSanction_call> resultHandler) throws org.apache.thrift.TException;

    public void getCreditHistoryRecordsForTransaction(long paymentId, CreditTxnType creditTxnType, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getCreditHistoryRecordsForTransaction_call> resultHandler) throws org.apache.thrift.TException;

    public void getCreditHistoryRecordsForUserAndCreditor(long userId, long creditorId, CreditTxnType creditTxnType, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getCreditHistoryRecordsForUserAndCreditor_call> resultHandler) throws org.apache.thrift.TException;

    public void processCreditTransaction(long paymentId, long userId, long creditorId, List<CreditHistory> creditTxns, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.processCreditTransaction_call> resultHandler) throws org.apache.thrift.TException;

    public void getLoanPayableForUserToCreditor(long userId, long creditorId, long dueDate, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getLoanPayableForUserToCreditor_call> resultHandler) throws org.apache.thrift.TException;

    public void getLoanHistoryRecordsForTransaction(long paymentId, CreditTxnType creditTxnType, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getLoanHistoryRecordsForTransaction_call> resultHandler) throws org.apache.thrift.TException;

    public void getLoanHistoryRecordsForUserAndCreditor(long userId, long creditorId, CreditTxnType creditTxnType, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getLoanHistoryRecordsForUserAndCreditor_call> resultHandler) throws org.apache.thrift.TException;

    public void processLoanTransaction(long paymentId, long userId, long creditorId, List<LoanHistory> creditTxns, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.processLoanTransaction_call> resultHandler) throws org.apache.thrift.TException;

    public void getLimitedCreditHistoryRecords(long paymentId, long userId, long creditorId, long limit, long offset, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getLimitedCreditHistoryRecords_call> resultHandler) throws org.apache.thrift.TException;

    public void getLimitedLoanHistoryRecords(long paymentId, long userId, long creditorId, long limit, long offset, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getLimitedLoanHistoryRecords_call> resultHandler) throws org.apache.thrift.TException;

    public void getUserSanctionsDetailsAsPerLimit(long userId, long creditorId, long limit, long offset, String sort, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getUserSanctionsDetailsAsPerLimit_call> resultHandler) throws org.apache.thrift.TException;

    public void getOutstandingPayments(String fetchType, long userId, long limit, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getOutstandingPayments_call> resultHandler) throws org.apache.thrift.TException;

    public void markPaymentSettled(long userId, long paymentId, double totalAmount, long repaymentDate, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.markPaymentSettled_call> resultHandler) throws org.apache.thrift.TException;

    public void getReturnOrderInfo(long id, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getReturnOrderInfo_call> resultHandler) throws org.apache.thrift.TException;

    public void getReturnOrderInfoList(List<Long> order_ids, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getReturnOrderInfoList_call> resultHandler) throws org.apache.thrift.TException;

    public void getReturnOrderInfoListAsByStatus(List<Long> order_ids, List<String> statuses, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getReturnOrderInfoListAsByStatus_call> resultHandler) throws org.apache.thrift.TException;

    public void updateReturnOrderInfo(ReturnOrderInfo returnInfo, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.updateReturnOrderInfo_call> resultHandler) throws org.apache.thrift.TException;

    public void bulkUpdateReturnOrderInfo(Map<Long,List<ReturnOrderInfo>> orderReturnInfosMap, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.bulkUpdateReturnOrderInfo_call> resultHandler) throws org.apache.thrift.TException;

    public void getReturnOrdersAsPerWarehouseId(long warehouseId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getReturnOrdersAsPerWarehouseId_call> resultHandler) throws org.apache.thrift.TException;

    public void createReturnTransaction(ReturnTransaction returnTransaction, String itemCondition, boolean overrideWarranty, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.createReturnTransaction_call> resultHandler) throws org.apache.thrift.TException;

    public void getReturnTransaction(long id, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getReturnTransaction_call> resultHandler) throws org.apache.thrift.TException;

    public void getReturnOrdersForReturnTransaction(long returnTransactionId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getReturnOrdersForReturnTransaction_call> resultHandler) throws org.apache.thrift.TException;

    public void changeReturnTransactionStatus(long returnTransactionId, ReturnTransactionStatus status, List<Long> returnOrderIds, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.changeReturnTransactionStatus_call> resultHandler) throws org.apache.thrift.TException;

    public void createReturnPickupRequest(List<Long> returnOrderIds, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.createReturnPickupRequest_call> resultHandler) throws org.apache.thrift.TException;

    public void updateReturnPickupRequest(ReturnPickupRequest returnPickupRequest, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.updateReturnPickupRequest_call> resultHandler) throws org.apache.thrift.TException;

    public void getAllReturnOrdersForReturnPickupRequest(long logisticsRequestId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getAllReturnOrdersForReturnPickupRequest_call> resultHandler) throws org.apache.thrift.TException;

    public void receiveReturnPickup(Map<Long,Map<String,String>> returnOrdersMap, long id, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.receiveReturnPickup_call> resultHandler) throws org.apache.thrift.TException;

    public void validateReturnPickup(long returnPickupId, Map<Long,Boolean> returnOrdersMap, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.validateReturnPickup_call> resultHandler) throws org.apache.thrift.TException;

    public void processReturnPickup(long returnPickupId, Map<Long,Map<String,String>> returnOrdersMap, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.processReturnPickup_call> resultHandler) throws org.apache.thrift.TException;

    public void markReturnTransactionComplete(long returnTransactionId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.markReturnTransactionComplete_call> resultHandler) throws org.apache.thrift.TException;

    public void refundReturnTransactionPayment(Map<Long,Map<String,String>> refundOrdersMap, long returntransactionId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.refundReturnTransactionPayment_call> resultHandler) throws org.apache.thrift.TException;

    public void getReturnTransactionsForCustomer(List<ReturnTransactionStatus> statusList, String customerMobile, String customerEmail, long returnTransactionId, long customerId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getReturnTransactionsForCustomer_call> resultHandler) throws org.apache.thrift.TException;

    public void verifyOrderForTransaction(long transactionId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.verifyOrderForTransaction_call> resultHandler) throws org.apache.thrift.TException;

    public void getOrdersInBatchAsPromisedShipping(List<OrderStatus> statuses, long offset, long limit, long warehouse_id, long source, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getOrdersInBatchAsPromisedShipping_call> resultHandler) throws org.apache.thrift.TException;

    public void setOrderAttributeForMasterOrderId(String logisticsTransactionId, List<Attribute> attributes, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.setOrderAttributeForMasterOrderId_call> resultHandler) throws org.apache.thrift.TException;

    public void updateMasterOrderAWB(String logisticsTransactionId, String airwayBillNo, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.updateMasterOrderAWB_call> resultHandler) throws org.apache.thrift.TException;

    public void addOrUpdateShipmentLogisticsCostDetails(List<ShipmentLogisticsCostDetail> shipmentLogisticsCostDetails, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.addOrUpdateShipmentLogisticsCostDetails_call> resultHandler) throws org.apache.thrift.TException;

    public void getEligibleOrdersForReturn(long customerId, String itemCondition, boolean overrideWarranty, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getEligibleOrdersForReturn_call> resultHandler) throws org.apache.thrift.TException;

    public void getEligibleReturnOrdersForPickup(long customerId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getEligibleReturnOrdersForPickup_call> resultHandler) throws org.apache.thrift.TException;

    public void validateReturnTransaction(long customerId, Map<Long,Long> returnOrdersMap, String itemCondition, boolean overrideWarranty, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.validateReturnTransaction_call> resultHandler) throws org.apache.thrift.TException;

    public void getPendingStoreOrders(long storeId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getPendingStoreOrders_call> resultHandler) throws org.apache.thrift.TException;

    public void getSellerInfo(long sellerId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getSellerInfo_call> resultHandler) throws org.apache.thrift.TException;

    public void getWarehouseAddress(long address_id, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getWarehouseAddress_call> resultHandler) throws org.apache.thrift.TException;

    public void getBuyerByWarehouse(long warehouse_id, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getBuyerByWarehouse_call> resultHandler) throws org.apache.thrift.TException;

    public void markReturnNotRequiredOrdersProcessed(ReturnOrderInfo returnOrderInfo, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.markReturnNotRequiredOrdersProcessed_call> resultHandler) throws org.apache.thrift.TException;

    public void getReturnPickupRequest(long returnPickupId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getReturnPickupRequest_call> resultHandler) throws org.apache.thrift.TException;

    public void splitReturnOrderInfo(long returnOrderId, long splitOrderQty, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.splitReturnOrderInfo_call> resultHandler) throws org.apache.thrift.TException;

    public void deleteReturnOrder(long returnOrderId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.deleteReturnOrder_call> resultHandler) throws org.apache.thrift.TException;

    public void refundReturnOrder(ReturnOrderInfo returnOrderInfo, List<Attribute> attributes, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.refundReturnOrder_call> resultHandler) throws org.apache.thrift.TException;

    public void addShipmentDelay(List<ShipmentDelayDetail> shipmentDelayDetail, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.addShipmentDelay_call> resultHandler) throws org.apache.thrift.TException;

    public void getCostDetailForLogisticsTxnId(String logisticsTxnId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getCostDetailForLogisticsTxnId_call> resultHandler) throws org.apache.thrift.TException;

    public void addShipmentLogisticDetail(ShipmentLogisticsCostDetail shipmentLogisticsCostDetail, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.addShipmentLogisticDetail_call> resultHandler) throws org.apache.thrift.TException;

    public void createPayment(long userId, long txnId, int gatewayId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.createPayment_call> resultHandler) throws org.apache.thrift.TException;

    public void calculatePaymentAmount(long txnId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.calculatePaymentAmount_call> resultHandler) throws org.apache.thrift.TException;

    public void getBilledOrdersForManifestGen(long warehouse_id, long logistics_provider_id, boolean cod, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getBilledOrdersForManifestGen_call> resultHandler) throws org.apache.thrift.TException;

    public void registerRsa(long userId, String activation_code, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.registerRsa_call> resultHandler) throws org.apache.thrift.TException;

    public void addSalesAssociate(Pmsa pmsa, String referrerEmail, String l1_userEmail, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.addSalesAssociate_call> resultHandler) throws org.apache.thrift.TException;

    public void searchPmsa(PmsaSearchFilter pmsaSearchFilter, String associateEmail, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.searchPmsa_call> resultHandler) throws org.apache.thrift.TException;

    public void getPmsaUser(long id, String associateEmail, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getPmsaUser_call> resultHandler) throws org.apache.thrift.TException;

    public void updatePmsaUser(Pmsa pmsa, String associateEmail, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.updatePmsaUser_call> resultHandler) throws org.apache.thrift.TException;

    public void getPmsaUsers(String associateEmail, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getPmsaUsers_call> resultHandler) throws org.apache.thrift.TException;

    public void getPendingAssociates(String associateEmail, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getPendingAssociates_call> resultHandler) throws org.apache.thrift.TException;

    public void getStatsForAssociates(String associateEmail, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getStatsForAssociates_call> resultHandler) throws org.apache.thrift.TException;

    public void getmypmsaprofile(String associateEmail, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getmypmsaprofile_call> resultHandler) throws org.apache.thrift.TException;

    public void creditUserWallet(long userId, long amount, double cash_back, String shortDesc, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.creditUserWallet_call> resultHandler) throws org.apache.thrift.TException;

    public void getPaginatedRechargeOrders(long userId, int offset, int limit, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getPaginatedRechargeOrders_call> resultHandler) throws org.apache.thrift.TException;

    public void markOrderForRegisteredGstInvoice(List<Long> tranasction_ids, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.markOrderForRegisteredGstInvoice_call> resultHandler) throws org.apache.thrift.TException;

    public void isShipmentCod(String logisticsTransactionId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.isShipmentCod_call> resultHandler) throws org.apache.thrift.TException;

    public void getInTransitOrdersOnDate(long closingDate, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getInTransitOrdersOnDate_call> resultHandler) throws org.apache.thrift.TException;

    public void getInTransitOrdersOnDateByItemId(long closingDate, long itemId, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getInTransitOrdersOnDateByItemId_call> resultHandler) throws org.apache.thrift.TException;

    public void addPriceDrop(long item_id, List<String> imeis, double amount, long affected_on, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.addPriceDrop_call> resultHandler) throws org.apache.thrift.TException;

  }

  public static class Client extends in.shop2020.generic.GenericService.Client implements Iface {
    public static class Factory implements org.apache.thrift.TServiceClientFactory<Client> {
      public Factory() {}
      public Client getClient(org.apache.thrift.protocol.TProtocol prot) {
        return new Client(prot);
      }
      public Client getClient(org.apache.thrift.protocol.TProtocol iprot, org.apache.thrift.protocol.TProtocol oprot) {
        return new Client(iprot, oprot);
      }
    }

    public Client(org.apache.thrift.protocol.TProtocol prot)
    {
      super(prot, prot);
    }

    public Client(org.apache.thrift.protocol.TProtocol iprot, org.apache.thrift.protocol.TProtocol oprot) {
      super(iprot, oprot);
    }

    public long createTransaction(Transaction transaction) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_createTransaction(transaction);
      return recv_createTransaction();
    }

    public void send_createTransaction(Transaction transaction) throws org.apache.thrift.TException
    {
      createTransaction_args args = new createTransaction_args();
      args.setTransaction(transaction);
      sendBase("createTransaction", args);
    }

    public long recv_createTransaction() throws TransactionServiceException, org.apache.thrift.TException
    {
      createTransaction_result result = new createTransaction_result();
      receiveBase(result, "createTransaction");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "createTransaction failed: unknown result");
    }

    public Transaction getTransaction(long id) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_getTransaction(id);
      return recv_getTransaction();
    }

    public void send_getTransaction(long id) throws org.apache.thrift.TException
    {
      getTransaction_args args = new getTransaction_args();
      args.setId(id);
      sendBase("getTransaction", args);
    }

    public Transaction recv_getTransaction() throws TransactionServiceException, org.apache.thrift.TException
    {
      getTransaction_result result = new getTransaction_result();
      receiveBase(result, "getTransaction");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getTransaction failed: unknown result");
    }

    public List<Transaction> getTransactionsForCustomer(long customerId, long from_date, long to_date, TransactionStatus status) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_getTransactionsForCustomer(customerId, from_date, to_date, status);
      return recv_getTransactionsForCustomer();
    }

    public void send_getTransactionsForCustomer(long customerId, long from_date, long to_date, TransactionStatus status) throws org.apache.thrift.TException
    {
      getTransactionsForCustomer_args args = new getTransactionsForCustomer_args();
      args.setCustomerId(customerId);
      args.setFrom_date(from_date);
      args.setTo_date(to_date);
      args.setStatus(status);
      sendBase("getTransactionsForCustomer", args);
    }

    public List<Transaction> recv_getTransactionsForCustomer() throws TransactionServiceException, org.apache.thrift.TException
    {
      getTransactionsForCustomer_result result = new getTransactionsForCustomer_result();
      receiveBase(result, "getTransactionsForCustomer");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getTransactionsForCustomer failed: unknown result");
    }

    public List<Transaction> getTransactionsForShoppingCartId(long shoppingCartId) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_getTransactionsForShoppingCartId(shoppingCartId);
      return recv_getTransactionsForShoppingCartId();
    }

    public void send_getTransactionsForShoppingCartId(long shoppingCartId) throws org.apache.thrift.TException
    {
      getTransactionsForShoppingCartId_args args = new getTransactionsForShoppingCartId_args();
      args.setShoppingCartId(shoppingCartId);
      sendBase("getTransactionsForShoppingCartId", args);
    }

    public List<Transaction> recv_getTransactionsForShoppingCartId() throws TransactionServiceException, org.apache.thrift.TException
    {
      getTransactionsForShoppingCartId_result result = new getTransactionsForShoppingCartId_result();
      receiveBase(result, "getTransactionsForShoppingCartId");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getTransactionsForShoppingCartId failed: unknown result");
    }

    public TransactionStatus getTransactionStatus(long transactionId) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_getTransactionStatus(transactionId);
      return recv_getTransactionStatus();
    }

    public void send_getTransactionStatus(long transactionId) throws org.apache.thrift.TException
    {
      getTransactionStatus_args args = new getTransactionStatus_args();
      args.setTransactionId(transactionId);
      sendBase("getTransactionStatus", args);
    }

    public TransactionStatus recv_getTransactionStatus() throws TransactionServiceException, org.apache.thrift.TException
    {
      getTransactionStatus_result result = new getTransactionStatus_result();
      receiveBase(result, "getTransactionStatus");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getTransactionStatus failed: unknown result");
    }

    public boolean changeTransactionStatus(long transactionId, TransactionStatus status, String description, long pickUp, OrderType orderType, OrderSource source) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_changeTransactionStatus(transactionId, status, description, pickUp, orderType, source);
      return recv_changeTransactionStatus();
    }

    public void send_changeTransactionStatus(long transactionId, TransactionStatus status, String description, long pickUp, OrderType orderType, OrderSource source) throws org.apache.thrift.TException
    {
      changeTransactionStatus_args args = new changeTransactionStatus_args();
      args.setTransactionId(transactionId);
      args.setStatus(status);
      args.setDescription(description);
      args.setPickUp(pickUp);
      args.setOrderType(orderType);
      args.setSource(source);
      sendBase("changeTransactionStatus", args);
    }

    public boolean recv_changeTransactionStatus() throws TransactionServiceException, org.apache.thrift.TException
    {
      changeTransactionStatus_result result = new changeTransactionStatus_result();
      receiveBase(result, "changeTransactionStatus");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "changeTransactionStatus failed: unknown result");
    }

    public boolean enqueueTransactionInfoEmail(long transactionId) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_enqueueTransactionInfoEmail(transactionId);
      return recv_enqueueTransactionInfoEmail();
    }

    public void send_enqueueTransactionInfoEmail(long transactionId) throws org.apache.thrift.TException
    {
      enqueueTransactionInfoEmail_args args = new enqueueTransactionInfoEmail_args();
      args.setTransactionId(transactionId);
      sendBase("enqueueTransactionInfoEmail", args);
    }

    public boolean recv_enqueueTransactionInfoEmail() throws TransactionServiceException, org.apache.thrift.TException
    {
      enqueueTransactionInfoEmail_result result = new enqueueTransactionInfoEmail_result();
      receiveBase(result, "enqueueTransactionInfoEmail");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "enqueueTransactionInfoEmail failed: unknown result");
    }

    public List<Order> getAllOrders(List<OrderStatus> statuses, long from_date, long to_date, long warehouse_id) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_getAllOrders(statuses, from_date, to_date, warehouse_id);
      return recv_getAllOrders();
    }

    public void send_getAllOrders(List<OrderStatus> statuses, long from_date, long to_date, long warehouse_id) throws org.apache.thrift.TException
    {
      getAllOrders_args args = new getAllOrders_args();
      args.setStatuses(statuses);
      args.setFrom_date(from_date);
      args.setTo_date(to_date);
      args.setWarehouse_id(warehouse_id);
      sendBase("getAllOrders", args);
    }

    public List<Order> recv_getAllOrders() throws TransactionServiceException, org.apache.thrift.TException
    {
      getAllOrders_result result = new getAllOrders_result();
      receiveBase(result, "getAllOrders");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllOrders failed: unknown result");
    }

    public List<Order> getOrdersInBatch(List<OrderStatus> statuses, long offset, long limit, long warehouse_id, long source) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_getOrdersInBatch(statuses, offset, limit, warehouse_id, source);
      return recv_getOrdersInBatch();
    }

    public void send_getOrdersInBatch(List<OrderStatus> statuses, long offset, long limit, long warehouse_id, long source) throws org.apache.thrift.TException
    {
      getOrdersInBatch_args args = new getOrdersInBatch_args();
      args.setStatuses(statuses);
      args.setOffset(offset);
      args.setLimit(limit);
      args.setWarehouse_id(warehouse_id);
      args.setSource(source);
      sendBase("getOrdersInBatch", args);
    }

    public List<Order> recv_getOrdersInBatch() throws TransactionServiceException, org.apache.thrift.TException
    {
      getOrdersInBatch_result result = new getOrdersInBatch_result();
      receiveBase(result, "getOrdersInBatch");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getOrdersInBatch failed: unknown result");
    }

    public int getOrderCount(List<OrderStatus> statuses, long warehouseId, long source) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_getOrderCount(statuses, warehouseId, source);
      return recv_getOrderCount();
    }

    public void send_getOrderCount(List<OrderStatus> statuses, long warehouseId, long source) throws org.apache.thrift.TException
    {
      getOrderCount_args args = new getOrderCount_args();
      args.setStatuses(statuses);
      args.setWarehouseId(warehouseId);
      args.setSource(source);
      sendBase("getOrderCount", args);
    }

    public int recv_getOrderCount() throws TransactionServiceException, org.apache.thrift.TException
    {
      getOrderCount_result result = new getOrderCount_result();
      receiveBase(result, "getOrderCount");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getOrderCount failed: unknown result");
    }

    public List<Order> getOrdersByBillingDate(OrderStatus status, long start_billing_date, long end_billing_date, long warehouse_id) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_getOrdersByBillingDate(status, start_billing_date, end_billing_date, warehouse_id);
      return recv_getOrdersByBillingDate();
    }

    public void send_getOrdersByBillingDate(OrderStatus status, long start_billing_date, long end_billing_date, long warehouse_id) throws org.apache.thrift.TException
    {
      getOrdersByBillingDate_args args = new getOrdersByBillingDate_args();
      args.setStatus(status);
      args.setStart_billing_date(start_billing_date);
      args.setEnd_billing_date(end_billing_date);
      args.setWarehouse_id(warehouse_id);
      sendBase("getOrdersByBillingDate", args);
    }

    public List<Order> recv_getOrdersByBillingDate() throws TransactionServiceException, org.apache.thrift.TException
    {
      getOrdersByBillingDate_result result = new getOrdersByBillingDate_result();
      receiveBase(result, "getOrdersByBillingDate");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getOrdersByBillingDate failed: unknown result");
    }

    public List<Order> getOrdersByShippingDate(long fromShippingDate, long toShippingDate, long providerId, long warehouseId, boolean cod) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_getOrdersByShippingDate(fromShippingDate, toShippingDate, providerId, warehouseId, cod);
      return recv_getOrdersByShippingDate();
    }

    public void send_getOrdersByShippingDate(long fromShippingDate, long toShippingDate, long providerId, long warehouseId, boolean cod) throws org.apache.thrift.TException
    {
      getOrdersByShippingDate_args args = new getOrdersByShippingDate_args();
      args.setFromShippingDate(fromShippingDate);
      args.setToShippingDate(toShippingDate);
      args.setProviderId(providerId);
      args.setWarehouseId(warehouseId);
      args.setCod(cod);
      sendBase("getOrdersByShippingDate", args);
    }

    public List<Order> recv_getOrdersByShippingDate() throws TransactionServiceException, org.apache.thrift.TException
    {
      getOrdersByShippingDate_result result = new getOrdersByShippingDate_result();
      receiveBase(result, "getOrdersByShippingDate");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getOrdersByShippingDate failed: unknown result");
    }

    public List<Long> getReturnableOrdersForCustomer(long customer_id, long limit) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_getReturnableOrdersForCustomer(customer_id, limit);
      return recv_getReturnableOrdersForCustomer();
    }

    public void send_getReturnableOrdersForCustomer(long customer_id, long limit) throws org.apache.thrift.TException
    {
      getReturnableOrdersForCustomer_args args = new getReturnableOrdersForCustomer_args();
      args.setCustomer_id(customer_id);
      args.setLimit(limit);
      sendBase("getReturnableOrdersForCustomer", args);
    }

    public List<Long> recv_getReturnableOrdersForCustomer() throws TransactionServiceException, org.apache.thrift.TException
    {
      getReturnableOrdersForCustomer_result result = new getReturnableOrdersForCustomer_result();
      receiveBase(result, "getReturnableOrdersForCustomer");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getReturnableOrdersForCustomer failed: unknown result");
    }

    public List<Long> getCancellableOrdersForCustomer(long customer_id, long limit) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_getCancellableOrdersForCustomer(customer_id, limit);
      return recv_getCancellableOrdersForCustomer();
    }

    public void send_getCancellableOrdersForCustomer(long customer_id, long limit) throws org.apache.thrift.TException
    {
      getCancellableOrdersForCustomer_args args = new getCancellableOrdersForCustomer_args();
      args.setCustomer_id(customer_id);
      args.setLimit(limit);
      sendBase("getCancellableOrdersForCustomer", args);
    }

    public List<Long> recv_getCancellableOrdersForCustomer() throws TransactionServiceException, org.apache.thrift.TException
    {
      getCancellableOrdersForCustomer_result result = new getCancellableOrdersForCustomer_result();
      receiveBase(result, "getCancellableOrdersForCustomer");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getCancellableOrdersForCustomer failed: unknown result");
    }

    public boolean changeOrderStatus(long orderId, OrderStatus status, String description) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_changeOrderStatus(orderId, status, description);
      return recv_changeOrderStatus();
    }

    public void send_changeOrderStatus(long orderId, OrderStatus status, String description) throws org.apache.thrift.TException
    {
      changeOrderStatus_args args = new changeOrderStatus_args();
      args.setOrderId(orderId);
      args.setStatus(status);
      args.setDescription(description);
      sendBase("changeOrderStatus", args);
    }

    public boolean recv_changeOrderStatus() throws TransactionServiceException, org.apache.thrift.TException
    {
      changeOrderStatus_result result = new changeOrderStatus_result();
      receiveBase(result, "changeOrderStatus");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "changeOrderStatus failed: unknown result");
    }

    public List<Order> getOrdersForTransaction(long transactionId, long customerId) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_getOrdersForTransaction(transactionId, customerId);
      return recv_getOrdersForTransaction();
    }

    public void send_getOrdersForTransaction(long transactionId, long customerId) throws org.apache.thrift.TException
    {
      getOrdersForTransaction_args args = new getOrdersForTransaction_args();
      args.setTransactionId(transactionId);
      args.setCustomerId(customerId);
      sendBase("getOrdersForTransaction", args);
    }

    public List<Order> recv_getOrdersForTransaction() throws TransactionServiceException, org.apache.thrift.TException
    {
      getOrdersForTransaction_result result = new getOrdersForTransaction_result();
      receiveBase(result, "getOrdersForTransaction");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getOrdersForTransaction failed: unknown result");
    }

    public List<Order> getOrdersForCustomer(long customerId, long from_date, long to_date, List<OrderStatus> statuses) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_getOrdersForCustomer(customerId, from_date, to_date, statuses);
      return recv_getOrdersForCustomer();
    }

    public void send_getOrdersForCustomer(long customerId, long from_date, long to_date, List<OrderStatus> statuses) throws org.apache.thrift.TException
    {
      getOrdersForCustomer_args args = new getOrdersForCustomer_args();
      args.setCustomerId(customerId);
      args.setFrom_date(from_date);
      args.setTo_date(to_date);
      args.setStatuses(statuses);
      sendBase("getOrdersForCustomer", args);
    }

    public List<Order> recv_getOrdersForCustomer() throws TransactionServiceException, org.apache.thrift.TException
    {
      getOrdersForCustomer_result result = new getOrdersForCustomer_result();
      receiveBase(result, "getOrdersForCustomer");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getOrdersForCustomer failed: unknown result");
    }

    public long createOrder(Order order) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_createOrder(order);
      return recv_createOrder();
    }

    public void send_createOrder(Order order) throws org.apache.thrift.TException
    {
      createOrder_args args = new createOrder_args();
      args.setOrder(order);
      sendBase("createOrder", args);
    }

    public long recv_createOrder() throws TransactionServiceException, org.apache.thrift.TException
    {
      createOrder_result result = new createOrder_result();
      receiveBase(result, "createOrder");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "createOrder failed: unknown result");
    }

    public Order getOrder(long id) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_getOrder(id);
      return recv_getOrder();
    }

    public void send_getOrder(long id) throws org.apache.thrift.TException
    {
      getOrder_args args = new getOrder_args();
      args.setId(id);
      sendBase("getOrder", args);
    }

    public Order recv_getOrder() throws TransactionServiceException, org.apache.thrift.TException
    {
      getOrder_result result = new getOrder_result();
      receiveBase(result, "getOrder");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getOrder failed: unknown result");
    }

    public List<LineItem> getLineItemsForOrder(long orderId) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_getLineItemsForOrder(orderId);
      return recv_getLineItemsForOrder();
    }

    public void send_getLineItemsForOrder(long orderId) throws org.apache.thrift.TException
    {
      getLineItemsForOrder_args args = new getLineItemsForOrder_args();
      args.setOrderId(orderId);
      sendBase("getLineItemsForOrder", args);
    }

    public List<LineItem> recv_getLineItemsForOrder() throws TransactionServiceException, org.apache.thrift.TException
    {
      getLineItemsForOrder_result result = new getLineItemsForOrder_result();
      receiveBase(result, "getLineItemsForOrder");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getLineItemsForOrder failed: unknown result");
    }

    public List<Order> getOrderList(List<Long> order_ids) throws org.apache.thrift.TException
    {
      send_getOrderList(order_ids);
      return recv_getOrderList();
    }

    public void send_getOrderList(List<Long> order_ids) throws org.apache.thrift.TException
    {
      getOrderList_args args = new getOrderList_args();
      args.setOrder_ids(order_ids);
      sendBase("getOrderList", args);
    }

    public List<Order> recv_getOrderList() throws org.apache.thrift.TException
    {
      getOrderList_result result = new getOrderList_result();
      receiveBase(result, "getOrderList");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getOrderList failed: unknown result");
    }

    public List<Order> getOrderListForVendor(List<Long> order_ids, long vendorId) throws org.apache.thrift.TException
    {
      send_getOrderListForVendor(order_ids, vendorId);
      return recv_getOrderListForVendor();
    }

    public void send_getOrderListForVendor(List<Long> order_ids, long vendorId) throws org.apache.thrift.TException
    {
      getOrderListForVendor_args args = new getOrderListForVendor_args();
      args.setOrder_ids(order_ids);
      args.setVendorId(vendorId);
      sendBase("getOrderListForVendor", args);
    }

    public List<Order> recv_getOrderListForVendor() throws org.apache.thrift.TException
    {
      getOrderListForVendor_result result = new getOrderListForVendor_result();
      receiveBase(result, "getOrderListForVendor");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getOrderListForVendor failed: unknown result");
    }

    public Order getOrderForCustomer(long orderId, long customerId) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_getOrderForCustomer(orderId, customerId);
      return recv_getOrderForCustomer();
    }

    public void send_getOrderForCustomer(long orderId, long customerId) throws org.apache.thrift.TException
    {
      getOrderForCustomer_args args = new getOrderForCustomer_args();
      args.setOrderId(orderId);
      args.setCustomerId(customerId);
      sendBase("getOrderForCustomer", args);
    }

    public Order recv_getOrderForCustomer() throws TransactionServiceException, org.apache.thrift.TException
    {
      getOrderForCustomer_result result = new getOrderForCustomer_result();
      receiveBase(result, "getOrderForCustomer");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getOrderForCustomer failed: unknown result");
    }

    public List<Alert> getAlerts(long type, long warehouseId, long status, long timestamp) throws org.apache.thrift.TException
    {
      send_getAlerts(type, warehouseId, status, timestamp);
      return recv_getAlerts();
    }

    public void send_getAlerts(long type, long warehouseId, long status, long timestamp) throws org.apache.thrift.TException
    {
      getAlerts_args args = new getAlerts_args();
      args.setType(type);
      args.setWarehouseId(warehouseId);
      args.setStatus(status);
      args.setTimestamp(timestamp);
      sendBase("getAlerts", args);
    }

    public List<Alert> recv_getAlerts() throws org.apache.thrift.TException
    {
      getAlerts_result result = new getAlerts_result();
      receiveBase(result, "getAlerts");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAlerts failed: unknown result");
    }

    public void addAlert(long type, long warehouseId, String description) throws org.apache.thrift.TException
    {
      send_addAlert(type, warehouseId, description);
      recv_addAlert();
    }

    public void send_addAlert(long type, long warehouseId, String description) throws org.apache.thrift.TException
    {
      addAlert_args args = new addAlert_args();
      args.setType(type);
      args.setWarehouseId(warehouseId);
      args.setDescription(description);
      sendBase("addAlert", args);
    }

    public void recv_addAlert() throws org.apache.thrift.TException
    {
      addAlert_result result = new addAlert_result();
      receiveBase(result, "addAlert");
      return;
    }

    public void markAlertsAsSeen(long warehouseId) throws org.apache.thrift.TException
    {
      send_markAlertsAsSeen(warehouseId);
      recv_markAlertsAsSeen();
    }

    public void send_markAlertsAsSeen(long warehouseId) throws org.apache.thrift.TException
    {
      markAlertsAsSeen_args args = new markAlertsAsSeen_args();
      args.setWarehouseId(warehouseId);
      sendBase("markAlertsAsSeen", args);
    }

    public void recv_markAlertsAsSeen() throws org.apache.thrift.TException
    {
      markAlertsAsSeen_result result = new markAlertsAsSeen_result();
      receiveBase(result, "markAlertsAsSeen");
      return;
    }

    public long getValidOrderCount() throws org.apache.thrift.TException
    {
      send_getValidOrderCount();
      return recv_getValidOrderCount();
    }

    public void send_getValidOrderCount() throws org.apache.thrift.TException
    {
      getValidOrderCount_args args = new getValidOrderCount_args();
      sendBase("getValidOrderCount", args);
    }

    public long recv_getValidOrderCount() throws org.apache.thrift.TException
    {
      getValidOrderCount_result result = new getValidOrderCount_result();
      receiveBase(result, "getValidOrderCount");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getValidOrderCount failed: unknown result");
    }

    public long getNoOfCustomersWithSuccessfulTransaction() throws org.apache.thrift.TException
    {
      send_getNoOfCustomersWithSuccessfulTransaction();
      return recv_getNoOfCustomersWithSuccessfulTransaction();
    }

    public void send_getNoOfCustomersWithSuccessfulTransaction() throws org.apache.thrift.TException
    {
      getNoOfCustomersWithSuccessfulTransaction_args args = new getNoOfCustomersWithSuccessfulTransaction_args();
      sendBase("getNoOfCustomersWithSuccessfulTransaction", args);
    }

    public long recv_getNoOfCustomersWithSuccessfulTransaction() throws org.apache.thrift.TException
    {
      getNoOfCustomersWithSuccessfulTransaction_result result = new getNoOfCustomersWithSuccessfulTransaction_result();
      receiveBase(result, "getNoOfCustomersWithSuccessfulTransaction");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getNoOfCustomersWithSuccessfulTransaction failed: unknown result");
    }

    public List<Double> getValidOrdersAmountRange() throws org.apache.thrift.TException
    {
      send_getValidOrdersAmountRange();
      return recv_getValidOrdersAmountRange();
    }

    public void send_getValidOrdersAmountRange() throws org.apache.thrift.TException
    {
      getValidOrdersAmountRange_args args = new getValidOrdersAmountRange_args();
      sendBase("getValidOrdersAmountRange", args);
    }

    public List<Double> recv_getValidOrdersAmountRange() throws org.apache.thrift.TException
    {
      getValidOrdersAmountRange_result result = new getValidOrdersAmountRange_result();
      receiveBase(result, "getValidOrdersAmountRange");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getValidOrdersAmountRange failed: unknown result");
    }

    public List<Order> getValidOrders(long limit, boolean onlyStore) throws org.apache.thrift.TException
    {
      send_getValidOrders(limit, onlyStore);
      return recv_getValidOrders();
    }

    public void send_getValidOrders(long limit, boolean onlyStore) throws org.apache.thrift.TException
    {
      getValidOrders_args args = new getValidOrders_args();
      args.setLimit(limit);
      args.setOnlyStore(onlyStore);
      sendBase("getValidOrders", args);
    }

    public List<Order> recv_getValidOrders() throws org.apache.thrift.TException
    {
      getValidOrders_result result = new getValidOrders_result();
      receiveBase(result, "getValidOrders");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getValidOrders failed: unknown result");
    }

    public List<Order> batchOrders(long warehouseId) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_batchOrders(warehouseId);
      return recv_batchOrders();
    }

    public void send_batchOrders(long warehouseId) throws org.apache.thrift.TException
    {
      batchOrders_args args = new batchOrders_args();
      args.setWarehouseId(warehouseId);
      sendBase("batchOrders", args);
    }

    public List<Order> recv_batchOrders() throws TransactionServiceException, org.apache.thrift.TException
    {
      batchOrders_result result = new batchOrders_result();
      receiveBase(result, "batchOrders");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "batchOrders failed: unknown result");
    }

    public boolean markOrderAsOutOfStock(long orderId) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_markOrderAsOutOfStock(orderId);
      return recv_markOrderAsOutOfStock();
    }

    public void send_markOrderAsOutOfStock(long orderId) throws org.apache.thrift.TException
    {
      markOrderAsOutOfStock_args args = new markOrderAsOutOfStock_args();
      args.setOrderId(orderId);
      sendBase("markOrderAsOutOfStock", args);
    }

    public boolean recv_markOrderAsOutOfStock() throws TransactionServiceException, org.apache.thrift.TException
    {
      markOrderAsOutOfStock_result result = new markOrderAsOutOfStock_result();
      receiveBase(result, "markOrderAsOutOfStock");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "markOrderAsOutOfStock failed: unknown result");
    }

    public boolean verifyOrder(long orderId) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_verifyOrder(orderId);
      return recv_verifyOrder();
    }

    public void send_verifyOrder(long orderId) throws org.apache.thrift.TException
    {
      verifyOrder_args args = new verifyOrder_args();
      args.setOrderId(orderId);
      sendBase("verifyOrder", args);
    }

    public boolean recv_verifyOrder() throws TransactionServiceException, org.apache.thrift.TException
    {
      verifyOrder_result result = new verifyOrder_result();
      receiveBase(result, "verifyOrder");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "verifyOrder failed: unknown result");
    }

    public boolean acceptOrder(long orderId) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_acceptOrder(orderId);
      return recv_acceptOrder();
    }

    public void send_acceptOrder(long orderId) throws org.apache.thrift.TException
    {
      acceptOrder_args args = new acceptOrder_args();
      args.setOrderId(orderId);
      sendBase("acceptOrder", args);
    }

    public boolean recv_acceptOrder() throws TransactionServiceException, org.apache.thrift.TException
    {
      acceptOrder_result result = new acceptOrder_result();
      receiveBase(result, "acceptOrder");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "acceptOrder failed: unknown result");
    }

    public boolean unacceptOrder(long orderId) throws org.apache.thrift.TException
    {
      send_unacceptOrder(orderId);
      return recv_unacceptOrder();
    }

    public void send_unacceptOrder(long orderId) throws org.apache.thrift.TException
    {
      unacceptOrder_args args = new unacceptOrder_args();
      args.setOrderId(orderId);
      sendBase("unacceptOrder", args);
    }

    public boolean recv_unacceptOrder() throws org.apache.thrift.TException
    {
      unacceptOrder_result result = new unacceptOrder_result();
      receiveBase(result, "unacceptOrder");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "unacceptOrder failed: unknown result");
    }

    public boolean addBillingDetails(long orderId, String invoice_number, List<String> serialNumber, List<String> itemNumber, long freebieWarehouseId, String billed_by, long jacketNumber, long billingType, long fulfilmentWarehouseId, boolean authorize) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_addBillingDetails(orderId, invoice_number, serialNumber, itemNumber, freebieWarehouseId, billed_by, jacketNumber, billingType, fulfilmentWarehouseId, authorize);
      return recv_addBillingDetails();
    }

    public void send_addBillingDetails(long orderId, String invoice_number, List<String> serialNumber, List<String> itemNumber, long freebieWarehouseId, String billed_by, long jacketNumber, long billingType, long fulfilmentWarehouseId, boolean authorize) throws org.apache.thrift.TException
    {
      addBillingDetails_args args = new addBillingDetails_args();
      args.setOrderId(orderId);
      args.setInvoice_number(invoice_number);
      args.setSerialNumber(serialNumber);
      args.setItemNumber(itemNumber);
      args.setFreebieWarehouseId(freebieWarehouseId);
      args.setBilled_by(billed_by);
      args.setJacketNumber(jacketNumber);
      args.setBillingType(billingType);
      args.setFulfilmentWarehouseId(fulfilmentWarehouseId);
      args.setAuthorize(authorize);
      sendBase("addBillingDetails", args);
    }

    public boolean recv_addBillingDetails() throws TransactionServiceException, org.apache.thrift.TException
    {
      addBillingDetails_result result = new addBillingDetails_result();
      receiveBase(result, "addBillingDetails");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "addBillingDetails failed: unknown result");
    }

    public void addInvoiceNumber(long orderId, String invoiceNumber, String color, String serialNumber, String itemNumber) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_addInvoiceNumber(orderId, invoiceNumber, color, serialNumber, itemNumber);
      recv_addInvoiceNumber();
    }

    public void send_addInvoiceNumber(long orderId, String invoiceNumber, String color, String serialNumber, String itemNumber) throws org.apache.thrift.TException
    {
      addInvoiceNumber_args args = new addInvoiceNumber_args();
      args.setOrderId(orderId);
      args.setInvoiceNumber(invoiceNumber);
      args.setColor(color);
      args.setSerialNumber(serialNumber);
      args.setItemNumber(itemNumber);
      sendBase("addInvoiceNumber", args);
    }

    public void recv_addInvoiceNumber() throws TransactionServiceException, org.apache.thrift.TException
    {
      addInvoiceNumber_result result = new addInvoiceNumber_result();
      receiveBase(result, "addInvoiceNumber");
      if (result.ex != null) {
        throw result.ex;
      }
      return;
    }

    public boolean markOrdersAsShippedFromWarehouse(long warehouseId, long providerId, boolean cod, List<Long> orderIds) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_markOrdersAsShippedFromWarehouse(warehouseId, providerId, cod, orderIds);
      return recv_markOrdersAsShippedFromWarehouse();
    }

    public void send_markOrdersAsShippedFromWarehouse(long warehouseId, long providerId, boolean cod, List<Long> orderIds) throws org.apache.thrift.TException
    {
      markOrdersAsShippedFromWarehouse_args args = new markOrdersAsShippedFromWarehouse_args();
      args.setWarehouseId(warehouseId);
      args.setProviderId(providerId);
      args.setCod(cod);
      args.setOrderIds(orderIds);
      sendBase("markOrdersAsShippedFromWarehouse", args);
    }

    public boolean recv_markOrdersAsShippedFromWarehouse() throws TransactionServiceException, org.apache.thrift.TException
    {
      markOrdersAsShippedFromWarehouse_result result = new markOrdersAsShippedFromWarehouse_result();
      receiveBase(result, "markOrdersAsShippedFromWarehouse");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "markOrdersAsShippedFromWarehouse failed: unknown result");
    }

    public boolean markOrdersAsReturnedFromStore(long providerId, List<Long> orderIds, List<String> awbs) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_markOrdersAsReturnedFromStore(providerId, orderIds, awbs);
      return recv_markOrdersAsReturnedFromStore();
    }

    public void send_markOrdersAsReturnedFromStore(long providerId, List<Long> orderIds, List<String> awbs) throws org.apache.thrift.TException
    {
      markOrdersAsReturnedFromStore_args args = new markOrdersAsReturnedFromStore_args();
      args.setProviderId(providerId);
      args.setOrderIds(orderIds);
      args.setAwbs(awbs);
      sendBase("markOrdersAsReturnedFromStore", args);
    }

    public boolean recv_markOrdersAsReturnedFromStore() throws TransactionServiceException, org.apache.thrift.TException
    {
      markOrdersAsReturnedFromStore_result result = new markOrdersAsReturnedFromStore_result();
      receiveBase(result, "markOrdersAsReturnedFromStore");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "markOrdersAsReturnedFromStore failed: unknown result");
    }

    public void markOrdersAsPickedUp(long providerId, Map<String,String> pickupDetails) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_markOrdersAsPickedUp(providerId, pickupDetails);
      recv_markOrdersAsPickedUp();
    }

    public void send_markOrdersAsPickedUp(long providerId, Map<String,String> pickupDetails) throws org.apache.thrift.TException
    {
      markOrdersAsPickedUp_args args = new markOrdersAsPickedUp_args();
      args.setProviderId(providerId);
      args.setPickupDetails(pickupDetails);
      sendBase("markOrdersAsPickedUp", args);
    }

    public void recv_markOrdersAsPickedUp() throws TransactionServiceException, org.apache.thrift.TException
    {
      markOrdersAsPickedUp_result result = new markOrdersAsPickedUp_result();
      receiveBase(result, "markOrdersAsPickedUp");
      if (result.ex != null) {
        throw result.ex;
      }
      return;
    }

    public List<Order> getOrdersNotPickedUp(long providerId) throws org.apache.thrift.TException
    {
      send_getOrdersNotPickedUp(providerId);
      return recv_getOrdersNotPickedUp();
    }

    public void send_getOrdersNotPickedUp(long providerId) throws org.apache.thrift.TException
    {
      getOrdersNotPickedUp_args args = new getOrdersNotPickedUp_args();
      args.setProviderId(providerId);
      sendBase("getOrdersNotPickedUp", args);
    }

    public List<Order> recv_getOrdersNotPickedUp() throws org.apache.thrift.TException
    {
      getOrdersNotPickedUp_result result = new getOrdersNotPickedUp_result();
      receiveBase(result, "getOrdersNotPickedUp");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getOrdersNotPickedUp failed: unknown result");
    }

    public void markOrdersAsDelivered(long providerId, Map<String,String> deliveredOrders) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_markOrdersAsDelivered(providerId, deliveredOrders);
      recv_markOrdersAsDelivered();
    }

    public void send_markOrdersAsDelivered(long providerId, Map<String,String> deliveredOrders) throws org.apache.thrift.TException
    {
      markOrdersAsDelivered_args args = new markOrdersAsDelivered_args();
      args.setProviderId(providerId);
      args.setDeliveredOrders(deliveredOrders);
      sendBase("markOrdersAsDelivered", args);
    }

    public void recv_markOrdersAsDelivered() throws TransactionServiceException, org.apache.thrift.TException
    {
      markOrdersAsDelivered_result result = new markOrdersAsDelivered_result();
      receiveBase(result, "markOrdersAsDelivered");
      if (result.ex != null) {
        throw result.ex;
      }
      return;
    }

    public void markAsRTOrders(long providerId, Map<String,String> returnedOrders) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_markAsRTOrders(providerId, returnedOrders);
      recv_markAsRTOrders();
    }

    public void send_markAsRTOrders(long providerId, Map<String,String> returnedOrders) throws org.apache.thrift.TException
    {
      markAsRTOrders_args args = new markAsRTOrders_args();
      args.setProviderId(providerId);
      args.setReturnedOrders(returnedOrders);
      sendBase("markAsRTOrders", args);
    }

    public void recv_markAsRTOrders() throws TransactionServiceException, org.apache.thrift.TException
    {
      markAsRTOrders_result result = new markAsRTOrders_result();
      receiveBase(result, "markAsRTOrders");
      if (result.ex != null) {
        throw result.ex;
      }
      return;
    }

    public List<Order> getRTOrders(long providerId) throws org.apache.thrift.TException
    {
      send_getRTOrders(providerId);
      return recv_getRTOrders();
    }

    public void send_getRTOrders(long providerId) throws org.apache.thrift.TException
    {
      getRTOrders_args args = new getRTOrders_args();
      args.setProviderId(providerId);
      sendBase("getRTOrders", args);
    }

    public List<Order> recv_getRTOrders() throws org.apache.thrift.TException
    {
      getRTOrders_result result = new getRTOrders_result();
      receiveBase(result, "getRTOrders");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getRTOrders failed: unknown result");
    }

    public void updateNonDeliveryReason(long providerId, Map<String,String> undeliveredOrders) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_updateNonDeliveryReason(providerId, undeliveredOrders);
      recv_updateNonDeliveryReason();
    }

    public void send_updateNonDeliveryReason(long providerId, Map<String,String> undeliveredOrders) throws org.apache.thrift.TException
    {
      updateNonDeliveryReason_args args = new updateNonDeliveryReason_args();
      args.setProviderId(providerId);
      args.setUndeliveredOrders(undeliveredOrders);
      sendBase("updateNonDeliveryReason", args);
    }

    public void recv_updateNonDeliveryReason() throws TransactionServiceException, org.apache.thrift.TException
    {
      updateNonDeliveryReason_result result = new updateNonDeliveryReason_result();
      receiveBase(result, "updateNonDeliveryReason");
      if (result.ex != null) {
        throw result.ex;
      }
      return;
    }

    public List<Order> getNonDeliveredOrdersbyCourier(long providerId) throws org.apache.thrift.TException
    {
      send_getNonDeliveredOrdersbyCourier(providerId);
      return recv_getNonDeliveredOrdersbyCourier();
    }

    public void send_getNonDeliveredOrdersbyCourier(long providerId) throws org.apache.thrift.TException
    {
      getNonDeliveredOrdersbyCourier_args args = new getNonDeliveredOrdersbyCourier_args();
      args.setProviderId(providerId);
      sendBase("getNonDeliveredOrdersbyCourier", args);
    }

    public List<Order> recv_getNonDeliveredOrdersbyCourier() throws org.apache.thrift.TException
    {
      getNonDeliveredOrdersbyCourier_result result = new getNonDeliveredOrdersbyCourier_result();
      receiveBase(result, "getNonDeliveredOrdersbyCourier");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getNonDeliveredOrdersbyCourier failed: unknown result");
    }

    public void markOrdersAsLocalConnected(long providerId, Map<String,String> local_connected_orders) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_markOrdersAsLocalConnected(providerId, local_connected_orders);
      recv_markOrdersAsLocalConnected();
    }

    public void send_markOrdersAsLocalConnected(long providerId, Map<String,String> local_connected_orders) throws org.apache.thrift.TException
    {
      markOrdersAsLocalConnected_args args = new markOrdersAsLocalConnected_args();
      args.setProviderId(providerId);
      args.setLocal_connected_orders(local_connected_orders);
      sendBase("markOrdersAsLocalConnected", args);
    }

    public void recv_markOrdersAsLocalConnected() throws TransactionServiceException, org.apache.thrift.TException
    {
      markOrdersAsLocalConnected_result result = new markOrdersAsLocalConnected_result();
      receiveBase(result, "markOrdersAsLocalConnected");
      if (result.ex != null) {
        throw result.ex;
      }
      return;
    }

    public List<Order> getOrdersNotLocalConnected(long providerId) throws org.apache.thrift.TException
    {
      send_getOrdersNotLocalConnected(providerId);
      return recv_getOrdersNotLocalConnected();
    }

    public void send_getOrdersNotLocalConnected(long providerId) throws org.apache.thrift.TException
    {
      getOrdersNotLocalConnected_args args = new getOrdersNotLocalConnected_args();
      args.setProviderId(providerId);
      sendBase("getOrdersNotLocalConnected", args);
    }

    public List<Order> recv_getOrdersNotLocalConnected() throws org.apache.thrift.TException
    {
      getOrdersNotLocalConnected_result result = new getOrdersNotLocalConnected_result();
      receiveBase(result, "getOrdersNotLocalConnected");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getOrdersNotLocalConnected failed: unknown result");
    }

    public void markOrdersAsDestinationCityReached(long providerId, Map<String,String> destination_city_reached_orders) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_markOrdersAsDestinationCityReached(providerId, destination_city_reached_orders);
      recv_markOrdersAsDestinationCityReached();
    }

    public void send_markOrdersAsDestinationCityReached(long providerId, Map<String,String> destination_city_reached_orders) throws org.apache.thrift.TException
    {
      markOrdersAsDestinationCityReached_args args = new markOrdersAsDestinationCityReached_args();
      args.setProviderId(providerId);
      args.setDestination_city_reached_orders(destination_city_reached_orders);
      sendBase("markOrdersAsDestinationCityReached", args);
    }

    public void recv_markOrdersAsDestinationCityReached() throws TransactionServiceException, org.apache.thrift.TException
    {
      markOrdersAsDestinationCityReached_result result = new markOrdersAsDestinationCityReached_result();
      receiveBase(result, "markOrdersAsDestinationCityReached");
      if (result.ex != null) {
        throw result.ex;
      }
      return;
    }

    public void markOrdersAsFirstDeliveryAttempted(long providerId, Map<String,String> first_atdl_orders) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_markOrdersAsFirstDeliveryAttempted(providerId, first_atdl_orders);
      recv_markOrdersAsFirstDeliveryAttempted();
    }

    public void send_markOrdersAsFirstDeliveryAttempted(long providerId, Map<String,String> first_atdl_orders) throws org.apache.thrift.TException
    {
      markOrdersAsFirstDeliveryAttempted_args args = new markOrdersAsFirstDeliveryAttempted_args();
      args.setProviderId(providerId);
      args.setFirst_atdl_orders(first_atdl_orders);
      sendBase("markOrdersAsFirstDeliveryAttempted", args);
    }

    public void recv_markOrdersAsFirstDeliveryAttempted() throws TransactionServiceException, org.apache.thrift.TException
    {
      markOrdersAsFirstDeliveryAttempted_result result = new markOrdersAsFirstDeliveryAttempted_result();
      receiveBase(result, "markOrdersAsFirstDeliveryAttempted");
      if (result.ex != null) {
        throw result.ex;
      }
      return;
    }

    public List<Order> getUndeliveredOrders(long providerId, long warehouseId) throws org.apache.thrift.TException
    {
      send_getUndeliveredOrders(providerId, warehouseId);
      return recv_getUndeliveredOrders();
    }

    public void send_getUndeliveredOrders(long providerId, long warehouseId) throws org.apache.thrift.TException
    {
      getUndeliveredOrders_args args = new getUndeliveredOrders_args();
      args.setProviderId(providerId);
      args.setWarehouseId(warehouseId);
      sendBase("getUndeliveredOrders", args);
    }

    public List<Order> recv_getUndeliveredOrders() throws org.apache.thrift.TException
    {
      getUndeliveredOrders_result result = new getUndeliveredOrders_result();
      receiveBase(result, "getUndeliveredOrders");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getUndeliveredOrders failed: unknown result");
    }

    public List<Order> getUndeliveredOrdersExpectedDeliveryDateNotMet() throws org.apache.thrift.TException
    {
      send_getUndeliveredOrdersExpectedDeliveryDateNotMet();
      return recv_getUndeliveredOrdersExpectedDeliveryDateNotMet();
    }

    public void send_getUndeliveredOrdersExpectedDeliveryDateNotMet() throws org.apache.thrift.TException
    {
      getUndeliveredOrdersExpectedDeliveryDateNotMet_args args = new getUndeliveredOrdersExpectedDeliveryDateNotMet_args();
      sendBase("getUndeliveredOrdersExpectedDeliveryDateNotMet", args);
    }

    public List<Order> recv_getUndeliveredOrdersExpectedDeliveryDateNotMet() throws org.apache.thrift.TException
    {
      getUndeliveredOrdersExpectedDeliveryDateNotMet_result result = new getUndeliveredOrdersExpectedDeliveryDateNotMet_result();
      receiveBase(result, "getUndeliveredOrdersExpectedDeliveryDateNotMet");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getUndeliveredOrdersExpectedDeliveryDateNotMet failed: unknown result");
    }

    public boolean toggleDOAFlag(long orderId) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_toggleDOAFlag(orderId);
      return recv_toggleDOAFlag();
    }

    public void send_toggleDOAFlag(long orderId) throws org.apache.thrift.TException
    {
      toggleDOAFlag_args args = new toggleDOAFlag_args();
      args.setOrderId(orderId);
      sendBase("toggleDOAFlag", args);
    }

    public boolean recv_toggleDOAFlag() throws TransactionServiceException, org.apache.thrift.TException
    {
      toggleDOAFlag_result result = new toggleDOAFlag_result();
      receiveBase(result, "toggleDOAFlag");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "toggleDOAFlag failed: unknown result");
    }

    public void markOrderAsDelivered(long orderId, long deliveryTimestamp, String receiver) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_markOrderAsDelivered(orderId, deliveryTimestamp, receiver);
      recv_markOrderAsDelivered();
    }

    public void send_markOrderAsDelivered(long orderId, long deliveryTimestamp, String receiver) throws org.apache.thrift.TException
    {
      markOrderAsDelivered_args args = new markOrderAsDelivered_args();
      args.setOrderId(orderId);
      args.setDeliveryTimestamp(deliveryTimestamp);
      args.setReceiver(receiver);
      sendBase("markOrderAsDelivered", args);
    }

    public void recv_markOrderAsDelivered() throws TransactionServiceException, org.apache.thrift.TException
    {
      markOrderAsDelivered_result result = new markOrderAsDelivered_result();
      receiveBase(result, "markOrderAsDelivered");
      if (result.ex != null) {
        throw result.ex;
      }
      return;
    }

    public void markOrderAsReceivedAtStore(long orderId, long deliveryTimestamp) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_markOrderAsReceivedAtStore(orderId, deliveryTimestamp);
      recv_markOrderAsReceivedAtStore();
    }

    public void send_markOrderAsReceivedAtStore(long orderId, long deliveryTimestamp) throws org.apache.thrift.TException
    {
      markOrderAsReceivedAtStore_args args = new markOrderAsReceivedAtStore_args();
      args.setOrderId(orderId);
      args.setDeliveryTimestamp(deliveryTimestamp);
      sendBase("markOrderAsReceivedAtStore", args);
    }

    public void recv_markOrderAsReceivedAtStore() throws TransactionServiceException, org.apache.thrift.TException
    {
      markOrderAsReceivedAtStore_result result = new markOrderAsReceivedAtStore_result();
      receiveBase(result, "markOrderAsReceivedAtStore");
      if (result.ex != null) {
        throw result.ex;
      }
      return;
    }

    public boolean markOrderDoaRequestReceived(long orderId) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_markOrderDoaRequestReceived(orderId);
      return recv_markOrderDoaRequestReceived();
    }

    public void send_markOrderDoaRequestReceived(long orderId) throws org.apache.thrift.TException
    {
      markOrderDoaRequestReceived_args args = new markOrderDoaRequestReceived_args();
      args.setOrderId(orderId);
      sendBase("markOrderDoaRequestReceived", args);
    }

    public boolean recv_markOrderDoaRequestReceived() throws TransactionServiceException, org.apache.thrift.TException
    {
      markOrderDoaRequestReceived_result result = new markOrderDoaRequestReceived_result();
      receiveBase(result, "markOrderDoaRequestReceived");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "markOrderDoaRequestReceived failed: unknown result");
    }

    public boolean markOrderDoaRequestAuthorized(long orderId, boolean isAuthorized, boolean fromStore, boolean isReship) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_markOrderDoaRequestAuthorized(orderId, isAuthorized, fromStore, isReship);
      return recv_markOrderDoaRequestAuthorized();
    }

    public void send_markOrderDoaRequestAuthorized(long orderId, boolean isAuthorized, boolean fromStore, boolean isReship) throws org.apache.thrift.TException
    {
      markOrderDoaRequestAuthorized_args args = new markOrderDoaRequestAuthorized_args();
      args.setOrderId(orderId);
      args.setIsAuthorized(isAuthorized);
      args.setFromStore(fromStore);
      args.setIsReship(isReship);
      sendBase("markOrderDoaRequestAuthorized", args);
    }

    public boolean recv_markOrderDoaRequestAuthorized() throws TransactionServiceException, org.apache.thrift.TException
    {
      markOrderDoaRequestAuthorized_result result = new markOrderDoaRequestAuthorized_result();
      receiveBase(result, "markOrderDoaRequestAuthorized");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "markOrderDoaRequestAuthorized failed: unknown result");
    }

    public boolean markOrderReturnRequestReceived(long orderId) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_markOrderReturnRequestReceived(orderId);
      return recv_markOrderReturnRequestReceived();
    }

    public void send_markOrderReturnRequestReceived(long orderId) throws org.apache.thrift.TException
    {
      markOrderReturnRequestReceived_args args = new markOrderReturnRequestReceived_args();
      args.setOrderId(orderId);
      sendBase("markOrderReturnRequestReceived", args);
    }

    public boolean recv_markOrderReturnRequestReceived() throws TransactionServiceException, org.apache.thrift.TException
    {
      markOrderReturnRequestReceived_result result = new markOrderReturnRequestReceived_result();
      receiveBase(result, "markOrderReturnRequestReceived");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "markOrderReturnRequestReceived failed: unknown result");
    }

    public boolean markOrderReturnRequestAuthorized(long orderId, boolean isAuthorized, boolean fromStore, boolean isReship) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_markOrderReturnRequestAuthorized(orderId, isAuthorized, fromStore, isReship);
      return recv_markOrderReturnRequestAuthorized();
    }

    public void send_markOrderReturnRequestAuthorized(long orderId, boolean isAuthorized, boolean fromStore, boolean isReship) throws org.apache.thrift.TException
    {
      markOrderReturnRequestAuthorized_args args = new markOrderReturnRequestAuthorized_args();
      args.setOrderId(orderId);
      args.setIsAuthorized(isAuthorized);
      args.setFromStore(fromStore);
      args.setIsReship(isReship);
      sendBase("markOrderReturnRequestAuthorized", args);
    }

    public boolean recv_markOrderReturnRequestAuthorized() throws TransactionServiceException, org.apache.thrift.TException
    {
      markOrderReturnRequestAuthorized_result result = new markOrderReturnRequestAuthorized_result();
      receiveBase(result, "markOrderReturnRequestAuthorized");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "markOrderReturnRequestAuthorized failed: unknown result");
    }

    public boolean requestPickupNumber(long orderId, long providerId) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_requestPickupNumber(orderId, providerId);
      return recv_requestPickupNumber();
    }

    public void send_requestPickupNumber(long orderId, long providerId) throws org.apache.thrift.TException
    {
      requestPickupNumber_args args = new requestPickupNumber_args();
      args.setOrderId(orderId);
      args.setProviderId(providerId);
      sendBase("requestPickupNumber", args);
    }

    public boolean recv_requestPickupNumber() throws TransactionServiceException, org.apache.thrift.TException
    {
      requestPickupNumber_result result = new requestPickupNumber_result();
      receiveBase(result, "requestPickupNumber");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "requestPickupNumber failed: unknown result");
    }

    public boolean authorizePickup(long orderId, String pickupNumber, long providerId) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_authorizePickup(orderId, pickupNumber, providerId);
      return recv_authorizePickup();
    }

    public void send_authorizePickup(long orderId, String pickupNumber, long providerId) throws org.apache.thrift.TException
    {
      authorizePickup_args args = new authorizePickup_args();
      args.setOrderId(orderId);
      args.setPickupNumber(pickupNumber);
      args.setProviderId(providerId);
      sendBase("authorizePickup", args);
    }

    public boolean recv_authorizePickup() throws TransactionServiceException, org.apache.thrift.TException
    {
      authorizePickup_result result = new authorizePickup_result();
      receiveBase(result, "authorizePickup");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "authorizePickup failed: unknown result");
    }

    public void markDoasAsPickedUp(long providerId, Map<String,String> pickupDetails) throws org.apache.thrift.TException
    {
      send_markDoasAsPickedUp(providerId, pickupDetails);
      recv_markDoasAsPickedUp();
    }

    public void send_markDoasAsPickedUp(long providerId, Map<String,String> pickupDetails) throws org.apache.thrift.TException
    {
      markDoasAsPickedUp_args args = new markDoasAsPickedUp_args();
      args.setProviderId(providerId);
      args.setPickupDetails(pickupDetails);
      sendBase("markDoasAsPickedUp", args);
    }

    public void recv_markDoasAsPickedUp() throws org.apache.thrift.TException
    {
      markDoasAsPickedUp_result result = new markDoasAsPickedUp_result();
      receiveBase(result, "markDoasAsPickedUp");
      return;
    }

    public List<Order> getDoasNotPickedUp(long providerId) throws org.apache.thrift.TException
    {
      send_getDoasNotPickedUp(providerId);
      return recv_getDoasNotPickedUp();
    }

    public void send_getDoasNotPickedUp(long providerId) throws org.apache.thrift.TException
    {
      getDoasNotPickedUp_args args = new getDoasNotPickedUp_args();
      args.setProviderId(providerId);
      sendBase("getDoasNotPickedUp", args);
    }

    public List<Order> recv_getDoasNotPickedUp() throws org.apache.thrift.TException
    {
      getDoasNotPickedUp_result result = new getDoasNotPickedUp_result();
      receiveBase(result, "getDoasNotPickedUp");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getDoasNotPickedUp failed: unknown result");
    }

    public void markReturnOrdersAsPickedUp(long providerId, Map<String,String> pickupDetails) throws org.apache.thrift.TException
    {
      send_markReturnOrdersAsPickedUp(providerId, pickupDetails);
      recv_markReturnOrdersAsPickedUp();
    }

    public void send_markReturnOrdersAsPickedUp(long providerId, Map<String,String> pickupDetails) throws org.apache.thrift.TException
    {
      markReturnOrdersAsPickedUp_args args = new markReturnOrdersAsPickedUp_args();
      args.setProviderId(providerId);
      args.setPickupDetails(pickupDetails);
      sendBase("markReturnOrdersAsPickedUp", args);
    }

    public void recv_markReturnOrdersAsPickedUp() throws org.apache.thrift.TException
    {
      markReturnOrdersAsPickedUp_result result = new markReturnOrdersAsPickedUp_result();
      receiveBase(result, "markReturnOrdersAsPickedUp");
      return;
    }

    public List<Order> getReturnOrdersNotPickedUp(long providerId) throws org.apache.thrift.TException
    {
      send_getReturnOrdersNotPickedUp(providerId);
      return recv_getReturnOrdersNotPickedUp();
    }

    public void send_getReturnOrdersNotPickedUp(long providerId) throws org.apache.thrift.TException
    {
      getReturnOrdersNotPickedUp_args args = new getReturnOrdersNotPickedUp_args();
      args.setProviderId(providerId);
      sendBase("getReturnOrdersNotPickedUp", args);
    }

    public List<Order> recv_getReturnOrdersNotPickedUp() throws org.apache.thrift.TException
    {
      getReturnOrdersNotPickedUp_result result = new getReturnOrdersNotPickedUp_result();
      receiveBase(result, "getReturnOrdersNotPickedUp");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getReturnOrdersNotPickedUp failed: unknown result");
    }

    public boolean receiveReturn(long orderId, long receiveCondition, boolean receiveFreebie, String serialNumbers) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_receiveReturn(orderId, receiveCondition, receiveFreebie, serialNumbers);
      return recv_receiveReturn();
    }

    public void send_receiveReturn(long orderId, long receiveCondition, boolean receiveFreebie, String serialNumbers) throws org.apache.thrift.TException
    {
      receiveReturn_args args = new receiveReturn_args();
      args.setOrderId(orderId);
      args.setReceiveCondition(receiveCondition);
      args.setReceiveFreebie(receiveFreebie);
      args.setSerialNumbers(serialNumbers);
      sendBase("receiveReturn", args);
    }

    public boolean recv_receiveReturn() throws TransactionServiceException, org.apache.thrift.TException
    {
      receiveReturn_result result = new receiveReturn_result();
      receiveBase(result, "receiveReturn");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "receiveReturn failed: unknown result");
    }

    public boolean validateDoa(long orderId, boolean isValid) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_validateDoa(orderId, isValid);
      return recv_validateDoa();
    }

    public void send_validateDoa(long orderId, boolean isValid) throws org.apache.thrift.TException
    {
      validateDoa_args args = new validateDoa_args();
      args.setOrderId(orderId);
      args.setIsValid(isValid);
      sendBase("validateDoa", args);
    }

    public boolean recv_validateDoa() throws TransactionServiceException, org.apache.thrift.TException
    {
      validateDoa_result result = new validateDoa_result();
      receiveBase(result, "validateDoa");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "validateDoa failed: unknown result");
    }

    public boolean validateReturnProduct(long orderId, boolean isUsable) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_validateReturnProduct(orderId, isUsable);
      return recv_validateReturnProduct();
    }

    public void send_validateReturnProduct(long orderId, boolean isUsable) throws org.apache.thrift.TException
    {
      validateReturnProduct_args args = new validateReturnProduct_args();
      args.setOrderId(orderId);
      args.setIsUsable(isUsable);
      sendBase("validateReturnProduct", args);
    }

    public boolean recv_validateReturnProduct() throws TransactionServiceException, org.apache.thrift.TException
    {
      validateReturnProduct_result result = new validateReturnProduct_result();
      receiveBase(result, "validateReturnProduct");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "validateReturnProduct failed: unknown result");
    }

    public long reshipOrder(long orderId) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_reshipOrder(orderId);
      return recv_reshipOrder();
    }

    public void send_reshipOrder(long orderId) throws org.apache.thrift.TException
    {
      reshipOrder_args args = new reshipOrder_args();
      args.setOrderId(orderId);
      sendBase("reshipOrder", args);
    }

    public long recv_reshipOrder() throws TransactionServiceException, org.apache.thrift.TException
    {
      reshipOrder_result result = new reshipOrder_result();
      receiveBase(result, "reshipOrder");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "reshipOrder failed: unknown result");
    }

    public boolean refundOrder(long orderId, String refundedBy, String reason) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_refundOrder(orderId, refundedBy, reason);
      return recv_refundOrder();
    }

    public void send_refundOrder(long orderId, String refundedBy, String reason) throws org.apache.thrift.TException
    {
      refundOrder_args args = new refundOrder_args();
      args.setOrderId(orderId);
      args.setRefundedBy(refundedBy);
      args.setReason(reason);
      sendBase("refundOrder", args);
    }

    public boolean recv_refundOrder() throws TransactionServiceException, org.apache.thrift.TException
    {
      refundOrder_result result = new refundOrder_result();
      receiveBase(result, "refundOrder");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "refundOrder failed: unknown result");
    }

    public List<ReturnOrder> getReturnOrders(long warehouseId, long fromDate, long toDate) throws org.apache.thrift.TException
    {
      send_getReturnOrders(warehouseId, fromDate, toDate);
      return recv_getReturnOrders();
    }

    public void send_getReturnOrders(long warehouseId, long fromDate, long toDate) throws org.apache.thrift.TException
    {
      getReturnOrders_args args = new getReturnOrders_args();
      args.setWarehouseId(warehouseId);
      args.setFromDate(fromDate);
      args.setToDate(toDate);
      sendBase("getReturnOrders", args);
    }

    public List<ReturnOrder> recv_getReturnOrders() throws org.apache.thrift.TException
    {
      getReturnOrders_result result = new getReturnOrders_result();
      receiveBase(result, "getReturnOrders");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getReturnOrders failed: unknown result");
    }

    public List<ReturnOrder> getAllReturnOrders(boolean onlyNotProcessed, long fromDate, long toDate) throws org.apache.thrift.TException
    {
      send_getAllReturnOrders(onlyNotProcessed, fromDate, toDate);
      return recv_getAllReturnOrders();
    }

    public void send_getAllReturnOrders(boolean onlyNotProcessed, long fromDate, long toDate) throws org.apache.thrift.TException
    {
      getAllReturnOrders_args args = new getAllReturnOrders_args();
      args.setOnlyNotProcessed(onlyNotProcessed);
      args.setFromDate(fromDate);
      args.setToDate(toDate);
      sendBase("getAllReturnOrders", args);
    }

    public List<ReturnOrder> recv_getAllReturnOrders() throws org.apache.thrift.TException
    {
      getAllReturnOrders_result result = new getAllReturnOrders_result();
      receiveBase(result, "getAllReturnOrders");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllReturnOrders failed: unknown result");
    }

    public ReturnOrder getReturnOrder(long id) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_getReturnOrder(id);
      return recv_getReturnOrder();
    }

    public void send_getReturnOrder(long id) throws org.apache.thrift.TException
    {
      getReturnOrder_args args = new getReturnOrder_args();
      args.setId(id);
      sendBase("getReturnOrder", args);
    }

    public ReturnOrder recv_getReturnOrder() throws TransactionServiceException, org.apache.thrift.TException
    {
      getReturnOrder_result result = new getReturnOrder_result();
      receiveBase(result, "getReturnOrder");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getReturnOrder failed: unknown result");
    }

    public void processReturn(long returnOrderId) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_processReturn(returnOrderId);
      recv_processReturn();
    }

    public void send_processReturn(long returnOrderId) throws org.apache.thrift.TException
    {
      processReturn_args args = new processReturn_args();
      args.setReturnOrderId(returnOrderId);
      sendBase("processReturn", args);
    }

    public void recv_processReturn() throws TransactionServiceException, org.apache.thrift.TException
    {
      processReturn_result result = new processReturn_result();
      receiveBase(result, "processReturn");
      if (result.ex != null) {
        throw result.ex;
      }
      return;
    }

    public Order updateWeight(long orderId, double weight) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_updateWeight(orderId, weight);
      return recv_updateWeight();
    }

    public void send_updateWeight(long orderId, double weight) throws org.apache.thrift.TException
    {
      updateWeight_args args = new updateWeight_args();
      args.setOrderId(orderId);
      args.setWeight(weight);
      sendBase("updateWeight", args);
    }

    public Order recv_updateWeight() throws TransactionServiceException, org.apache.thrift.TException
    {
      updateWeight_result result = new updateWeight_result();
      receiveBase(result, "updateWeight");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateWeight failed: unknown result");
    }

    public Order changeItem(long orderId, long itemId) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_changeItem(orderId, itemId);
      return recv_changeItem();
    }

    public void send_changeItem(long orderId, long itemId) throws org.apache.thrift.TException
    {
      changeItem_args args = new changeItem_args();
      args.setOrderId(orderId);
      args.setItemId(itemId);
      sendBase("changeItem", args);
    }

    public Order recv_changeItem() throws TransactionServiceException, org.apache.thrift.TException
    {
      changeItem_result result = new changeItem_result();
      receiveBase(result, "changeItem");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "changeItem failed: unknown result");
    }

    public Order changeCourierProvider(long orderId, long providerId) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_changeCourierProvider(orderId, providerId);
      return recv_changeCourierProvider();
    }

    public void send_changeCourierProvider(long orderId, long providerId) throws org.apache.thrift.TException
    {
      changeCourierProvider_args args = new changeCourierProvider_args();
      args.setOrderId(orderId);
      args.setProviderId(providerId);
      sendBase("changeCourierProvider", args);
    }

    public Order recv_changeCourierProvider() throws TransactionServiceException, org.apache.thrift.TException
    {
      changeCourierProvider_result result = new changeCourierProvider_result();
      receiveBase(result, "changeCourierProvider");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "changeCourierProvider failed: unknown result");
    }

    public Order shiftToWarehouse(long orderId, long warehouseId) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_shiftToWarehouse(orderId, warehouseId);
      return recv_shiftToWarehouse();
    }

    public void send_shiftToWarehouse(long orderId, long warehouseId) throws org.apache.thrift.TException
    {
      shiftToWarehouse_args args = new shiftToWarehouse_args();
      args.setOrderId(orderId);
      args.setWarehouseId(warehouseId);
      sendBase("shiftToWarehouse", args);
    }

    public Order recv_shiftToWarehouse() throws TransactionServiceException, org.apache.thrift.TException
    {
      shiftToWarehouse_result result = new shiftToWarehouse_result();
      receiveBase(result, "shiftToWarehouse");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "shiftToWarehouse failed: unknown result");
    }

    public boolean addDelayReason(long orderId, DelayReason delayReason, long furtherDelay, String delayReasonText) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_addDelayReason(orderId, delayReason, furtherDelay, delayReasonText);
      return recv_addDelayReason();
    }

    public void send_addDelayReason(long orderId, DelayReason delayReason, long furtherDelay, String delayReasonText) throws org.apache.thrift.TException
    {
      addDelayReason_args args = new addDelayReason_args();
      args.setOrderId(orderId);
      args.setDelayReason(delayReason);
      args.setFurtherDelay(furtherDelay);
      args.setDelayReasonText(delayReasonText);
      sendBase("addDelayReason", args);
    }

    public boolean recv_addDelayReason() throws TransactionServiceException, org.apache.thrift.TException
    {
      addDelayReason_result result = new addDelayReason_result();
      receiveBase(result, "addDelayReason");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "addDelayReason failed: unknown result");
    }

    public Map<String,String> reconcileCodCollection(Map<String,Double> collectedAmountMap, String xferBy, String xferTxnId, long xferDate) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_reconcileCodCollection(collectedAmountMap, xferBy, xferTxnId, xferDate);
      return recv_reconcileCodCollection();
    }

    public void send_reconcileCodCollection(Map<String,Double> collectedAmountMap, String xferBy, String xferTxnId, long xferDate) throws org.apache.thrift.TException
    {
      reconcileCodCollection_args args = new reconcileCodCollection_args();
      args.setCollectedAmountMap(collectedAmountMap);
      args.setXferBy(xferBy);
      args.setXferTxnId(xferTxnId);
      args.setXferDate(xferDate);
      sendBase("reconcileCodCollection", args);
    }

    public Map<String,String> recv_reconcileCodCollection() throws TransactionServiceException, org.apache.thrift.TException
    {
      reconcileCodCollection_result result = new reconcileCodCollection_result();
      receiveBase(result, "reconcileCodCollection");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "reconcileCodCollection failed: unknown result");
    }

    public List<Long> getTransactionsRequiringExtraProcessing(ExtraTransactionProcessingType category) throws org.apache.thrift.TException
    {
      send_getTransactionsRequiringExtraProcessing(category);
      return recv_getTransactionsRequiringExtraProcessing();
    }

    public void send_getTransactionsRequiringExtraProcessing(ExtraTransactionProcessingType category) throws org.apache.thrift.TException
    {
      getTransactionsRequiringExtraProcessing_args args = new getTransactionsRequiringExtraProcessing_args();
      args.setCategory(category);
      sendBase("getTransactionsRequiringExtraProcessing", args);
    }

    public List<Long> recv_getTransactionsRequiringExtraProcessing() throws org.apache.thrift.TException
    {
      getTransactionsRequiringExtraProcessing_result result = new getTransactionsRequiringExtraProcessing_result();
      receiveBase(result, "getTransactionsRequiringExtraProcessing");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getTransactionsRequiringExtraProcessing failed: unknown result");
    }

    public void markTransactionAsProcessed(long transactionId, ExtraTransactionProcessingType category) throws org.apache.thrift.TException
    {
      send_markTransactionAsProcessed(transactionId, category);
      recv_markTransactionAsProcessed();
    }

    public void send_markTransactionAsProcessed(long transactionId, ExtraTransactionProcessingType category) throws org.apache.thrift.TException
    {
      markTransactionAsProcessed_args args = new markTransactionAsProcessed_args();
      args.setTransactionId(transactionId);
      args.setCategory(category);
      sendBase("markTransactionAsProcessed", args);
    }

    public void recv_markTransactionAsProcessed() throws org.apache.thrift.TException
    {
      markTransactionAsProcessed_result result = new markTransactionAsProcessed_result();
      receiveBase(result, "markTransactionAsProcessed");
      return;
    }

    public Map<Long,Long> getItemWiseRiskyOrdersCount() throws org.apache.thrift.TException
    {
      send_getItemWiseRiskyOrdersCount();
      return recv_getItemWiseRiskyOrdersCount();
    }

    public void send_getItemWiseRiskyOrdersCount() throws org.apache.thrift.TException
    {
      getItemWiseRiskyOrdersCount_args args = new getItemWiseRiskyOrdersCount_args();
      sendBase("getItemWiseRiskyOrdersCount", args);
    }

    public Map<Long,Long> recv_getItemWiseRiskyOrdersCount() throws org.apache.thrift.TException
    {
      getItemWiseRiskyOrdersCount_result result = new getItemWiseRiskyOrdersCount_result();
      receiveBase(result, "getItemWiseRiskyOrdersCount");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getItemWiseRiskyOrdersCount failed: unknown result");
    }

    public List<Order> getOrdersForItemIds(List<Long> itemIds) throws org.apache.thrift.TException
    {
      send_getOrdersForItemIds(itemIds);
      return recv_getOrdersForItemIds();
    }

    public void send_getOrdersForItemIds(List<Long> itemIds) throws org.apache.thrift.TException
    {
      getOrdersForItemIds_args args = new getOrdersForItemIds_args();
      args.setItemIds(itemIds);
      sendBase("getOrdersForItemIds", args);
    }

    public List<Order> recv_getOrdersForItemIds() throws org.apache.thrift.TException
    {
      getOrdersForItemIds_result result = new getOrdersForItemIds_result();
      receiveBase(result, "getOrdersForItemIds");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getOrdersForItemIds failed: unknown result");
    }

    public void markOrderCancellationRequestReceived(long orderId) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_markOrderCancellationRequestReceived(orderId);
      recv_markOrderCancellationRequestReceived();
    }

    public void send_markOrderCancellationRequestReceived(long orderId) throws org.apache.thrift.TException
    {
      markOrderCancellationRequestReceived_args args = new markOrderCancellationRequestReceived_args();
      args.setOrderId(orderId);
      sendBase("markOrderCancellationRequestReceived", args);
    }

    public void recv_markOrderCancellationRequestReceived() throws TransactionServiceException, org.apache.thrift.TException
    {
      markOrderCancellationRequestReceived_result result = new markOrderCancellationRequestReceived_result();
      receiveBase(result, "markOrderCancellationRequestReceived");
      if (result.ex != null) {
        throw result.ex;
      }
      return;
    }

    public void markOrderCancellationRequestConfirmed(long orderId) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_markOrderCancellationRequestConfirmed(orderId);
      recv_markOrderCancellationRequestConfirmed();
    }

    public void send_markOrderCancellationRequestConfirmed(long orderId) throws org.apache.thrift.TException
    {
      markOrderCancellationRequestConfirmed_args args = new markOrderCancellationRequestConfirmed_args();
      args.setOrderId(orderId);
      sendBase("markOrderCancellationRequestConfirmed", args);
    }

    public void recv_markOrderCancellationRequestConfirmed() throws TransactionServiceException, org.apache.thrift.TException
    {
      markOrderCancellationRequestConfirmed_result result = new markOrderCancellationRequestConfirmed_result();
      receiveBase(result, "markOrderCancellationRequestConfirmed");
      if (result.ex != null) {
        throw result.ex;
      }
      return;
    }

    public void markOrderCancellationRequestDenied(long orderId) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_markOrderCancellationRequestDenied(orderId);
      recv_markOrderCancellationRequestDenied();
    }

    public void send_markOrderCancellationRequestDenied(long orderId) throws org.apache.thrift.TException
    {
      markOrderCancellationRequestDenied_args args = new markOrderCancellationRequestDenied_args();
      args.setOrderId(orderId);
      sendBase("markOrderCancellationRequestDenied", args);
    }

    public void recv_markOrderCancellationRequestDenied() throws TransactionServiceException, org.apache.thrift.TException
    {
      markOrderCancellationRequestDenied_result result = new markOrderCancellationRequestDenied_result();
      receiveBase(result, "markOrderCancellationRequestDenied");
      if (result.ex != null) {
        throw result.ex;
      }
      return;
    }

    public void markTransactionAsPaymentFlagRemoved(long transactionId) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_markTransactionAsPaymentFlagRemoved(transactionId);
      recv_markTransactionAsPaymentFlagRemoved();
    }

    public void send_markTransactionAsPaymentFlagRemoved(long transactionId) throws org.apache.thrift.TException
    {
      markTransactionAsPaymentFlagRemoved_args args = new markTransactionAsPaymentFlagRemoved_args();
      args.setTransactionId(transactionId);
      sendBase("markTransactionAsPaymentFlagRemoved", args);
    }

    public void recv_markTransactionAsPaymentFlagRemoved() throws TransactionServiceException, org.apache.thrift.TException
    {
      markTransactionAsPaymentFlagRemoved_result result = new markTransactionAsPaymentFlagRemoved_result();
      receiveBase(result, "markTransactionAsPaymentFlagRemoved");
      if (result.ex != null) {
        throw result.ex;
      }
      return;
    }

    public void refundTransaction(long transactionId, String refundedBy, String reason) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_refundTransaction(transactionId, refundedBy, reason);
      recv_refundTransaction();
    }

    public void send_refundTransaction(long transactionId, String refundedBy, String reason) throws org.apache.thrift.TException
    {
      refundTransaction_args args = new refundTransaction_args();
      args.setTransactionId(transactionId);
      args.setRefundedBy(refundedBy);
      args.setReason(reason);
      sendBase("refundTransaction", args);
    }

    public void recv_refundTransaction() throws TransactionServiceException, org.apache.thrift.TException
    {
      refundTransaction_result result = new refundTransaction_result();
      receiveBase(result, "refundTransaction");
      if (result.ex != null) {
        throw result.ex;
      }
      return;
    }

    public void updateShipmentAddress(long orderId, long addressId) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_updateShipmentAddress(orderId, addressId);
      recv_updateShipmentAddress();
    }

    public void send_updateShipmentAddress(long orderId, long addressId) throws org.apache.thrift.TException
    {
      updateShipmentAddress_args args = new updateShipmentAddress_args();
      args.setOrderId(orderId);
      args.setAddressId(addressId);
      sendBase("updateShipmentAddress", args);
    }

    public void recv_updateShipmentAddress() throws TransactionServiceException, org.apache.thrift.TException
    {
      updateShipmentAddress_result result = new updateShipmentAddress_result();
      receiveBase(result, "updateShipmentAddress");
      if (result.ex != null) {
        throw result.ex;
      }
      return;
    }

    public boolean acceptOrdersForItemId(long itemId, long inventory) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_acceptOrdersForItemId(itemId, inventory);
      return recv_acceptOrdersForItemId();
    }

    public void send_acceptOrdersForItemId(long itemId, long inventory) throws org.apache.thrift.TException
    {
      acceptOrdersForItemId_args args = new acceptOrdersForItemId_args();
      args.setItemId(itemId);
      args.setInventory(inventory);
      sendBase("acceptOrdersForItemId", args);
    }

    public boolean recv_acceptOrdersForItemId() throws TransactionServiceException, org.apache.thrift.TException
    {
      acceptOrdersForItemId_result result = new acceptOrdersForItemId_result();
      receiveBase(result, "acceptOrdersForItemId");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "acceptOrdersForItemId failed: unknown result");
    }

    public void markOrdersAsPORaised(long vendorId, long itemId, long quantity, long estimate, boolean isReminder) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_markOrdersAsPORaised(vendorId, itemId, quantity, estimate, isReminder);
      recv_markOrdersAsPORaised();
    }

    public void send_markOrdersAsPORaised(long vendorId, long itemId, long quantity, long estimate, boolean isReminder) throws org.apache.thrift.TException
    {
      markOrdersAsPORaised_args args = new markOrdersAsPORaised_args();
      args.setVendorId(vendorId);
      args.setItemId(itemId);
      args.setQuantity(quantity);
      args.setEstimate(estimate);
      args.setIsReminder(isReminder);
      sendBase("markOrdersAsPORaised", args);
    }

    public void recv_markOrdersAsPORaised() throws TransactionServiceException, org.apache.thrift.TException
    {
      markOrdersAsPORaised_result result = new markOrdersAsPORaised_result();
      receiveBase(result, "markOrdersAsPORaised");
      if (result.ex != null) {
        throw result.ex;
      }
      return;
    }

    public void markOrdersAsReversalInitiated(long vendorId, long itemId, long quantity, long estimate, boolean isReminder) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_markOrdersAsReversalInitiated(vendorId, itemId, quantity, estimate, isReminder);
      recv_markOrdersAsReversalInitiated();
    }

    public void send_markOrdersAsReversalInitiated(long vendorId, long itemId, long quantity, long estimate, boolean isReminder) throws org.apache.thrift.TException
    {
      markOrdersAsReversalInitiated_args args = new markOrdersAsReversalInitiated_args();
      args.setVendorId(vendorId);
      args.setItemId(itemId);
      args.setQuantity(quantity);
      args.setEstimate(estimate);
      args.setIsReminder(isReminder);
      sendBase("markOrdersAsReversalInitiated", args);
    }

    public void recv_markOrdersAsReversalInitiated() throws TransactionServiceException, org.apache.thrift.TException
    {
      markOrdersAsReversalInitiated_result result = new markOrdersAsReversalInitiated_result();
      receiveBase(result, "markOrdersAsReversalInitiated");
      if (result.ex != null) {
        throw result.ex;
      }
      return;
    }

    public void markOrdersAsNotAvailabke(long vendorId, long itemId, long quantity, long estimate, boolean isReminder) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_markOrdersAsNotAvailabke(vendorId, itemId, quantity, estimate, isReminder);
      recv_markOrdersAsNotAvailabke();
    }

    public void send_markOrdersAsNotAvailabke(long vendorId, long itemId, long quantity, long estimate, boolean isReminder) throws org.apache.thrift.TException
    {
      markOrdersAsNotAvailabke_args args = new markOrdersAsNotAvailabke_args();
      args.setVendorId(vendorId);
      args.setItemId(itemId);
      args.setQuantity(quantity);
      args.setEstimate(estimate);
      args.setIsReminder(isReminder);
      sendBase("markOrdersAsNotAvailabke", args);
    }

    public void recv_markOrdersAsNotAvailabke() throws TransactionServiceException, org.apache.thrift.TException
    {
      markOrdersAsNotAvailabke_result result = new markOrdersAsNotAvailabke_result();
      receiveBase(result, "markOrdersAsNotAvailabke");
      if (result.ex != null) {
        throw result.ex;
      }
      return;
    }

    public Map<Integer,TimeoutSummary> markOrdersAsTimeout(long vendorId) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_markOrdersAsTimeout(vendorId);
      return recv_markOrdersAsTimeout();
    }

    public void send_markOrdersAsTimeout(long vendorId) throws org.apache.thrift.TException
    {
      markOrdersAsTimeout_args args = new markOrdersAsTimeout_args();
      args.setVendorId(vendorId);
      sendBase("markOrdersAsTimeout", args);
    }

    public Map<Integer,TimeoutSummary> recv_markOrdersAsTimeout() throws TransactionServiceException, org.apache.thrift.TException
    {
      markOrdersAsTimeout_result result = new markOrdersAsTimeout_result();
      receiveBase(result, "markOrdersAsTimeout");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "markOrdersAsTimeout failed: unknown result");
    }

    public boolean markOrderAsLostInTransit(long orderId) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_markOrderAsLostInTransit(orderId);
      return recv_markOrderAsLostInTransit();
    }

    public void send_markOrderAsLostInTransit(long orderId) throws org.apache.thrift.TException
    {
      markOrderAsLostInTransit_args args = new markOrderAsLostInTransit_args();
      args.setOrderId(orderId);
      sendBase("markOrderAsLostInTransit", args);
    }

    public boolean recv_markOrderAsLostInTransit() throws TransactionServiceException, org.apache.thrift.TException
    {
      markOrderAsLostInTransit_result result = new markOrderAsLostInTransit_result();
      receiveBase(result, "markOrderAsLostInTransit");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "markOrderAsLostInTransit failed: unknown result");
    }

    public List<Order> getOrderForAwb(String awb) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_getOrderForAwb(awb);
      return recv_getOrderForAwb();
    }

    public void send_getOrderForAwb(String awb) throws org.apache.thrift.TException
    {
      getOrderForAwb_args args = new getOrderForAwb_args();
      args.setAwb(awb);
      sendBase("getOrderForAwb", args);
    }

    public List<Order> recv_getOrderForAwb() throws TransactionServiceException, org.apache.thrift.TException
    {
      getOrderForAwb_result result = new getOrderForAwb_result();
      receiveBase(result, "getOrderForAwb");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getOrderForAwb failed: unknown result");
    }

    public List<Order> getOrdersForProviderForStatus(long logistics_provider_id, List<OrderStatus> order_status_list) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_getOrdersForProviderForStatus(logistics_provider_id, order_status_list);
      return recv_getOrdersForProviderForStatus();
    }

    public void send_getOrdersForProviderForStatus(long logistics_provider_id, List<OrderStatus> order_status_list) throws org.apache.thrift.TException
    {
      getOrdersForProviderForStatus_args args = new getOrdersForProviderForStatus_args();
      args.setLogistics_provider_id(logistics_provider_id);
      args.setOrder_status_list(order_status_list);
      sendBase("getOrdersForProviderForStatus", args);
    }

    public List<Order> recv_getOrdersForProviderForStatus() throws TransactionServiceException, org.apache.thrift.TException
    {
      getOrdersForProviderForStatus_result result = new getOrdersForProviderForStatus_result();
      receiveBase(result, "getOrdersForProviderForStatus");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getOrdersForProviderForStatus failed: unknown result");
    }

    public List<Order> getBilledOrdersForVendor(long vendorId, long billingDateFrom, long billingDateTo) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_getBilledOrdersForVendor(vendorId, billingDateFrom, billingDateTo);
      return recv_getBilledOrdersForVendor();
    }

    public void send_getBilledOrdersForVendor(long vendorId, long billingDateFrom, long billingDateTo) throws org.apache.thrift.TException
    {
      getBilledOrdersForVendor_args args = new getBilledOrdersForVendor_args();
      args.setVendorId(vendorId);
      args.setBillingDateFrom(billingDateFrom);
      args.setBillingDateTo(billingDateTo);
      sendBase("getBilledOrdersForVendor", args);
    }

    public List<Order> recv_getBilledOrdersForVendor() throws TransactionServiceException, org.apache.thrift.TException
    {
      getBilledOrdersForVendor_result result = new getBilledOrdersForVendor_result();
      receiveBase(result, "getBilledOrdersForVendor");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getBilledOrdersForVendor failed: unknown result");
    }

    public List<Order> getSlippedSippingDateOrders() throws TransactionServiceException, org.apache.thrift.TException
    {
      send_getSlippedSippingDateOrders();
      return recv_getSlippedSippingDateOrders();
    }

    public void send_getSlippedSippingDateOrders() throws org.apache.thrift.TException
    {
      getSlippedSippingDateOrders_args args = new getSlippedSippingDateOrders_args();
      sendBase("getSlippedSippingDateOrders", args);
    }

    public List<Order> recv_getSlippedSippingDateOrders() throws TransactionServiceException, org.apache.thrift.TException
    {
      getSlippedSippingDateOrders_result result = new getSlippedSippingDateOrders_result();
      receiveBase(result, "getSlippedSippingDateOrders");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getSlippedSippingDateOrders failed: unknown result");
    }

    public List<Order> getCancelledOrders(long cancelDateFrom, long cancelDateTo) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_getCancelledOrders(cancelDateFrom, cancelDateTo);
      return recv_getCancelledOrders();
    }

    public void send_getCancelledOrders(long cancelDateFrom, long cancelDateTo) throws org.apache.thrift.TException
    {
      getCancelledOrders_args args = new getCancelledOrders_args();
      args.setCancelDateFrom(cancelDateFrom);
      args.setCancelDateTo(cancelDateTo);
      sendBase("getCancelledOrders", args);
    }

    public List<Order> recv_getCancelledOrders() throws TransactionServiceException, org.apache.thrift.TException
    {
      getCancelledOrders_result result = new getCancelledOrders_result();
      receiveBase(result, "getCancelledOrders");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getCancelledOrders failed: unknown result");
    }

    public void saveBluedartSettlements(Map<Long,Double> mapAWBAndAmount) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_saveBluedartSettlements(mapAWBAndAmount);
      recv_saveBluedartSettlements();
    }

    public void send_saveBluedartSettlements(Map<Long,Double> mapAWBAndAmount) throws org.apache.thrift.TException
    {
      saveBluedartSettlements_args args = new saveBluedartSettlements_args();
      args.setMapAWBAndAmount(mapAWBAndAmount);
      sendBase("saveBluedartSettlements", args);
    }

    public void recv_saveBluedartSettlements() throws TransactionServiceException, org.apache.thrift.TException
    {
      saveBluedartSettlements_result result = new saveBluedartSettlements_result();
      receiveBase(result, "saveBluedartSettlements");
      if (result.ex != null) {
        throw result.ex;
      }
      return;
    }

    public void savePaymentSettlements(long settlementDate, long paymentGatewayId, long referenceId, double serviceTax, double otherCharges, double netCollection) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_savePaymentSettlements(settlementDate, paymentGatewayId, referenceId, serviceTax, otherCharges, netCollection);
      recv_savePaymentSettlements();
    }

    public void send_savePaymentSettlements(long settlementDate, long paymentGatewayId, long referenceId, double serviceTax, double otherCharges, double netCollection) throws org.apache.thrift.TException
    {
      savePaymentSettlements_args args = new savePaymentSettlements_args();
      args.setSettlementDate(settlementDate);
      args.setPaymentGatewayId(paymentGatewayId);
      args.setReferenceId(referenceId);
      args.setServiceTax(serviceTax);
      args.setOtherCharges(otherCharges);
      args.setNetCollection(netCollection);
      sendBase("savePaymentSettlements", args);
    }

    public void recv_savePaymentSettlements() throws TransactionServiceException, org.apache.thrift.TException
    {
      savePaymentSettlements_result result = new savePaymentSettlements_result();
      receiveBase(result, "savePaymentSettlements");
      if (result.ex != null) {
        throw result.ex;
      }
      return;
    }

    public void saveEBSSettlementSummary(long settlementId, long settlementDate, long transactionDateFrom, long transactionDateTo, double amount) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_saveEBSSettlementSummary(settlementId, settlementDate, transactionDateFrom, transactionDateTo, amount);
      recv_saveEBSSettlementSummary();
    }

    public void send_saveEBSSettlementSummary(long settlementId, long settlementDate, long transactionDateFrom, long transactionDateTo, double amount) throws org.apache.thrift.TException
    {
      saveEBSSettlementSummary_args args = new saveEBSSettlementSummary_args();
      args.setSettlementId(settlementId);
      args.setSettlementDate(settlementDate);
      args.setTransactionDateFrom(transactionDateFrom);
      args.setTransactionDateTo(transactionDateTo);
      args.setAmount(amount);
      sendBase("saveEBSSettlementSummary", args);
    }

    public void recv_saveEBSSettlementSummary() throws TransactionServiceException, org.apache.thrift.TException
    {
      saveEBSSettlementSummary_result result = new saveEBSSettlementSummary_result();
      receiveBase(result, "saveEBSSettlementSummary");
      if (result.ex != null) {
        throw result.ex;
      }
      return;
    }

    public PaymentSettlement getSettlementForPrepaid(long referenceId, boolean isRefund) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_getSettlementForPrepaid(referenceId, isRefund);
      return recv_getSettlementForPrepaid();
    }

    public void send_getSettlementForPrepaid(long referenceId, boolean isRefund) throws org.apache.thrift.TException
    {
      getSettlementForPrepaid_args args = new getSettlementForPrepaid_args();
      args.setReferenceId(referenceId);
      args.setIsRefund(isRefund);
      sendBase("getSettlementForPrepaid", args);
    }

    public PaymentSettlement recv_getSettlementForPrepaid() throws TransactionServiceException, org.apache.thrift.TException
    {
      getSettlementForPrepaid_result result = new getSettlementForPrepaid_result();
      receiveBase(result, "getSettlementForPrepaid");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getSettlementForPrepaid failed: unknown result");
    }

    public PaymentSettlement getSettlementForCod(long orderId, boolean isRefund) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_getSettlementForCod(orderId, isRefund);
      return recv_getSettlementForCod();
    }

    public void send_getSettlementForCod(long orderId, boolean isRefund) throws org.apache.thrift.TException
    {
      getSettlementForCod_args args = new getSettlementForCod_args();
      args.setOrderId(orderId);
      args.setIsRefund(isRefund);
      sendBase("getSettlementForCod", args);
    }

    public PaymentSettlement recv_getSettlementForCod() throws TransactionServiceException, org.apache.thrift.TException
    {
      getSettlementForCod_result result = new getSettlementForCod_result();
      receiveBase(result, "getSettlementForCod");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getSettlementForCod failed: unknown result");
    }

    public Map<Long,String> getEBSSettlementSummaries() throws TransactionServiceException, org.apache.thrift.TException
    {
      send_getEBSSettlementSummaries();
      return recv_getEBSSettlementSummaries();
    }

    public void send_getEBSSettlementSummaries() throws org.apache.thrift.TException
    {
      getEBSSettlementSummaries_args args = new getEBSSettlementSummaries_args();
      sendBase("getEBSSettlementSummaries", args);
    }

    public Map<Long,String> recv_getEBSSettlementSummaries() throws TransactionServiceException, org.apache.thrift.TException
    {
      getEBSSettlementSummaries_result result = new getEBSSettlementSummaries_result();
      receiveBase(result, "getEBSSettlementSummaries");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getEBSSettlementSummaries failed: unknown result");
    }

    public void markEBSSettlementUploaded(long settlementId) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_markEBSSettlementUploaded(settlementId);
      recv_markEBSSettlementUploaded();
    }

    public void send_markEBSSettlementUploaded(long settlementId) throws org.apache.thrift.TException
    {
      markEBSSettlementUploaded_args args = new markEBSSettlementUploaded_args();
      args.setSettlementId(settlementId);
      sendBase("markEBSSettlementUploaded", args);
    }

    public void recv_markEBSSettlementUploaded() throws TransactionServiceException, org.apache.thrift.TException
    {
      markEBSSettlementUploaded_result result = new markEBSSettlementUploaded_result();
      receiveBase(result, "markEBSSettlementUploaded");
      if (result.ex != null) {
        throw result.ex;
      }
      return;
    }

    public long getEBSSettlementDate(long settlementId) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_getEBSSettlementDate(settlementId);
      return recv_getEBSSettlementDate();
    }

    public void send_getEBSSettlementDate(long settlementId) throws org.apache.thrift.TException
    {
      getEBSSettlementDate_args args = new getEBSSettlementDate_args();
      args.setSettlementId(settlementId);
      sendBase("getEBSSettlementDate", args);
    }

    public long recv_getEBSSettlementDate() throws TransactionServiceException, org.apache.thrift.TException
    {
      getEBSSettlementDate_result result = new getEBSSettlementDate_result();
      receiveBase(result, "getEBSSettlementDate");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getEBSSettlementDate failed: unknown result");
    }

    public List<PaymentSettlement> getSettlementsByDate(long settlementDateFrom, long settlementDateTo, boolean isRefund) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_getSettlementsByDate(settlementDateFrom, settlementDateTo, isRefund);
      return recv_getSettlementsByDate();
    }

    public void send_getSettlementsByDate(long settlementDateFrom, long settlementDateTo, boolean isRefund) throws org.apache.thrift.TException
    {
      getSettlementsByDate_args args = new getSettlementsByDate_args();
      args.setSettlementDateFrom(settlementDateFrom);
      args.setSettlementDateTo(settlementDateTo);
      args.setIsRefund(isRefund);
      sendBase("getSettlementsByDate", args);
    }

    public List<PaymentSettlement> recv_getSettlementsByDate() throws TransactionServiceException, org.apache.thrift.TException
    {
      getSettlementsByDate_result result = new getSettlementsByDate_result();
      receiveBase(result, "getSettlementsByDate");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getSettlementsByDate failed: unknown result");
    }

    public List<Long> getReshippedOrderIds(List<Long> orderIds) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_getReshippedOrderIds(orderIds);
      return recv_getReshippedOrderIds();
    }

    public void send_getReshippedOrderIds(List<Long> orderIds) throws org.apache.thrift.TException
    {
      getReshippedOrderIds_args args = new getReshippedOrderIds_args();
      args.setOrderIds(orderIds);
      sendBase("getReshippedOrderIds", args);
    }

    public List<Long> recv_getReshippedOrderIds() throws TransactionServiceException, org.apache.thrift.TException
    {
      getReshippedOrderIds_result result = new getReshippedOrderIds_result();
      receiveBase(result, "getReshippedOrderIds");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getReshippedOrderIds failed: unknown result");
    }

    public List<Order> getBilledOrders(long vendorId, boolean onlyVendorNotPaid, long billingDateFrom, long billingDateTo) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_getBilledOrders(vendorId, onlyVendorNotPaid, billingDateFrom, billingDateTo);
      return recv_getBilledOrders();
    }

    public void send_getBilledOrders(long vendorId, boolean onlyVendorNotPaid, long billingDateFrom, long billingDateTo) throws org.apache.thrift.TException
    {
      getBilledOrders_args args = new getBilledOrders_args();
      args.setVendorId(vendorId);
      args.setOnlyVendorNotPaid(onlyVendorNotPaid);
      args.setBillingDateFrom(billingDateFrom);
      args.setBillingDateTo(billingDateTo);
      sendBase("getBilledOrders", args);
    }

    public List<Order> recv_getBilledOrders() throws TransactionServiceException, org.apache.thrift.TException
    {
      getBilledOrders_result result = new getBilledOrders_result();
      receiveBase(result, "getBilledOrders");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getBilledOrders failed: unknown result");
    }

    public Map<Long,Long> getStatusDistributionOfOrders(long startDate, long endDate) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_getStatusDistributionOfOrders(startDate, endDate);
      return recv_getStatusDistributionOfOrders();
    }

    public void send_getStatusDistributionOfOrders(long startDate, long endDate) throws org.apache.thrift.TException
    {
      getStatusDistributionOfOrders_args args = new getStatusDistributionOfOrders_args();
      args.setStartDate(startDate);
      args.setEndDate(endDate);
      sendBase("getStatusDistributionOfOrders", args);
    }

    public Map<Long,Long> recv_getStatusDistributionOfOrders() throws TransactionServiceException, org.apache.thrift.TException
    {
      getStatusDistributionOfOrders_result result = new getStatusDistributionOfOrders_result();
      receiveBase(result, "getStatusDistributionOfOrders");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getStatusDistributionOfOrders failed: unknown result");
    }

    public List<Long> getOrderIdsForStatus(long status, long startDatetime, long endDatetime) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_getOrderIdsForStatus(status, startDatetime, endDatetime);
      return recv_getOrderIdsForStatus();
    }

    public void send_getOrderIdsForStatus(long status, long startDatetime, long endDatetime) throws org.apache.thrift.TException
    {
      getOrderIdsForStatus_args args = new getOrderIdsForStatus_args();
      args.setStatus(status);
      args.setStartDatetime(startDatetime);
      args.setEndDatetime(endDatetime);
      sendBase("getOrderIdsForStatus", args);
    }

    public List<Long> recv_getOrderIdsForStatus() throws TransactionServiceException, org.apache.thrift.TException
    {
      getOrderIdsForStatus_result result = new getOrderIdsForStatus_result();
      receiveBase(result, "getOrderIdsForStatus");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getOrderIdsForStatus failed: unknown result");
    }

    public void updateCODAgent(String agent, long orderId) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_updateCODAgent(agent, orderId);
      recv_updateCODAgent();
    }

    public void send_updateCODAgent(String agent, long orderId) throws org.apache.thrift.TException
    {
      updateCODAgent_args args = new updateCODAgent_args();
      args.setAgent(agent);
      args.setOrderId(orderId);
      sendBase("updateCODAgent", args);
    }

    public void recv_updateCODAgent() throws TransactionServiceException, org.apache.thrift.TException
    {
      updateCODAgent_result result = new updateCODAgent_result();
      receiveBase(result, "updateCODAgent");
      if (result.ex != null) {
        throw result.ex;
      }
      return;
    }

    public void updateOrderAsPaidToVendor(long orderId) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_updateOrderAsPaidToVendor(orderId);
      recv_updateOrderAsPaidToVendor();
    }

    public void send_updateOrderAsPaidToVendor(long orderId) throws org.apache.thrift.TException
    {
      updateOrderAsPaidToVendor_args args = new updateOrderAsPaidToVendor_args();
      args.setOrderId(orderId);
      sendBase("updateOrderAsPaidToVendor", args);
    }

    public void recv_updateOrderAsPaidToVendor() throws TransactionServiceException, org.apache.thrift.TException
    {
      updateOrderAsPaidToVendor_result result = new updateOrderAsPaidToVendor_result();
      receiveBase(result, "updateOrderAsPaidToVendor");
      if (result.ex != null) {
        throw result.ex;
      }
      return;
    }

    public void updateOrderOnlyAsPaidToVendor(long orderId) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_updateOrderOnlyAsPaidToVendor(orderId);
      recv_updateOrderOnlyAsPaidToVendor();
    }

    public void send_updateOrderOnlyAsPaidToVendor(long orderId) throws org.apache.thrift.TException
    {
      updateOrderOnlyAsPaidToVendor_args args = new updateOrderOnlyAsPaidToVendor_args();
      args.setOrderId(orderId);
      sendBase("updateOrderOnlyAsPaidToVendor", args);
    }

    public void recv_updateOrderOnlyAsPaidToVendor() throws TransactionServiceException, org.apache.thrift.TException
    {
      updateOrderOnlyAsPaidToVendor_result result = new updateOrderOnlyAsPaidToVendor_result();
      receiveBase(result, "updateOrderOnlyAsPaidToVendor");
      if (result.ex != null) {
        throw result.ex;
      }
      return;
    }

    public List<Order> getRefundedOrdersMarkedPaid() throws TransactionServiceException, org.apache.thrift.TException
    {
      send_getRefundedOrdersMarkedPaid();
      return recv_getRefundedOrdersMarkedPaid();
    }

    public void send_getRefundedOrdersMarkedPaid() throws org.apache.thrift.TException
    {
      getRefundedOrdersMarkedPaid_args args = new getRefundedOrdersMarkedPaid_args();
      sendBase("getRefundedOrdersMarkedPaid", args);
    }

    public List<Order> recv_getRefundedOrdersMarkedPaid() throws TransactionServiceException, org.apache.thrift.TException
    {
      getRefundedOrdersMarkedPaid_result result = new getRefundedOrdersMarkedPaid_result();
      receiveBase(result, "getRefundedOrdersMarkedPaid");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getRefundedOrdersMarkedPaid failed: unknown result");
    }

    public List<CODVerificationAgent> getAllVerificationAgents(long minOrderId, long maxOrderId) throws org.apache.thrift.TException
    {
      send_getAllVerificationAgents(minOrderId, maxOrderId);
      return recv_getAllVerificationAgents();
    }

    public void send_getAllVerificationAgents(long minOrderId, long maxOrderId) throws org.apache.thrift.TException
    {
      getAllVerificationAgents_args args = new getAllVerificationAgents_args();
      args.setMinOrderId(minOrderId);
      args.setMaxOrderId(maxOrderId);
      sendBase("getAllVerificationAgents", args);
    }

    public List<CODVerificationAgent> recv_getAllVerificationAgents() throws org.apache.thrift.TException
    {
      getAllVerificationAgents_result result = new getAllVerificationAgents_result();
      receiveBase(result, "getAllVerificationAgents");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllVerificationAgents failed: unknown result");
    }

    public List<Attribute> getAllAttributesForOrderId(long orderId) throws org.apache.thrift.TException
    {
      send_getAllAttributesForOrderId(orderId);
      return recv_getAllAttributesForOrderId();
    }

    public void send_getAllAttributesForOrderId(long orderId) throws org.apache.thrift.TException
    {
      getAllAttributesForOrderId_args args = new getAllAttributesForOrderId_args();
      args.setOrderId(orderId);
      sendBase("getAllAttributesForOrderId", args);
    }

    public List<Attribute> recv_getAllAttributesForOrderId() throws org.apache.thrift.TException
    {
      getAllAttributesForOrderId_result result = new getAllAttributesForOrderId_result();
      receiveBase(result, "getAllAttributesForOrderId");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllAttributesForOrderId failed: unknown result");
    }

    public void setOrderAttributes(long orderId, List<Attribute> attributes) throws org.apache.thrift.TException
    {
      send_setOrderAttributes(orderId, attributes);
      recv_setOrderAttributes();
    }

    public void send_setOrderAttributes(long orderId, List<Attribute> attributes) throws org.apache.thrift.TException
    {
      setOrderAttributes_args args = new setOrderAttributes_args();
      args.setOrderId(orderId);
      args.setAttributes(attributes);
      sendBase("setOrderAttributes", args);
    }

    public void recv_setOrderAttributes() throws org.apache.thrift.TException
    {
      setOrderAttributes_result result = new setOrderAttributes_result();
      receiveBase(result, "setOrderAttributes");
      return;
    }

    public void setOrderAttributeForTransaction(long transactionId, Attribute attribute) throws org.apache.thrift.TException
    {
      send_setOrderAttributeForTransaction(transactionId, attribute);
      recv_setOrderAttributeForTransaction();
    }

    public void send_setOrderAttributeForTransaction(long transactionId, Attribute attribute) throws org.apache.thrift.TException
    {
      setOrderAttributeForTransaction_args args = new setOrderAttributeForTransaction_args();
      args.setTransactionId(transactionId);
      args.setAttribute(attribute);
      sendBase("setOrderAttributeForTransaction", args);
    }

    public void recv_setOrderAttributeForTransaction() throws org.apache.thrift.TException
    {
      setOrderAttributeForTransaction_result result = new setOrderAttributeForTransaction_result();
      receiveBase(result, "setOrderAttributeForTransaction");
      return;
    }

    public List<Order> getReceivePendingOrders(long storeId) throws org.apache.thrift.TException
    {
      send_getReceivePendingOrders(storeId);
      return recv_getReceivePendingOrders();
    }

    public void send_getReceivePendingOrders(long storeId) throws org.apache.thrift.TException
    {
      getReceivePendingOrders_args args = new getReceivePendingOrders_args();
      args.setStoreId(storeId);
      sendBase("getReceivePendingOrders", args);
    }

    public List<Order> recv_getReceivePendingOrders() throws org.apache.thrift.TException
    {
      getReceivePendingOrders_result result = new getReceivePendingOrders_result();
      receiveBase(result, "getReceivePendingOrders");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getReceivePendingOrders failed: unknown result");
    }

    public List<Order> getReceivedAtStoreOrders(long storeId) throws org.apache.thrift.TException
    {
      send_getReceivedAtStoreOrders(storeId);
      return recv_getReceivedAtStoreOrders();
    }

    public void send_getReceivedAtStoreOrders(long storeId) throws org.apache.thrift.TException
    {
      getReceivedAtStoreOrders_args args = new getReceivedAtStoreOrders_args();
      args.setStoreId(storeId);
      sendBase("getReceivedAtStoreOrders", args);
    }

    public List<Order> recv_getReceivedAtStoreOrders() throws org.apache.thrift.TException
    {
      getReceivedAtStoreOrders_result result = new getReceivedAtStoreOrders_result();
      receiveBase(result, "getReceivedAtStoreOrders");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getReceivedAtStoreOrders failed: unknown result");
    }

    public List<Order> getOrdersCollectionAtStore(long storeId, long fromDate, long toDate, boolean onlyCod) throws org.apache.thrift.TException
    {
      send_getOrdersCollectionAtStore(storeId, fromDate, toDate, onlyCod);
      return recv_getOrdersCollectionAtStore();
    }

    public void send_getOrdersCollectionAtStore(long storeId, long fromDate, long toDate, boolean onlyCod) throws org.apache.thrift.TException
    {
      getOrdersCollectionAtStore_args args = new getOrdersCollectionAtStore_args();
      args.setStoreId(storeId);
      args.setFromDate(fromDate);
      args.setToDate(toDate);
      args.setOnlyCod(onlyCod);
      sendBase("getOrdersCollectionAtStore", args);
    }

    public List<Order> recv_getOrdersCollectionAtStore() throws org.apache.thrift.TException
    {
      getOrdersCollectionAtStore_result result = new getOrdersCollectionAtStore_result();
      receiveBase(result, "getOrdersCollectionAtStore");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getOrdersCollectionAtStore failed: unknown result");
    }

    public String getOrderAttributeValue(long orderId, String attributeName) throws org.apache.thrift.TException
    {
      send_getOrderAttributeValue(orderId, attributeName);
      return recv_getOrderAttributeValue();
    }

    public void send_getOrderAttributeValue(long orderId, String attributeName) throws org.apache.thrift.TException
    {
      getOrderAttributeValue_args args = new getOrderAttributeValue_args();
      args.setOrderId(orderId);
      args.setAttributeName(attributeName);
      sendBase("getOrderAttributeValue", args);
    }

    public String recv_getOrderAttributeValue() throws org.apache.thrift.TException
    {
      getOrderAttributeValue_result result = new getOrderAttributeValue_result();
      receiveBase(result, "getOrderAttributeValue");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getOrderAttributeValue failed: unknown result");
    }

    public boolean changeJacketNumber(long orderId, long jacketNumber) throws org.apache.thrift.TException
    {
      send_changeJacketNumber(orderId, jacketNumber);
      return recv_changeJacketNumber();
    }

    public void send_changeJacketNumber(long orderId, long jacketNumber) throws org.apache.thrift.TException
    {
      changeJacketNumber_args args = new changeJacketNumber_args();
      args.setOrderId(orderId);
      args.setJacketNumber(jacketNumber);
      sendBase("changeJacketNumber", args);
    }

    public boolean recv_changeJacketNumber() throws org.apache.thrift.TException
    {
      changeJacketNumber_result result = new changeJacketNumber_result();
      receiveBase(result, "changeJacketNumber");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "changeJacketNumber failed: unknown result");
    }

    public boolean markOrderAsRtoInTransit(long orderId) throws org.apache.thrift.TException
    {
      send_markOrderAsRtoInTransit(orderId);
      return recv_markOrderAsRtoInTransit();
    }

    public void send_markOrderAsRtoInTransit(long orderId) throws org.apache.thrift.TException
    {
      markOrderAsRtoInTransit_args args = new markOrderAsRtoInTransit_args();
      args.setOrderId(orderId);
      sendBase("markOrderAsRtoInTransit", args);
    }

    public boolean recv_markOrderAsRtoInTransit() throws org.apache.thrift.TException
    {
      markOrderAsRtoInTransit_result result = new markOrderAsRtoInTransit_result();
      receiveBase(result, "markOrderAsRtoInTransit");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "markOrderAsRtoInTransit failed: unknown result");
    }

    public void acceptOrderForItem(long itemId, long quantity, long fulfilmentWarehouseId, long billingWarehouseId) throws org.apache.thrift.TException
    {
      send_acceptOrderForItem(itemId, quantity, fulfilmentWarehouseId, billingWarehouseId);
      recv_acceptOrderForItem();
    }

    public void send_acceptOrderForItem(long itemId, long quantity, long fulfilmentWarehouseId, long billingWarehouseId) throws org.apache.thrift.TException
    {
      acceptOrderForItem_args args = new acceptOrderForItem_args();
      args.setItemId(itemId);
      args.setQuantity(quantity);
      args.setFulfilmentWarehouseId(fulfilmentWarehouseId);
      args.setBillingWarehouseId(billingWarehouseId);
      sendBase("acceptOrderForItem", args);
    }

    public void recv_acceptOrderForItem() throws org.apache.thrift.TException
    {
      acceptOrderForItem_result result = new acceptOrderForItem_result();
      receiveBase(result, "acceptOrderForItem");
      return;
    }

    public RechargeOrder createRechargeOrder(RechargeOrder rechargeOrder) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_createRechargeOrder(rechargeOrder);
      return recv_createRechargeOrder();
    }

    public void send_createRechargeOrder(RechargeOrder rechargeOrder) throws org.apache.thrift.TException
    {
      createRechargeOrder_args args = new createRechargeOrder_args();
      args.setRechargeOrder(rechargeOrder);
      sendBase("createRechargeOrder", args);
    }

    public RechargeOrder recv_createRechargeOrder() throws TransactionServiceException, org.apache.thrift.TException
    {
      createRechargeOrder_result result = new createRechargeOrder_result();
      receiveBase(result, "createRechargeOrder");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "createRechargeOrder failed: unknown result");
    }

    public RechargeOrder getRechargeOrder(long rechargeRrderId) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_getRechargeOrder(rechargeRrderId);
      return recv_getRechargeOrder();
    }

    public void send_getRechargeOrder(long rechargeRrderId) throws org.apache.thrift.TException
    {
      getRechargeOrder_args args = new getRechargeOrder_args();
      args.setRechargeRrderId(rechargeRrderId);
      sendBase("getRechargeOrder", args);
    }

    public RechargeOrder recv_getRechargeOrder() throws TransactionServiceException, org.apache.thrift.TException
    {
      getRechargeOrder_result result = new getRechargeOrder_result();
      receiveBase(result, "getRechargeOrder");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getRechargeOrder failed: unknown result");
    }

    public List<RechargeOrder> getRechargeOrders(long userId) throws org.apache.thrift.TException
    {
      send_getRechargeOrders(userId);
      return recv_getRechargeOrders();
    }

    public void send_getRechargeOrders(long userId) throws org.apache.thrift.TException
    {
      getRechargeOrders_args args = new getRechargeOrders_args();
      args.setUserId(userId);
      sendBase("getRechargeOrders", args);
    }

    public List<RechargeOrder> recv_getRechargeOrders() throws org.apache.thrift.TException
    {
      getRechargeOrders_result result = new getRechargeOrders_result();
      receiveBase(result, "getRechargeOrders");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getRechargeOrders failed: unknown result");
    }

    public boolean updateRechargeOrderStatus(long rechargeOrderId, RechargeOrderStatus rechargeOrderStatus) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_updateRechargeOrderStatus(rechargeOrderId, rechargeOrderStatus);
      return recv_updateRechargeOrderStatus();
    }

    public void send_updateRechargeOrderStatus(long rechargeOrderId, RechargeOrderStatus rechargeOrderStatus) throws org.apache.thrift.TException
    {
      updateRechargeOrderStatus_args args = new updateRechargeOrderStatus_args();
      args.setRechargeOrderId(rechargeOrderId);
      args.setRechargeOrderStatus(rechargeOrderStatus);
      sendBase("updateRechargeOrderStatus", args);
    }

    public boolean recv_updateRechargeOrderStatus() throws TransactionServiceException, org.apache.thrift.TException
    {
      updateRechargeOrderStatus_result result = new updateRechargeOrderStatus_result();
      receiveBase(result, "updateRechargeOrderStatus");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateRechargeOrderStatus failed: unknown result");
    }

    public boolean activateRechargeTxn(long rechargeOrderId) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_activateRechargeTxn(rechargeOrderId);
      return recv_activateRechargeTxn();
    }

    public void send_activateRechargeTxn(long rechargeOrderId) throws org.apache.thrift.TException
    {
      activateRechargeTxn_args args = new activateRechargeTxn_args();
      args.setRechargeOrderId(rechargeOrderId);
      sendBase("activateRechargeTxn", args);
    }

    public boolean recv_activateRechargeTxn() throws TransactionServiceException, org.apache.thrift.TException
    {
      activateRechargeTxn_result result = new activateRechargeTxn_result();
      receiveBase(result, "activateRechargeTxn");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "activateRechargeTxn failed: unknown result");
    }

    public UserWallet getUserWallet(long userId) throws org.apache.thrift.TException
    {
      send_getUserWallet(userId);
      return recv_getUserWallet();
    }

    public void send_getUserWallet(long userId) throws org.apache.thrift.TException
    {
      getUserWallet_args args = new getUserWallet_args();
      args.setUserId(userId);
      sendBase("getUserWallet", args);
    }

    public UserWallet recv_getUserWallet() throws org.apache.thrift.TException
    {
      getUserWallet_result result = new getUserWallet_result();
      receiveBase(result, "getUserWallet");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getUserWallet failed: unknown result");
    }

    public List<UserWalletHistory> getUserWalletHistory(long userId) throws org.apache.thrift.TException
    {
      send_getUserWalletHistory(userId);
      return recv_getUserWalletHistory();
    }

    public void send_getUserWalletHistory(long userId) throws org.apache.thrift.TException
    {
      getUserWalletHistory_args args = new getUserWalletHistory_args();
      args.setUserId(userId);
      sendBase("getUserWalletHistory", args);
    }

    public List<UserWalletHistory> recv_getUserWalletHistory() throws org.apache.thrift.TException
    {
      getUserWalletHistory_result result = new getUserWalletHistory_result();
      receiveBase(result, "getUserWalletHistory");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getUserWalletHistory failed: unknown result");
    }

    public List<UserWalletHistory> getLatestUserWalletHistory(long userId, long offset, long limit) throws org.apache.thrift.TException
    {
      send_getLatestUserWalletHistory(userId, offset, limit);
      return recv_getLatestUserWalletHistory();
    }

    public void send_getLatestUserWalletHistory(long userId, long offset, long limit) throws org.apache.thrift.TException
    {
      getLatestUserWalletHistory_args args = new getLatestUserWalletHistory_args();
      args.setUserId(userId);
      args.setOffset(offset);
      args.setLimit(limit);
      sendBase("getLatestUserWalletHistory", args);
    }

    public List<UserWalletHistory> recv_getLatestUserWalletHistory() throws org.apache.thrift.TException
    {
      getLatestUserWalletHistory_result result = new getLatestUserWalletHistory_result();
      receiveBase(result, "getLatestUserWalletHistory");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getLatestUserWalletHistory failed: unknown result");
    }

    public RechargeOrder getRechargeOrdersForTransaction(long txnId) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_getRechargeOrdersForTransaction(txnId);
      return recv_getRechargeOrdersForTransaction();
    }

    public void send_getRechargeOrdersForTransaction(long txnId) throws org.apache.thrift.TException
    {
      getRechargeOrdersForTransaction_args args = new getRechargeOrdersForTransaction_args();
      args.setTxnId(txnId);
      sendBase("getRechargeOrdersForTransaction", args);
    }

    public RechargeOrder recv_getRechargeOrdersForTransaction() throws TransactionServiceException, org.apache.thrift.TException
    {
      getRechargeOrdersForTransaction_result result = new getRechargeOrdersForTransaction_result();
      receiveBase(result, "getRechargeOrdersForTransaction");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getRechargeOrdersForTransaction failed: unknown result");
    }

    public Map<Long,String> getServiceProviders(RechargeType rechargeType, boolean onlyActive) throws org.apache.thrift.TException
    {
      send_getServiceProviders(rechargeType, onlyActive);
      return recv_getServiceProviders();
    }

    public void send_getServiceProviders(RechargeType rechargeType, boolean onlyActive) throws org.apache.thrift.TException
    {
      getServiceProviders_args args = new getServiceProviders_args();
      args.setRechargeType(rechargeType);
      args.setOnlyActive(onlyActive);
      sendBase("getServiceProviders", args);
    }

    public Map<Long,String> recv_getServiceProviders() throws org.apache.thrift.TException
    {
      getServiceProviders_result result = new getServiceProviders_result();
      receiveBase(result, "getServiceProviders");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getServiceProviders failed: unknown result");
    }

    public DeviceNumberInfo getServiceProviderForDevice(RechargeType rechargeType, String deviceNumber) throws org.apache.thrift.TException
    {
      send_getServiceProviderForDevice(rechargeType, deviceNumber);
      return recv_getServiceProviderForDevice();
    }

    public void send_getServiceProviderForDevice(RechargeType rechargeType, String deviceNumber) throws org.apache.thrift.TException
    {
      getServiceProviderForDevice_args args = new getServiceProviderForDevice_args();
      args.setRechargeType(rechargeType);
      args.setDeviceNumber(deviceNumber);
      sendBase("getServiceProviderForDevice", args);
    }

    public DeviceNumberInfo recv_getServiceProviderForDevice() throws org.apache.thrift.TException
    {
      getServiceProviderForDevice_result result = new getServiceProviderForDevice_result();
      receiveBase(result, "getServiceProviderForDevice");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getServiceProviderForDevice failed: unknown result");
    }

    public String validateRecharge(RechargeType rechargeType, String deviceNumber, long userSelectedProviderId, String clientAddress) throws org.apache.thrift.TException
    {
      send_validateRecharge(rechargeType, deviceNumber, userSelectedProviderId, clientAddress);
      return recv_validateRecharge();
    }

    public void send_validateRecharge(RechargeType rechargeType, String deviceNumber, long userSelectedProviderId, String clientAddress) throws org.apache.thrift.TException
    {
      validateRecharge_args args = new validateRecharge_args();
      args.setRechargeType(rechargeType);
      args.setDeviceNumber(deviceNumber);
      args.setUserSelectedProviderId(userSelectedProviderId);
      args.setClientAddress(clientAddress);
      sendBase("validateRecharge", args);
    }

    public String recv_validateRecharge() throws org.apache.thrift.TException
    {
      validateRecharge_result result = new validateRecharge_result();
      receiveBase(result, "validateRecharge");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "validateRecharge failed: unknown result");
    }

    public List<RechargeOrder> getRechargeOrdersForDevice(String deviceNumber) throws org.apache.thrift.TException
    {
      send_getRechargeOrdersForDevice(deviceNumber);
      return recv_getRechargeOrdersForDevice();
    }

    public void send_getRechargeOrdersForDevice(String deviceNumber) throws org.apache.thrift.TException
    {
      getRechargeOrdersForDevice_args args = new getRechargeOrdersForDevice_args();
      args.setDeviceNumber(deviceNumber);
      sendBase("getRechargeOrdersForDevice", args);
    }

    public List<RechargeOrder> recv_getRechargeOrdersForDevice() throws org.apache.thrift.TException
    {
      getRechargeOrdersForDevice_result result = new getRechargeOrdersForDevice_result();
      receiveBase(result, "getRechargeOrdersForDevice");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getRechargeOrdersForDevice failed: unknown result");
    }

    public void creditBatch(long batchId, String userAmount) throws org.apache.thrift.TException
    {
      send_creditBatch(batchId, userAmount);
      recv_creditBatch();
    }

    public void send_creditBatch(long batchId, String userAmount) throws org.apache.thrift.TException
    {
      creditBatch_args args = new creditBatch_args();
      args.setBatchId(batchId);
      args.setUserAmount(userAmount);
      sendBase("creditBatch", args);
    }

    public void recv_creditBatch() throws org.apache.thrift.TException
    {
      creditBatch_result result = new creditBatch_result();
      receiveBase(result, "creditBatch");
      return;
    }

    public RechargeStatistics getRechargeStatistics() throws org.apache.thrift.TException
    {
      send_getRechargeStatistics();
      return recv_getRechargeStatistics();
    }

    public void send_getRechargeStatistics() throws org.apache.thrift.TException
    {
      getRechargeStatistics_args args = new getRechargeStatistics_args();
      sendBase("getRechargeStatistics", args);
    }

    public RechargeStatistics recv_getRechargeStatistics() throws org.apache.thrift.TException
    {
      getRechargeStatistics_result result = new getRechargeStatistics_result();
      receiveBase(result, "getRechargeStatistics");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getRechargeStatistics failed: unknown result");
    }

    public List<RechargeOrder> getRechargeOrdersForStatus(long status) throws org.apache.thrift.TException
    {
      send_getRechargeOrdersForStatus(status);
      return recv_getRechargeOrdersForStatus();
    }

    public void send_getRechargeOrdersForStatus(long status) throws org.apache.thrift.TException
    {
      getRechargeOrdersForStatus_args args = new getRechargeOrdersForStatus_args();
      args.setStatus(status);
      sendBase("getRechargeOrdersForStatus", args);
    }

    public List<RechargeOrder> recv_getRechargeOrdersForStatus() throws org.apache.thrift.TException
    {
      getRechargeOrdersForStatus_result result = new getRechargeOrdersForStatus_result();
      receiveBase(result, "getRechargeOrdersForStatus");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getRechargeOrdersForStatus failed: unknown result");
    }

    public List<RechargePlan> getPlansForOperator(long operatorId) throws org.apache.thrift.TException
    {
      send_getPlansForOperator(operatorId);
      return recv_getPlansForOperator();
    }

    public void send_getPlansForOperator(long operatorId) throws org.apache.thrift.TException
    {
      getPlansForOperator_args args = new getPlansForOperator_args();
      args.setOperatorId(operatorId);
      sendBase("getPlansForOperator", args);
    }

    public List<RechargePlan> recv_getPlansForOperator() throws org.apache.thrift.TException
    {
      getPlansForOperator_result result = new getPlansForOperator_result();
      receiveBase(result, "getPlansForOperator");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getPlansForOperator failed: unknown result");
    }

    public List<RechargeDenomination> getRechargeDenominations(long operatorId, String circleCode, DenominationType denominationType) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_getRechargeDenominations(operatorId, circleCode, denominationType);
      return recv_getRechargeDenominations();
    }

    public void send_getRechargeDenominations(long operatorId, String circleCode, DenominationType denominationType) throws org.apache.thrift.TException
    {
      getRechargeDenominations_args args = new getRechargeDenominations_args();
      args.setOperatorId(operatorId);
      args.setCircleCode(circleCode);
      args.setDenominationType(denominationType);
      sendBase("getRechargeDenominations", args);
    }

    public List<RechargeDenomination> recv_getRechargeDenominations() throws TransactionServiceException, org.apache.thrift.TException
    {
      getRechargeDenominations_result result = new getRechargeDenominations_result();
      receiveBase(result, "getRechargeDenominations");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getRechargeDenominations failed: unknown result");
    }

    public void updateAvailabilityStatus(long operatorId, long circleId, boolean isAvailable) throws org.apache.thrift.TException
    {
      send_updateAvailabilityStatus(operatorId, circleId, isAvailable);
      recv_updateAvailabilityStatus();
    }

    public void send_updateAvailabilityStatus(long operatorId, long circleId, boolean isAvailable) throws org.apache.thrift.TException
    {
      updateAvailabilityStatus_args args = new updateAvailabilityStatus_args();
      args.setOperatorId(operatorId);
      args.setCircleId(circleId);
      args.setIsAvailable(isAvailable);
      sendBase("updateAvailabilityStatus", args);
    }

    public void recv_updateAvailabilityStatus() throws org.apache.thrift.TException
    {
      updateAvailabilityStatus_result result = new updateAvailabilityStatus_result();
      receiveBase(result, "updateAvailabilityStatus");
      return;
    }

    public List<EmiScheme> getAvailableEmiSchemes() throws org.apache.thrift.TException
    {
      send_getAvailableEmiSchemes();
      return recv_getAvailableEmiSchemes();
    }

    public void send_getAvailableEmiSchemes() throws org.apache.thrift.TException
    {
      getAvailableEmiSchemes_args args = new getAvailableEmiSchemes_args();
      sendBase("getAvailableEmiSchemes", args);
    }

    public List<EmiScheme> recv_getAvailableEmiSchemes() throws org.apache.thrift.TException
    {
      getAvailableEmiSchemes_result result = new getAvailableEmiSchemes_result();
      receiveBase(result, "getAvailableEmiSchemes");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAvailableEmiSchemes failed: unknown result");
    }

    public Map<Long,Double> getMiscCharges(long transactionId) throws org.apache.thrift.TException
    {
      send_getMiscCharges(transactionId);
      return recv_getMiscCharges();
    }

    public void send_getMiscCharges(long transactionId) throws org.apache.thrift.TException
    {
      getMiscCharges_args args = new getMiscCharges_args();
      args.setTransactionId(transactionId);
      sendBase("getMiscCharges", args);
    }

    public Map<Long,Double> recv_getMiscCharges() throws org.apache.thrift.TException
    {
      getMiscCharges_result result = new getMiscCharges_result();
      receiveBase(result, "getMiscCharges");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getMiscCharges failed: unknown result");
    }

    public boolean refundRechargeOrder(long rechargeOrderId) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_refundRechargeOrder(rechargeOrderId);
      return recv_refundRechargeOrder();
    }

    public void send_refundRechargeOrder(long rechargeOrderId) throws org.apache.thrift.TException
    {
      refundRechargeOrder_args args = new refundRechargeOrder_args();
      args.setRechargeOrderId(rechargeOrderId);
      sendBase("refundRechargeOrder", args);
    }

    public boolean recv_refundRechargeOrder() throws TransactionServiceException, org.apache.thrift.TException
    {
      refundRechargeOrder_result result = new refundRechargeOrder_result();
      receiveBase(result, "refundRechargeOrder");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "refundRechargeOrder failed: unknown result");
    }

    public List<Order> getPhysicalOrders(long fromDate, long toDate) throws org.apache.thrift.TException
    {
      send_getPhysicalOrders(fromDate, toDate);
      return recv_getPhysicalOrders();
    }

    public void send_getPhysicalOrders(long fromDate, long toDate) throws org.apache.thrift.TException
    {
      getPhysicalOrders_args args = new getPhysicalOrders_args();
      args.setFromDate(fromDate);
      args.setToDate(toDate);
      sendBase("getPhysicalOrders", args);
    }

    public List<Order> recv_getPhysicalOrders() throws org.apache.thrift.TException
    {
      getPhysicalOrders_result result = new getPhysicalOrders_result();
      receiveBase(result, "getPhysicalOrders");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getPhysicalOrders failed: unknown result");
    }

    public ByteBuffer getDocument(long docType, long docSource) throws org.apache.thrift.TException
    {
      send_getDocument(docType, docSource);
      return recv_getDocument();
    }

    public void send_getDocument(long docType, long docSource) throws org.apache.thrift.TException
    {
      getDocument_args args = new getDocument_args();
      args.setDocType(docType);
      args.setDocSource(docSource);
      sendBase("getDocument", args);
    }

    public ByteBuffer recv_getDocument() throws org.apache.thrift.TException
    {
      getDocument_result result = new getDocument_result();
      receiveBase(result, "getDocument");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getDocument failed: unknown result");
    }

    public boolean changeShippingAddress(long orderId, String line1, String line2, String city, String state, String pin) throws org.apache.thrift.TException
    {
      send_changeShippingAddress(orderId, line1, line2, city, state, pin);
      return recv_changeShippingAddress();
    }

    public void send_changeShippingAddress(long orderId, String line1, String line2, String city, String state, String pin) throws org.apache.thrift.TException
    {
      changeShippingAddress_args args = new changeShippingAddress_args();
      args.setOrderId(orderId);
      args.setLine1(line1);
      args.setLine2(line2);
      args.setCity(city);
      args.setState(state);
      args.setPin(pin);
      sendBase("changeShippingAddress", args);
    }

    public boolean recv_changeShippingAddress() throws org.apache.thrift.TException
    {
      changeShippingAddress_result result = new changeShippingAddress_result();
      receiveBase(result, "changeShippingAddress");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "changeShippingAddress failed: unknown result");
    }

    public ByteBuffer retrieveInvoice(long orderId, long userId) throws org.apache.thrift.TException
    {
      send_retrieveInvoice(orderId, userId);
      return recv_retrieveInvoice();
    }

    public void send_retrieveInvoice(long orderId, long userId) throws org.apache.thrift.TException
    {
      retrieveInvoice_args args = new retrieveInvoice_args();
      args.setOrderId(orderId);
      args.setUserId(userId);
      sendBase("retrieveInvoice", args);
    }

    public ByteBuffer recv_retrieveInvoice() throws org.apache.thrift.TException
    {
      retrieveInvoice_result result = new retrieveInvoice_result();
      receiveBase(result, "retrieveInvoice");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "retrieveInvoice failed: unknown result");
    }

    public List<String> receiveUpdatesForRedExpress(String awbNumber) throws org.apache.thrift.TException
    {
      send_receiveUpdatesForRedExpress(awbNumber);
      return recv_receiveUpdatesForRedExpress();
    }

    public void send_receiveUpdatesForRedExpress(String awbNumber) throws org.apache.thrift.TException
    {
      receiveUpdatesForRedExpress_args args = new receiveUpdatesForRedExpress_args();
      args.setAwbNumber(awbNumber);
      sendBase("receiveUpdatesForRedExpress", args);
    }

    public List<String> recv_receiveUpdatesForRedExpress() throws org.apache.thrift.TException
    {
      receiveUpdatesForRedExpress_result result = new receiveUpdatesForRedExpress_result();
      receiveBase(result, "receiveUpdatesForRedExpress");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "receiveUpdatesForRedExpress failed: unknown result");
    }

    public RechargeTransaction createRechargeTransaction(RechargeTransaction thriftRechargeTransaction) throws org.apache.thrift.TException
    {
      send_createRechargeTransaction(thriftRechargeTransaction);
      return recv_createRechargeTransaction();
    }

    public void send_createRechargeTransaction(RechargeTransaction thriftRechargeTransaction) throws org.apache.thrift.TException
    {
      createRechargeTransaction_args args = new createRechargeTransaction_args();
      args.setThriftRechargeTransaction(thriftRechargeTransaction);
      sendBase("createRechargeTransaction", args);
    }

    public RechargeTransaction recv_createRechargeTransaction() throws org.apache.thrift.TException
    {
      createRechargeTransaction_result result = new createRechargeTransaction_result();
      receiveBase(result, "createRechargeTransaction");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "createRechargeTransaction failed: unknown result");
    }

    public List<RechargeTransaction> getRechargeTransactions(long storeId) throws org.apache.thrift.TException
    {
      send_getRechargeTransactions(storeId);
      return recv_getRechargeTransactions();
    }

    public void send_getRechargeTransactions(long storeId) throws org.apache.thrift.TException
    {
      getRechargeTransactions_args args = new getRechargeTransactions_args();
      args.setStoreId(storeId);
      sendBase("getRechargeTransactions", args);
    }

    public List<RechargeTransaction> recv_getRechargeTransactions() throws org.apache.thrift.TException
    {
      getRechargeTransactions_result result = new getRechargeTransactions_result();
      receiveBase(result, "getRechargeTransactions");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getRechargeTransactions failed: unknown result");
    }

    public List<RechargeTransaction> getRechargeTrans(long storeId, long startDate, long endDate, RechargeOrderStatus status) throws org.apache.thrift.TException
    {
      send_getRechargeTrans(storeId, startDate, endDate, status);
      return recv_getRechargeTrans();
    }

    public void send_getRechargeTrans(long storeId, long startDate, long endDate, RechargeOrderStatus status) throws org.apache.thrift.TException
    {
      getRechargeTrans_args args = new getRechargeTrans_args();
      args.setStoreId(storeId);
      args.setStartDate(startDate);
      args.setEndDate(endDate);
      args.setStatus(status);
      sendBase("getRechargeTrans", args);
    }

    public List<RechargeTransaction> recv_getRechargeTrans() throws org.apache.thrift.TException
    {
      getRechargeTrans_result result = new getRechargeTrans_result();
      receiveBase(result, "getRechargeTrans");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getRechargeTrans failed: unknown result");
    }

    public RechargeTransaction getRechargeTransaction(long rechargeId) throws org.apache.thrift.TException
    {
      send_getRechargeTransaction(rechargeId);
      return recv_getRechargeTransaction();
    }

    public void send_getRechargeTransaction(long rechargeId) throws org.apache.thrift.TException
    {
      getRechargeTransaction_args args = new getRechargeTransaction_args();
      args.setRechargeId(rechargeId);
      sendBase("getRechargeTransaction", args);
    }

    public RechargeTransaction recv_getRechargeTransaction() throws org.apache.thrift.TException
    {
      getRechargeTransaction_result result = new getRechargeTransaction_result();
      receiveBase(result, "getRechargeTransaction");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getRechargeTransaction failed: unknown result");
    }

    public List<FRC> getFRCs(long circleId, long operatorId) throws org.apache.thrift.TException
    {
      send_getFRCs(circleId, operatorId);
      return recv_getFRCs();
    }

    public void send_getFRCs(long circleId, long operatorId) throws org.apache.thrift.TException
    {
      getFRCs_args args = new getFRCs_args();
      args.setCircleId(circleId);
      args.setOperatorId(operatorId);
      sendBase("getFRCs", args);
    }

    public List<FRC> recv_getFRCs() throws org.apache.thrift.TException
    {
      getFRCs_result result = new getFRCs_result();
      receiveBase(result, "getFRCs");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getFRCs failed: unknown result");
    }

    public HotspotStore getHotspotStore(long id, String hotspotid) throws org.apache.thrift.TException
    {
      send_getHotspotStore(id, hotspotid);
      return recv_getHotspotStore();
    }

    public void send_getHotspotStore(long id, String hotspotid) throws org.apache.thrift.TException
    {
      getHotspotStore_args args = new getHotspotStore_args();
      args.setId(id);
      args.setHotspotid(hotspotid);
      sendBase("getHotspotStore", args);
    }

    public HotspotStore recv_getHotspotStore() throws org.apache.thrift.TException
    {
      getHotspotStore_result result = new getHotspotStore_result();
      receiveBase(result, "getHotspotStore");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getHotspotStore failed: unknown result");
    }

    public TelecomCircle getTelecomCircle(long id, String code) throws org.apache.thrift.TException
    {
      send_getTelecomCircle(id, code);
      return recv_getTelecomCircle();
    }

    public void send_getTelecomCircle(long id, String code) throws org.apache.thrift.TException
    {
      getTelecomCircle_args args = new getTelecomCircle_args();
      args.setId(id);
      args.setCode(code);
      sendBase("getTelecomCircle", args);
    }

    public TelecomCircle recv_getTelecomCircle() throws org.apache.thrift.TException
    {
      getTelecomCircle_result result = new getTelecomCircle_result();
      receiveBase(result, "getTelecomCircle");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getTelecomCircle failed: unknown result");
    }

    public ByteBuffer retrieveHotspotRechargeInvoice(long rechargeId) throws org.apache.thrift.TException
    {
      send_retrieveHotspotRechargeInvoice(rechargeId);
      return recv_retrieveHotspotRechargeInvoice();
    }

    public void send_retrieveHotspotRechargeInvoice(long rechargeId) throws org.apache.thrift.TException
    {
      retrieveHotspotRechargeInvoice_args args = new retrieveHotspotRechargeInvoice_args();
      args.setRechargeId(rechargeId);
      sendBase("retrieveHotspotRechargeInvoice", args);
    }

    public ByteBuffer recv_retrieveHotspotRechargeInvoice() throws org.apache.thrift.TException
    {
      retrieveHotspotRechargeInvoice_result result = new retrieveHotspotRechargeInvoice_result();
      receiveBase(result, "retrieveHotspotRechargeInvoice");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "retrieveHotspotRechargeInvoice failed: unknown result");
    }

    public Order splitFreebieOrder(long orderId, String splitReason, long shippingDate) throws org.apache.thrift.TException
    {
      send_splitFreebieOrder(orderId, splitReason, shippingDate);
      return recv_splitFreebieOrder();
    }

    public void send_splitFreebieOrder(long orderId, String splitReason, long shippingDate) throws org.apache.thrift.TException
    {
      splitFreebieOrder_args args = new splitFreebieOrder_args();
      args.setOrderId(orderId);
      args.setSplitReason(splitReason);
      args.setShippingDate(shippingDate);
      sendBase("splitFreebieOrder", args);
    }

    public Order recv_splitFreebieOrder() throws org.apache.thrift.TException
    {
      splitFreebieOrder_result result = new splitFreebieOrder_result();
      receiveBase(result, "splitFreebieOrder");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "splitFreebieOrder failed: unknown result");
    }

    public List<RechargeTransaction> getRechargeTransactionsByNumber(String number, long storeId) throws org.apache.thrift.TException
    {
      send_getRechargeTransactionsByNumber(number, storeId);
      return recv_getRechargeTransactionsByNumber();
    }

    public void send_getRechargeTransactionsByNumber(String number, long storeId) throws org.apache.thrift.TException
    {
      getRechargeTransactionsByNumber_args args = new getRechargeTransactionsByNumber_args();
      args.setNumber(number);
      args.setStoreId(storeId);
      sendBase("getRechargeTransactionsByNumber", args);
    }

    public List<RechargeTransaction> recv_getRechargeTransactionsByNumber() throws org.apache.thrift.TException
    {
      getRechargeTransactionsByNumber_result result = new getRechargeTransactionsByNumber_result();
      receiveBase(result, "getRechargeTransactionsByNumber");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getRechargeTransactionsByNumber failed: unknown result");
    }

    public boolean updateHotspotStorePassword(long storeId, String password) throws org.apache.thrift.TException
    {
      send_updateHotspotStorePassword(storeId, password);
      return recv_updateHotspotStorePassword();
    }

    public void send_updateHotspotStorePassword(long storeId, String password) throws org.apache.thrift.TException
    {
      updateHotspotStorePassword_args args = new updateHotspotStorePassword_args();
      args.setStoreId(storeId);
      args.setPassword(password);
      sendBase("updateHotspotStorePassword", args);
    }

    public boolean recv_updateHotspotStorePassword() throws org.apache.thrift.TException
    {
      updateHotspotStorePassword_result result = new updateHotspotStorePassword_result();
      receiveBase(result, "updateHotspotStorePassword");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateHotspotStorePassword failed: unknown result");
    }

    public long topupCompanyWallet(long companyId, long amount) throws org.apache.thrift.TException
    {
      send_topupCompanyWallet(companyId, amount);
      return recv_topupCompanyWallet();
    }

    public void send_topupCompanyWallet(long companyId, long amount) throws org.apache.thrift.TException
    {
      topupCompanyWallet_args args = new topupCompanyWallet_args();
      args.setCompanyId(companyId);
      args.setAmount(amount);
      sendBase("topupCompanyWallet", args);
    }

    public long recv_topupCompanyWallet() throws org.apache.thrift.TException
    {
      topupCompanyWallet_result result = new topupCompanyWallet_result();
      receiveBase(result, "topupCompanyWallet");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "topupCompanyWallet failed: unknown result");
    }

    public long getWalletBalanceForCompany(long companyId) throws org.apache.thrift.TException
    {
      send_getWalletBalanceForCompany(companyId);
      return recv_getWalletBalanceForCompany();
    }

    public void send_getWalletBalanceForCompany(long companyId) throws org.apache.thrift.TException
    {
      getWalletBalanceForCompany_args args = new getWalletBalanceForCompany_args();
      args.setCompanyId(companyId);
      sendBase("getWalletBalanceForCompany", args);
    }

    public long recv_getWalletBalanceForCompany() throws org.apache.thrift.TException
    {
      getWalletBalanceForCompany_result result = new getWalletBalanceForCompany_result();
      receiveBase(result, "getWalletBalanceForCompany");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getWalletBalanceForCompany failed: unknown result");
    }

    public long getSaholicRechargeBalance() throws org.apache.thrift.TException
    {
      send_getSaholicRechargeBalance();
      return recv_getSaholicRechargeBalance();
    }

    public void send_getSaholicRechargeBalance() throws org.apache.thrift.TException
    {
      getSaholicRechargeBalance_args args = new getSaholicRechargeBalance_args();
      sendBase("getSaholicRechargeBalance", args);
    }

    public long recv_getSaholicRechargeBalance() throws org.apache.thrift.TException
    {
      getSaholicRechargeBalance_result result = new getSaholicRechargeBalance_result();
      receiveBase(result, "getSaholicRechargeBalance");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getSaholicRechargeBalance failed: unknown result");
    }

    public SourceDetail getSourceDetail(long source) throws org.apache.thrift.TException
    {
      send_getSourceDetail(source);
      return recv_getSourceDetail();
    }

    public void send_getSourceDetail(long source) throws org.apache.thrift.TException
    {
      getSourceDetail_args args = new getSourceDetail_args();
      args.setSource(source);
      sendBase("getSourceDetail", args);
    }

    public SourceDetail recv_getSourceDetail() throws org.apache.thrift.TException
    {
      getSourceDetail_result result = new getSourceDetail_result();
      receiveBase(result, "getSourceDetail");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getSourceDetail failed: unknown result");
    }

    public List<TelecomCircle> getAllCircles() throws org.apache.thrift.TException
    {
      send_getAllCircles();
      return recv_getAllCircles();
    }

    public void send_getAllCircles() throws org.apache.thrift.TException
    {
      getAllCircles_args args = new getAllCircles_args();
      sendBase("getAllCircles", args);
    }

    public List<TelecomCircle> recv_getAllCircles() throws org.apache.thrift.TException
    {
      getAllCircles_result result = new getAllCircles_result();
      receiveBase(result, "getAllCircles");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllCircles failed: unknown result");
    }

    public boolean deleteFrcs(List<Long> frcIdsToDelete) throws org.apache.thrift.TException
    {
      send_deleteFrcs(frcIdsToDelete);
      return recv_deleteFrcs();
    }

    public void send_deleteFrcs(List<Long> frcIdsToDelete) throws org.apache.thrift.TException
    {
      deleteFrcs_args args = new deleteFrcs_args();
      args.setFrcIdsToDelete(frcIdsToDelete);
      sendBase("deleteFrcs", args);
    }

    public boolean recv_deleteFrcs() throws org.apache.thrift.TException
    {
      deleteFrcs_result result = new deleteFrcs_result();
      receiveBase(result, "deleteFrcs");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deleteFrcs failed: unknown result");
    }

    public void addAmazonOrder(AmazonOrder amazonOrder) throws org.apache.thrift.TException
    {
      send_addAmazonOrder(amazonOrder);
      recv_addAmazonOrder();
    }

    public void send_addAmazonOrder(AmazonOrder amazonOrder) throws org.apache.thrift.TException
    {
      addAmazonOrder_args args = new addAmazonOrder_args();
      args.setAmazonOrder(amazonOrder);
      sendBase("addAmazonOrder", args);
    }

    public void recv_addAmazonOrder() throws org.apache.thrift.TException
    {
      addAmazonOrder_result result = new addAmazonOrder_result();
      receiveBase(result, "addAmazonOrder");
      return;
    }

    public boolean updateAmazonOrderStatus(long orderId, String status) throws org.apache.thrift.TException
    {
      send_updateAmazonOrderStatus(orderId, status);
      return recv_updateAmazonOrderStatus();
    }

    public void send_updateAmazonOrderStatus(long orderId, String status) throws org.apache.thrift.TException
    {
      updateAmazonOrderStatus_args args = new updateAmazonOrderStatus_args();
      args.setOrderId(orderId);
      args.setStatus(status);
      sendBase("updateAmazonOrderStatus", args);
    }

    public boolean recv_updateAmazonOrderStatus() throws org.apache.thrift.TException
    {
      updateAmazonOrderStatus_result result = new updateAmazonOrderStatus_result();
      receiveBase(result, "updateAmazonOrderStatus");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateAmazonOrderStatus failed: unknown result");
    }

    public List<Order> getAmazonOrdersShipped() throws org.apache.thrift.TException
    {
      send_getAmazonOrdersShipped();
      return recv_getAmazonOrdersShipped();
    }

    public void send_getAmazonOrdersShipped() throws org.apache.thrift.TException
    {
      getAmazonOrdersShipped_args args = new getAmazonOrdersShipped_args();
      sendBase("getAmazonOrdersShipped", args);
    }

    public List<Order> recv_getAmazonOrdersShipped() throws org.apache.thrift.TException
    {
      getAmazonOrdersShipped_result result = new getAmazonOrdersShipped_result();
      receiveBase(result, "getAmazonOrdersShipped");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAmazonOrdersShipped failed: unknown result");
    }

    public List<Order> getAmazonOrdersCancelled(long interval) throws org.apache.thrift.TException
    {
      send_getAmazonOrdersCancelled(interval);
      return recv_getAmazonOrdersCancelled();
    }

    public void send_getAmazonOrdersCancelled(long interval) throws org.apache.thrift.TException
    {
      getAmazonOrdersCancelled_args args = new getAmazonOrdersCancelled_args();
      args.setInterval(interval);
      sendBase("getAmazonOrdersCancelled", args);
    }

    public List<Order> recv_getAmazonOrdersCancelled() throws org.apache.thrift.TException
    {
      getAmazonOrdersCancelled_result result = new getAmazonOrdersCancelled_result();
      receiveBase(result, "getAmazonOrdersCancelled");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAmazonOrdersCancelled failed: unknown result");
    }

    public AmazonOrder getAmazonOrder(long orderId) throws org.apache.thrift.TException
    {
      send_getAmazonOrder(orderId);
      return recv_getAmazonOrder();
    }

    public void send_getAmazonOrder(long orderId) throws org.apache.thrift.TException
    {
      getAmazonOrder_args args = new getAmazonOrder_args();
      args.setOrderId(orderId);
      sendBase("getAmazonOrder", args);
    }

    public AmazonOrder recv_getAmazonOrder() throws org.apache.thrift.TException
    {
      getAmazonOrder_result result = new getAmazonOrder_result();
      receiveBase(result, "getAmazonOrder");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAmazonOrder failed: unknown result");
    }

    public List<AmazonOrder> getAmazonOrderByAmazonOrderId(String amazonOrderId) throws org.apache.thrift.TException
    {
      send_getAmazonOrderByAmazonOrderId(amazonOrderId);
      return recv_getAmazonOrderByAmazonOrderId();
    }

    public void send_getAmazonOrderByAmazonOrderId(String amazonOrderId) throws org.apache.thrift.TException
    {
      getAmazonOrderByAmazonOrderId_args args = new getAmazonOrderByAmazonOrderId_args();
      args.setAmazonOrderId(amazonOrderId);
      sendBase("getAmazonOrderByAmazonOrderId", args);
    }

    public List<AmazonOrder> recv_getAmazonOrderByAmazonOrderId() throws org.apache.thrift.TException
    {
      getAmazonOrderByAmazonOrderId_result result = new getAmazonOrderByAmazonOrderId_result();
      receiveBase(result, "getAmazonOrderByAmazonOrderId");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAmazonOrderByAmazonOrderId failed: unknown result");
    }

    public List<Order> getOrdersForStore(long id, long storeId, long startDate, long endDate, List<OrderStatus> statuses) throws org.apache.thrift.TException
    {
      send_getOrdersForStore(id, storeId, startDate, endDate, statuses);
      return recv_getOrdersForStore();
    }

    public void send_getOrdersForStore(long id, long storeId, long startDate, long endDate, List<OrderStatus> statuses) throws org.apache.thrift.TException
    {
      getOrdersForStore_args args = new getOrdersForStore_args();
      args.setId(id);
      args.setStoreId(storeId);
      args.setStartDate(startDate);
      args.setEndDate(endDate);
      args.setStatuses(statuses);
      sendBase("getOrdersForStore", args);
    }

    public List<Order> recv_getOrdersForStore() throws org.apache.thrift.TException
    {
      getOrdersForStore_result result = new getOrdersForStore_result();
      receiveBase(result, "getOrdersForStore");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getOrdersForStore failed: unknown result");
    }

    public ByteBuffer getStoreOrderAdvanceInvoice(long orderId, long storeId) throws org.apache.thrift.TException
    {
      send_getStoreOrderAdvanceInvoice(orderId, storeId);
      return recv_getStoreOrderAdvanceInvoice();
    }

    public void send_getStoreOrderAdvanceInvoice(long orderId, long storeId) throws org.apache.thrift.TException
    {
      getStoreOrderAdvanceInvoice_args args = new getStoreOrderAdvanceInvoice_args();
      args.setOrderId(orderId);
      args.setStoreId(storeId);
      sendBase("getStoreOrderAdvanceInvoice", args);
    }

    public ByteBuffer recv_getStoreOrderAdvanceInvoice() throws org.apache.thrift.TException
    {
      getStoreOrderAdvanceInvoice_result result = new getStoreOrderAdvanceInvoice_result();
      receiveBase(result, "getStoreOrderAdvanceInvoice");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getStoreOrderAdvanceInvoice failed: unknown result");
    }

    public boolean addFrc(long circleId, long operatorId, long denomination, long maxDiscount) throws org.apache.thrift.TException
    {
      send_addFrc(circleId, operatorId, denomination, maxDiscount);
      return recv_addFrc();
    }

    public void send_addFrc(long circleId, long operatorId, long denomination, long maxDiscount) throws org.apache.thrift.TException
    {
      addFrc_args args = new addFrc_args();
      args.setCircleId(circleId);
      args.setOperatorId(operatorId);
      args.setDenomination(denomination);
      args.setMaxDiscount(maxDiscount);
      sendBase("addFrc", args);
    }

    public boolean recv_addFrc() throws org.apache.thrift.TException
    {
      addFrc_result result = new addFrc_result();
      receiveBase(result, "addFrc");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "addFrc failed: unknown result");
    }

    public String addSeries(long circle, long operatorId, long series) throws org.apache.thrift.TException
    {
      send_addSeries(circle, operatorId, series);
      return recv_addSeries();
    }

    public void send_addSeries(long circle, long operatorId, long series) throws org.apache.thrift.TException
    {
      addSeries_args args = new addSeries_args();
      args.setCircle(circle);
      args.setOperatorId(operatorId);
      args.setSeries(series);
      sendBase("addSeries", args);
    }

    public String recv_addSeries() throws org.apache.thrift.TException
    {
      addSeries_result result = new addSeries_result();
      receiveBase(result, "addSeries");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "addSeries failed: unknown result");
    }

    public boolean saveStoreOrderDetail(StoreOrderDetail storeOrderDetail) throws org.apache.thrift.TException
    {
      send_saveStoreOrderDetail(storeOrderDetail);
      return recv_saveStoreOrderDetail();
    }

    public void send_saveStoreOrderDetail(StoreOrderDetail storeOrderDetail) throws org.apache.thrift.TException
    {
      saveStoreOrderDetail_args args = new saveStoreOrderDetail_args();
      args.setStoreOrderDetail(storeOrderDetail);
      sendBase("saveStoreOrderDetail", args);
    }

    public boolean recv_saveStoreOrderDetail() throws org.apache.thrift.TException
    {
      saveStoreOrderDetail_result result = new saveStoreOrderDetail_result();
      receiveBase(result, "saveStoreOrderDetail");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "saveStoreOrderDetail failed: unknown result");
    }

    public StoreOrderDetail getStoreOrderDetail(long orderId, long storeId) throws org.apache.thrift.TException
    {
      send_getStoreOrderDetail(orderId, storeId);
      return recv_getStoreOrderDetail();
    }

    public void send_getStoreOrderDetail(long orderId, long storeId) throws org.apache.thrift.TException
    {
      getStoreOrderDetail_args args = new getStoreOrderDetail_args();
      args.setOrderId(orderId);
      args.setStoreId(storeId);
      sendBase("getStoreOrderDetail", args);
    }

    public StoreOrderDetail recv_getStoreOrderDetail() throws org.apache.thrift.TException
    {
      getStoreOrderDetail_result result = new getStoreOrderDetail_result();
      receiveBase(result, "getStoreOrderDetail");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getStoreOrderDetail failed: unknown result");
    }

    public List<String> getAllEdcBanks() throws org.apache.thrift.TException
    {
      send_getAllEdcBanks();
      return recv_getAllEdcBanks();
    }

    public void send_getAllEdcBanks() throws org.apache.thrift.TException
    {
      getAllEdcBanks_args args = new getAllEdcBanks_args();
      sendBase("getAllEdcBanks", args);
    }

    public List<String> recv_getAllEdcBanks() throws org.apache.thrift.TException
    {
      getAllEdcBanks_result result = new getAllEdcBanks_result();
      receiveBase(result, "getAllEdcBanks");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllEdcBanks failed: unknown result");
    }

    public boolean saveRefundAmountsForStoreOrder(long orderId, long storeId, double cashRefundAmount, double cardRefundAmount) throws org.apache.thrift.TException
    {
      send_saveRefundAmountsForStoreOrder(orderId, storeId, cashRefundAmount, cardRefundAmount);
      return recv_saveRefundAmountsForStoreOrder();
    }

    public void send_saveRefundAmountsForStoreOrder(long orderId, long storeId, double cashRefundAmount, double cardRefundAmount) throws org.apache.thrift.TException
    {
      saveRefundAmountsForStoreOrder_args args = new saveRefundAmountsForStoreOrder_args();
      args.setOrderId(orderId);
      args.setStoreId(storeId);
      args.setCashRefundAmount(cashRefundAmount);
      args.setCardRefundAmount(cardRefundAmount);
      sendBase("saveRefundAmountsForStoreOrder", args);
    }

    public boolean recv_saveRefundAmountsForStoreOrder() throws org.apache.thrift.TException
    {
      saveRefundAmountsForStoreOrder_result result = new saveRefundAmountsForStoreOrder_result();
      receiveBase(result, "saveRefundAmountsForStoreOrder");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "saveRefundAmountsForStoreOrder failed: unknown result");
    }

    public List<StoreOrderCollection> getCollectionsForStore(long storeId, long startDate, long endDate) throws org.apache.thrift.TException
    {
      send_getCollectionsForStore(storeId, startDate, endDate);
      return recv_getCollectionsForStore();
    }

    public void send_getCollectionsForStore(long storeId, long startDate, long endDate) throws org.apache.thrift.TException
    {
      getCollectionsForStore_args args = new getCollectionsForStore_args();
      args.setStoreId(storeId);
      args.setStartDate(startDate);
      args.setEndDate(endDate);
      sendBase("getCollectionsForStore", args);
    }

    public List<StoreOrderCollection> recv_getCollectionsForStore() throws org.apache.thrift.TException
    {
      getCollectionsForStore_result result = new getCollectionsForStore_result();
      receiveBase(result, "getCollectionsForStore");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getCollectionsForStore failed: unknown result");
    }

    public List<AmazonOrdersToAcknowledge> getAmazonOrdersToAcknowledge(OrderSource source) throws org.apache.thrift.TException
    {
      send_getAmazonOrdersToAcknowledge(source);
      return recv_getAmazonOrdersToAcknowledge();
    }

    public void send_getAmazonOrdersToAcknowledge(OrderSource source) throws org.apache.thrift.TException
    {
      getAmazonOrdersToAcknowledge_args args = new getAmazonOrdersToAcknowledge_args();
      args.setSource(source);
      sendBase("getAmazonOrdersToAcknowledge", args);
    }

    public List<AmazonOrdersToAcknowledge> recv_getAmazonOrdersToAcknowledge() throws org.apache.thrift.TException
    {
      getAmazonOrdersToAcknowledge_result result = new getAmazonOrdersToAcknowledge_result();
      receiveBase(result, "getAmazonOrdersToAcknowledge");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAmazonOrdersToAcknowledge failed: unknown result");
    }

    public void changeAmazonOrderStatus(String amazonOrderCode, String status) throws org.apache.thrift.TException
    {
      send_changeAmazonOrderStatus(amazonOrderCode, status);
      recv_changeAmazonOrderStatus();
    }

    public void send_changeAmazonOrderStatus(String amazonOrderCode, String status) throws org.apache.thrift.TException
    {
      changeAmazonOrderStatus_args args = new changeAmazonOrderStatus_args();
      args.setAmazonOrderCode(amazonOrderCode);
      args.setStatus(status);
      sendBase("changeAmazonOrderStatus", args);
    }

    public void recv_changeAmazonOrderStatus() throws org.apache.thrift.TException
    {
      changeAmazonOrderStatus_result result = new changeAmazonOrderStatus_result();
      receiveBase(result, "changeAmazonOrderStatus");
      return;
    }

    public boolean updateTimestampForAmazonOrder(Map<Long,Map<String,String>> amazonOrderDelivery) throws org.apache.thrift.TException
    {
      send_updateTimestampForAmazonOrder(amazonOrderDelivery);
      return recv_updateTimestampForAmazonOrder();
    }

    public void send_updateTimestampForAmazonOrder(Map<Long,Map<String,String>> amazonOrderDelivery) throws org.apache.thrift.TException
    {
      updateTimestampForAmazonOrder_args args = new updateTimestampForAmazonOrder_args();
      args.setAmazonOrderDelivery(amazonOrderDelivery);
      sendBase("updateTimestampForAmazonOrder", args);
    }

    public boolean recv_updateTimestampForAmazonOrder() throws org.apache.thrift.TException
    {
      updateTimestampForAmazonOrder_result result = new updateTimestampForAmazonOrder_result();
      receiveBase(result, "updateTimestampForAmazonOrder");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateTimestampForAmazonOrder failed: unknown result");
    }

    public boolean updateSourceDetailTimestamp(long id, long lastUpdatedOn) throws org.apache.thrift.TException
    {
      send_updateSourceDetailTimestamp(id, lastUpdatedOn);
      return recv_updateSourceDetailTimestamp();
    }

    public void send_updateSourceDetailTimestamp(long id, long lastUpdatedOn) throws org.apache.thrift.TException
    {
      updateSourceDetailTimestamp_args args = new updateSourceDetailTimestamp_args();
      args.setId(id);
      args.setLastUpdatedOn(lastUpdatedOn);
      sendBase("updateSourceDetailTimestamp", args);
    }

    public boolean recv_updateSourceDetailTimestamp() throws org.apache.thrift.TException
    {
      updateSourceDetailTimestamp_result result = new updateSourceDetailTimestamp_result();
      receiveBase(result, "updateSourceDetailTimestamp");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateSourceDetailTimestamp failed: unknown result");
    }

    public List<Order> getOrdersByMobileNumber(String mobileNumber) throws org.apache.thrift.TException
    {
      send_getOrdersByMobileNumber(mobileNumber);
      return recv_getOrdersByMobileNumber();
    }

    public void send_getOrdersByMobileNumber(String mobileNumber) throws org.apache.thrift.TException
    {
      getOrdersByMobileNumber_args args = new getOrdersByMobileNumber_args();
      args.setMobileNumber(mobileNumber);
      sendBase("getOrdersByMobileNumber", args);
    }

    public List<Order> recv_getOrdersByMobileNumber() throws org.apache.thrift.TException
    {
      getOrdersByMobileNumber_result result = new getOrdersByMobileNumber_result();
      receiveBase(result, "getOrdersByMobileNumber");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getOrdersByMobileNumber failed: unknown result");
    }

    public List<Order> getOrdersByAmazonOrderCode(String amazonId) throws org.apache.thrift.TException
    {
      send_getOrdersByAmazonOrderCode(amazonId);
      return recv_getOrdersByAmazonOrderCode();
    }

    public void send_getOrdersByAmazonOrderCode(String amazonId) throws org.apache.thrift.TException
    {
      getOrdersByAmazonOrderCode_args args = new getOrdersByAmazonOrderCode_args();
      args.setAmazonId(amazonId);
      sendBase("getOrdersByAmazonOrderCode", args);
    }

    public List<Order> recv_getOrdersByAmazonOrderCode() throws org.apache.thrift.TException
    {
      getOrdersByAmazonOrderCode_result result = new getOrdersByAmazonOrderCode_result();
      receiveBase(result, "getOrdersByAmazonOrderCode");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getOrdersByAmazonOrderCode failed: unknown result");
    }

    public boolean convertStoreToNormal(long orderId) throws org.apache.thrift.TException
    {
      send_convertStoreToNormal(orderId);
      return recv_convertStoreToNormal();
    }

    public void send_convertStoreToNormal(long orderId) throws org.apache.thrift.TException
    {
      convertStoreToNormal_args args = new convertStoreToNormal_args();
      args.setOrderId(orderId);
      sendBase("convertStoreToNormal", args);
    }

    public boolean recv_convertStoreToNormal() throws org.apache.thrift.TException
    {
      convertStoreToNormal_result result = new convertStoreToNormal_result();
      receiveBase(result, "convertStoreToNormal");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "convertStoreToNormal failed: unknown result");
    }

    public Order updateFreebieItem(long orderId, long newFreebieItemId) throws org.apache.thrift.TException
    {
      send_updateFreebieItem(orderId, newFreebieItemId);
      return recv_updateFreebieItem();
    }

    public void send_updateFreebieItem(long orderId, long newFreebieItemId) throws org.apache.thrift.TException
    {
      updateFreebieItem_args args = new updateFreebieItem_args();
      args.setOrderId(orderId);
      args.setNewFreebieItemId(newFreebieItemId);
      sendBase("updateFreebieItem", args);
    }

    public Order recv_updateFreebieItem() throws org.apache.thrift.TException
    {
      updateFreebieItem_result result = new updateFreebieItem_result();
      receiveBase(result, "updateFreebieItem");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateFreebieItem failed: unknown result");
    }

    public List<HotspotServiceMatrix> getHotspotServiceMatrices() throws org.apache.thrift.TException
    {
      send_getHotspotServiceMatrices();
      return recv_getHotspotServiceMatrices();
    }

    public void send_getHotspotServiceMatrices() throws org.apache.thrift.TException
    {
      getHotspotServiceMatrices_args args = new getHotspotServiceMatrices_args();
      sendBase("getHotspotServiceMatrices", args);
    }

    public List<HotspotServiceMatrix> recv_getHotspotServiceMatrices() throws org.apache.thrift.TException
    {
      getHotspotServiceMatrices_result result = new getHotspotServiceMatrices_result();
      receiveBase(result, "getHotspotServiceMatrices");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getHotspotServiceMatrices failed: unknown result");
    }

    public Order updateOrderAWB(long orderId, String airwayBillNo) throws org.apache.thrift.TException
    {
      send_updateOrderAWB(orderId, airwayBillNo);
      return recv_updateOrderAWB();
    }

    public void send_updateOrderAWB(long orderId, String airwayBillNo) throws org.apache.thrift.TException
    {
      updateOrderAWB_args args = new updateOrderAWB_args();
      args.setOrderId(orderId);
      args.setAirwayBillNo(airwayBillNo);
      sendBase("updateOrderAWB", args);
    }

    public Order recv_updateOrderAWB() throws org.apache.thrift.TException
    {
      updateOrderAWB_result result = new updateOrderAWB_result();
      receiveBase(result, "updateOrderAWB");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateOrderAWB failed: unknown result");
    }

    public List<Order> getOrdersByVendor(List<Long> vendors, List<OrderStatus> statuses) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_getOrdersByVendor(vendors, statuses);
      return recv_getOrdersByVendor();
    }

    public void send_getOrdersByVendor(List<Long> vendors, List<OrderStatus> statuses) throws org.apache.thrift.TException
    {
      getOrdersByVendor_args args = new getOrdersByVendor_args();
      args.setVendors(vendors);
      args.setStatuses(statuses);
      sendBase("getOrdersByVendor", args);
    }

    public List<Order> recv_getOrdersByVendor() throws TransactionServiceException, org.apache.thrift.TException
    {
      getOrdersByVendor_result result = new getOrdersByVendor_result();
      receiveBase(result, "getOrdersByVendor");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getOrdersByVendor failed: unknown result");
    }

    public void createEbayOrder(EbayOrder ebayOrder) throws org.apache.thrift.TException
    {
      send_createEbayOrder(ebayOrder);
      recv_createEbayOrder();
    }

    public void send_createEbayOrder(EbayOrder ebayOrder) throws org.apache.thrift.TException
    {
      createEbayOrder_args args = new createEbayOrder_args();
      args.setEbayOrder(ebayOrder);
      sendBase("createEbayOrder", args);
    }

    public void recv_createEbayOrder() throws org.apache.thrift.TException
    {
      createEbayOrder_result result = new createEbayOrder_result();
      receiveBase(result, "createEbayOrder");
      return;
    }

    public EbayOrder getEbayOrderByOrderId(long orderId) throws org.apache.thrift.TException
    {
      send_getEbayOrderByOrderId(orderId);
      return recv_getEbayOrderByOrderId();
    }

    public void send_getEbayOrderByOrderId(long orderId) throws org.apache.thrift.TException
    {
      getEbayOrderByOrderId_args args = new getEbayOrderByOrderId_args();
      args.setOrderId(orderId);
      sendBase("getEbayOrderByOrderId", args);
    }

    public EbayOrder recv_getEbayOrderByOrderId() throws org.apache.thrift.TException
    {
      getEbayOrderByOrderId_result result = new getEbayOrderByOrderId_result();
      receiveBase(result, "getEbayOrderByOrderId");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getEbayOrderByOrderId failed: unknown result");
    }

    public EbayOrder getEbayOrderBySalesRecNumber(long salesRecordNumber) throws org.apache.thrift.TException
    {
      send_getEbayOrderBySalesRecNumber(salesRecordNumber);
      return recv_getEbayOrderBySalesRecNumber();
    }

    public void send_getEbayOrderBySalesRecNumber(long salesRecordNumber) throws org.apache.thrift.TException
    {
      getEbayOrderBySalesRecNumber_args args = new getEbayOrderBySalesRecNumber_args();
      args.setSalesRecordNumber(salesRecordNumber);
      sendBase("getEbayOrderBySalesRecNumber", args);
    }

    public EbayOrder recv_getEbayOrderBySalesRecNumber() throws org.apache.thrift.TException
    {
      getEbayOrderBySalesRecNumber_result result = new getEbayOrderBySalesRecNumber_result();
      receiveBase(result, "getEbayOrderBySalesRecNumber");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getEbayOrderBySalesRecNumber failed: unknown result");
    }

    public List<EbayOrder> getEbayOrder(long salesRecordNumber, String listingId, String paisapayId) throws org.apache.thrift.TException
    {
      send_getEbayOrder(salesRecordNumber, listingId, paisapayId);
      return recv_getEbayOrder();
    }

    public void send_getEbayOrder(long salesRecordNumber, String listingId, String paisapayId) throws org.apache.thrift.TException
    {
      getEbayOrder_args args = new getEbayOrder_args();
      args.setSalesRecordNumber(salesRecordNumber);
      args.setListingId(listingId);
      args.setPaisapayId(paisapayId);
      sendBase("getEbayOrder", args);
    }

    public List<EbayOrder> recv_getEbayOrder() throws org.apache.thrift.TException
    {
      getEbayOrder_result result = new getEbayOrder_result();
      receiveBase(result, "getEbayOrder");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getEbayOrder failed: unknown result");
    }

    public void updateEbayOrder(EbayOrder ebayOrder) throws org.apache.thrift.TException
    {
      send_updateEbayOrder(ebayOrder);
      recv_updateEbayOrder();
    }

    public void send_updateEbayOrder(EbayOrder ebayOrder) throws org.apache.thrift.TException
    {
      updateEbayOrder_args args = new updateEbayOrder_args();
      args.setEbayOrder(ebayOrder);
      sendBase("updateEbayOrder", args);
    }

    public void recv_updateEbayOrder() throws org.apache.thrift.TException
    {
      updateEbayOrder_result result = new updateEbayOrder_result();
      receiveBase(result, "updateEbayOrder");
      return;
    }

    public boolean ebayOrderExists(long salesRecNumber, String ebayListingId) throws org.apache.thrift.TException
    {
      send_ebayOrderExists(salesRecNumber, ebayListingId);
      return recv_ebayOrderExists();
    }

    public void send_ebayOrderExists(long salesRecNumber, String ebayListingId) throws org.apache.thrift.TException
    {
      ebayOrderExists_args args = new ebayOrderExists_args();
      args.setSalesRecNumber(salesRecNumber);
      args.setEbayListingId(ebayListingId);
      sendBase("ebayOrderExists", args);
    }

    public boolean recv_ebayOrderExists() throws org.apache.thrift.TException
    {
      ebayOrderExists_result result = new ebayOrderExists_result();
      receiveBase(result, "ebayOrderExists");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "ebayOrderExists failed: unknown result");
    }

    public void updateOrderForEbay(Order order) throws org.apache.thrift.TException
    {
      send_updateOrderForEbay(order);
      recv_updateOrderForEbay();
    }

    public void send_updateOrderForEbay(Order order) throws org.apache.thrift.TException
    {
      updateOrderForEbay_args args = new updateOrderForEbay_args();
      args.setOrder(order);
      sendBase("updateOrderForEbay", args);
    }

    public void recv_updateOrderForEbay() throws org.apache.thrift.TException
    {
      updateOrderForEbay_result result = new updateOrderForEbay_result();
      receiveBase(result, "updateOrderForEbay");
      return;
    }

    public Order splitEbayOrder(long orderId, long splitOrderQty, long splitOrderItemId, boolean usePowerShip) throws org.apache.thrift.TException
    {
      send_splitEbayOrder(orderId, splitOrderQty, splitOrderItemId, usePowerShip);
      return recv_splitEbayOrder();
    }

    public void send_splitEbayOrder(long orderId, long splitOrderQty, long splitOrderItemId, boolean usePowerShip) throws org.apache.thrift.TException
    {
      splitEbayOrder_args args = new splitEbayOrder_args();
      args.setOrderId(orderId);
      args.setSplitOrderQty(splitOrderQty);
      args.setSplitOrderItemId(splitOrderItemId);
      args.setUsePowerShip(usePowerShip);
      sendBase("splitEbayOrder", args);
    }

    public Order recv_splitEbayOrder() throws org.apache.thrift.TException
    {
      splitEbayOrder_result result = new splitEbayOrder_result();
      receiveBase(result, "splitEbayOrder");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "splitEbayOrder failed: unknown result");
    }

    public void addOrUpdateAmazonFbaSalesSnapshot(AmazonFbaSalesSnapshot amazonfbasalessnapshot) throws org.apache.thrift.TException
    {
      send_addOrUpdateAmazonFbaSalesSnapshot(amazonfbasalessnapshot);
      recv_addOrUpdateAmazonFbaSalesSnapshot();
    }

    public void send_addOrUpdateAmazonFbaSalesSnapshot(AmazonFbaSalesSnapshot amazonfbasalessnapshot) throws org.apache.thrift.TException
    {
      addOrUpdateAmazonFbaSalesSnapshot_args args = new addOrUpdateAmazonFbaSalesSnapshot_args();
      args.setAmazonfbasalessnapshot(amazonfbasalessnapshot);
      sendBase("addOrUpdateAmazonFbaSalesSnapshot", args);
    }

    public void recv_addOrUpdateAmazonFbaSalesSnapshot() throws org.apache.thrift.TException
    {
      addOrUpdateAmazonFbaSalesSnapshot_result result = new addOrUpdateAmazonFbaSalesSnapshot_result();
      receiveBase(result, "addOrUpdateAmazonFbaSalesSnapshot");
      return;
    }

    public List<AmazonFbaSalesSnapshot> getAmazonFbaSalesSnapshotForDays(int days) throws org.apache.thrift.TException
    {
      send_getAmazonFbaSalesSnapshotForDays(days);
      return recv_getAmazonFbaSalesSnapshotForDays();
    }

    public void send_getAmazonFbaSalesSnapshotForDays(int days) throws org.apache.thrift.TException
    {
      getAmazonFbaSalesSnapshotForDays_args args = new getAmazonFbaSalesSnapshotForDays_args();
      args.setDays(days);
      sendBase("getAmazonFbaSalesSnapshotForDays", args);
    }

    public List<AmazonFbaSalesSnapshot> recv_getAmazonFbaSalesSnapshotForDays() throws org.apache.thrift.TException
    {
      getAmazonFbaSalesSnapshotForDays_result result = new getAmazonFbaSalesSnapshotForDays_result();
      receiveBase(result, "getAmazonFbaSalesSnapshotForDays");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAmazonFbaSalesSnapshotForDays failed: unknown result");
    }

    public AmazonFbaSalesSnapshot getAmazonFbaSalesLatestSnapshotForItem(long item_id) throws org.apache.thrift.TException
    {
      send_getAmazonFbaSalesLatestSnapshotForItem(item_id);
      return recv_getAmazonFbaSalesLatestSnapshotForItem();
    }

    public void send_getAmazonFbaSalesLatestSnapshotForItem(long item_id) throws org.apache.thrift.TException
    {
      getAmazonFbaSalesLatestSnapshotForItem_args args = new getAmazonFbaSalesLatestSnapshotForItem_args();
      args.setItem_id(item_id);
      sendBase("getAmazonFbaSalesLatestSnapshotForItem", args);
    }

    public AmazonFbaSalesSnapshot recv_getAmazonFbaSalesLatestSnapshotForItem() throws org.apache.thrift.TException
    {
      getAmazonFbaSalesLatestSnapshotForItem_result result = new getAmazonFbaSalesLatestSnapshotForItem_result();
      receiveBase(result, "getAmazonFbaSalesLatestSnapshotForItem");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAmazonFbaSalesLatestSnapshotForItem failed: unknown result");
    }

    public void createSnapdealOrder(SnapdealOrder snapdealOrder) throws org.apache.thrift.TException
    {
      send_createSnapdealOrder(snapdealOrder);
      recv_createSnapdealOrder();
    }

    public void send_createSnapdealOrder(SnapdealOrder snapdealOrder) throws org.apache.thrift.TException
    {
      createSnapdealOrder_args args = new createSnapdealOrder_args();
      args.setSnapdealOrder(snapdealOrder);
      sendBase("createSnapdealOrder", args);
    }

    public void recv_createSnapdealOrder() throws org.apache.thrift.TException
    {
      createSnapdealOrder_result result = new createSnapdealOrder_result();
      receiveBase(result, "createSnapdealOrder");
      return;
    }

    public List<SnapdealOrder> getSnapdealOrder(long orderId, String referenceCode, String subrderId) throws org.apache.thrift.TException
    {
      send_getSnapdealOrder(orderId, referenceCode, subrderId);
      return recv_getSnapdealOrder();
    }

    public void send_getSnapdealOrder(long orderId, String referenceCode, String subrderId) throws org.apache.thrift.TException
    {
      getSnapdealOrder_args args = new getSnapdealOrder_args();
      args.setOrderId(orderId);
      args.setReferenceCode(referenceCode);
      args.setSubrderId(subrderId);
      sendBase("getSnapdealOrder", args);
    }

    public List<SnapdealOrder> recv_getSnapdealOrder() throws org.apache.thrift.TException
    {
      getSnapdealOrder_result result = new getSnapdealOrder_result();
      receiveBase(result, "getSnapdealOrder");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getSnapdealOrder failed: unknown result");
    }

    public boolean snapdealOrderExists(String subOrderId, String referenceCode) throws org.apache.thrift.TException
    {
      send_snapdealOrderExists(subOrderId, referenceCode);
      return recv_snapdealOrderExists();
    }

    public void send_snapdealOrderExists(String subOrderId, String referenceCode) throws org.apache.thrift.TException
    {
      snapdealOrderExists_args args = new snapdealOrderExists_args();
      args.setSubOrderId(subOrderId);
      args.setReferenceCode(referenceCode);
      sendBase("snapdealOrderExists", args);
    }

    public boolean recv_snapdealOrderExists() throws org.apache.thrift.TException
    {
      snapdealOrderExists_result result = new snapdealOrderExists_result();
      receiveBase(result, "snapdealOrderExists");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "snapdealOrderExists failed: unknown result");
    }

    public void updateLatestFbaPricesForItem(FbaItemPrices fbaitemprices) throws org.apache.thrift.TException
    {
      send_updateLatestFbaPricesForItem(fbaitemprices);
      recv_updateLatestFbaPricesForItem();
    }

    public void send_updateLatestFbaPricesForItem(FbaItemPrices fbaitemprices) throws org.apache.thrift.TException
    {
      updateLatestFbaPricesForItem_args args = new updateLatestFbaPricesForItem_args();
      args.setFbaitemprices(fbaitemprices);
      sendBase("updateLatestFbaPricesForItem", args);
    }

    public void recv_updateLatestFbaPricesForItem() throws org.apache.thrift.TException
    {
      updateLatestFbaPricesForItem_result result = new updateLatestFbaPricesForItem_result();
      receiveBase(result, "updateLatestFbaPricesForItem");
      return;
    }

    public boolean flipkartOrderExists(String flipkartOrderId, String flipkartSubOrderId) throws org.apache.thrift.TException
    {
      send_flipkartOrderExists(flipkartOrderId, flipkartSubOrderId);
      return recv_flipkartOrderExists();
    }

    public void send_flipkartOrderExists(String flipkartOrderId, String flipkartSubOrderId) throws org.apache.thrift.TException
    {
      flipkartOrderExists_args args = new flipkartOrderExists_args();
      args.setFlipkartOrderId(flipkartOrderId);
      args.setFlipkartSubOrderId(flipkartSubOrderId);
      sendBase("flipkartOrderExists", args);
    }

    public boolean recv_flipkartOrderExists() throws org.apache.thrift.TException
    {
      flipkartOrderExists_result result = new flipkartOrderExists_result();
      receiveBase(result, "flipkartOrderExists");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "flipkartOrderExists failed: unknown result");
    }

    public void createFlipkartOrder(FlipkartOrder flipkartOrder) throws org.apache.thrift.TException
    {
      send_createFlipkartOrder(flipkartOrder);
      recv_createFlipkartOrder();
    }

    public void send_createFlipkartOrder(FlipkartOrder flipkartOrder) throws org.apache.thrift.TException
    {
      createFlipkartOrder_args args = new createFlipkartOrder_args();
      args.setFlipkartOrder(flipkartOrder);
      sendBase("createFlipkartOrder", args);
    }

    public void recv_createFlipkartOrder() throws org.apache.thrift.TException
    {
      createFlipkartOrder_result result = new createFlipkartOrder_result();
      receiveBase(result, "createFlipkartOrder");
      return;
    }

    public FlipkartOrder getFlipkartOrder(long orderId) throws org.apache.thrift.TException
    {
      send_getFlipkartOrder(orderId);
      return recv_getFlipkartOrder();
    }

    public void send_getFlipkartOrder(long orderId) throws org.apache.thrift.TException
    {
      getFlipkartOrder_args args = new getFlipkartOrder_args();
      args.setOrderId(orderId);
      sendBase("getFlipkartOrder", args);
    }

    public FlipkartOrder recv_getFlipkartOrder() throws org.apache.thrift.TException
    {
      getFlipkartOrder_result result = new getFlipkartOrder_result();
      receiveBase(result, "getFlipkartOrder");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getFlipkartOrder failed: unknown result");
    }

    public FlipkartOrder getFlipkartOrderByOrderItemId(String flipkartOrderItemId) throws org.apache.thrift.TException
    {
      send_getFlipkartOrderByOrderItemId(flipkartOrderItemId);
      return recv_getFlipkartOrderByOrderItemId();
    }

    public void send_getFlipkartOrderByOrderItemId(String flipkartOrderItemId) throws org.apache.thrift.TException
    {
      getFlipkartOrderByOrderItemId_args args = new getFlipkartOrderByOrderItemId_args();
      args.setFlipkartOrderItemId(flipkartOrderItemId);
      sendBase("getFlipkartOrderByOrderItemId", args);
    }

    public FlipkartOrder recv_getFlipkartOrderByOrderItemId() throws org.apache.thrift.TException
    {
      getFlipkartOrderByOrderItemId_result result = new getFlipkartOrderByOrderItemId_result();
      receiveBase(result, "getFlipkartOrderByOrderItemId");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getFlipkartOrderByOrderItemId failed: unknown result");
    }

    public void updateFlipkartOrderDatesAndAWB(String flipkartOrderId, String flipkartSubOrderId, long date, String awb) throws org.apache.thrift.TException
    {
      send_updateFlipkartOrderDatesAndAWB(flipkartOrderId, flipkartSubOrderId, date, awb);
      recv_updateFlipkartOrderDatesAndAWB();
    }

    public void send_updateFlipkartOrderDatesAndAWB(String flipkartOrderId, String flipkartSubOrderId, long date, String awb) throws org.apache.thrift.TException
    {
      updateFlipkartOrderDatesAndAWB_args args = new updateFlipkartOrderDatesAndAWB_args();
      args.setFlipkartOrderId(flipkartOrderId);
      args.setFlipkartSubOrderId(flipkartSubOrderId);
      args.setDate(date);
      args.setAwb(awb);
      sendBase("updateFlipkartOrderDatesAndAWB", args);
    }

    public void recv_updateFlipkartOrderDatesAndAWB() throws org.apache.thrift.TException
    {
      updateFlipkartOrderDatesAndAWB_result result = new updateFlipkartOrderDatesAndAWB_result();
      receiveBase(result, "updateFlipkartOrderDatesAndAWB");
      return;
    }

    public Map<Long,Long> getOrdersCreatedAfterTimestampForSource(long timestamp, long source) throws org.apache.thrift.TException
    {
      send_getOrdersCreatedAfterTimestampForSource(timestamp, source);
      return recv_getOrdersCreatedAfterTimestampForSource();
    }

    public void send_getOrdersCreatedAfterTimestampForSource(long timestamp, long source) throws org.apache.thrift.TException
    {
      getOrdersCreatedAfterTimestampForSource_args args = new getOrdersCreatedAfterTimestampForSource_args();
      args.setTimestamp(timestamp);
      args.setSource(source);
      sendBase("getOrdersCreatedAfterTimestampForSource", args);
    }

    public Map<Long,Long> recv_getOrdersCreatedAfterTimestampForSource() throws org.apache.thrift.TException
    {
      getOrdersCreatedAfterTimestampForSource_result result = new getOrdersCreatedAfterTimestampForSource_result();
      receiveBase(result, "getOrdersCreatedAfterTimestampForSource");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getOrdersCreatedAfterTimestampForSource failed: unknown result");
    }

    public List<Order> getOrderForAirwayBillNo(String airwaybillNo) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_getOrderForAirwayBillNo(airwaybillNo);
      return recv_getOrderForAirwayBillNo();
    }

    public void send_getOrderForAirwayBillNo(String airwaybillNo) throws org.apache.thrift.TException
    {
      getOrderForAirwayBillNo_args args = new getOrderForAirwayBillNo_args();
      args.setAirwaybillNo(airwaybillNo);
      sendBase("getOrderForAirwayBillNo", args);
    }

    public List<Order> recv_getOrderForAirwayBillNo() throws TransactionServiceException, org.apache.thrift.TException
    {
      getOrderForAirwayBillNo_result result = new getOrderForAirwayBillNo_result();
      receiveBase(result, "getOrderForAirwayBillNo");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getOrderForAirwayBillNo failed: unknown result");
    }

    public long getMinCreatedTimeStampUndeliveredOrdersForSource(int source) throws org.apache.thrift.TException
    {
      send_getMinCreatedTimeStampUndeliveredOrdersForSource(source);
      return recv_getMinCreatedTimeStampUndeliveredOrdersForSource();
    }

    public void send_getMinCreatedTimeStampUndeliveredOrdersForSource(int source) throws org.apache.thrift.TException
    {
      getMinCreatedTimeStampUndeliveredOrdersForSource_args args = new getMinCreatedTimeStampUndeliveredOrdersForSource_args();
      args.setSource(source);
      sendBase("getMinCreatedTimeStampUndeliveredOrdersForSource", args);
    }

    public long recv_getMinCreatedTimeStampUndeliveredOrdersForSource() throws org.apache.thrift.TException
    {
      getMinCreatedTimeStampUndeliveredOrdersForSource_result result = new getMinCreatedTimeStampUndeliveredOrdersForSource_result();
      receiveBase(result, "getMinCreatedTimeStampUndeliveredOrdersForSource");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getMinCreatedTimeStampUndeliveredOrdersForSource failed: unknown result");
    }

    public void updateSnapdealOrdersStatus(Map<String,List<List<String>>> orders) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_updateSnapdealOrdersStatus(orders);
      recv_updateSnapdealOrdersStatus();
    }

    public void send_updateSnapdealOrdersStatus(Map<String,List<List<String>>> orders) throws org.apache.thrift.TException
    {
      updateSnapdealOrdersStatus_args args = new updateSnapdealOrdersStatus_args();
      args.setOrders(orders);
      sendBase("updateSnapdealOrdersStatus", args);
    }

    public void recv_updateSnapdealOrdersStatus() throws TransactionServiceException, org.apache.thrift.TException
    {
      updateSnapdealOrdersStatus_result result = new updateSnapdealOrdersStatus_result();
      receiveBase(result, "updateSnapdealOrdersStatus");
      if (result.ex != null) {
        throw result.ex;
      }
      return;
    }

    public void updateFlipkartOrdersStatus(List<List<String>> delivered_orders) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_updateFlipkartOrdersStatus(delivered_orders);
      recv_updateFlipkartOrdersStatus();
    }

    public void send_updateFlipkartOrdersStatus(List<List<String>> delivered_orders) throws org.apache.thrift.TException
    {
      updateFlipkartOrdersStatus_args args = new updateFlipkartOrdersStatus_args();
      args.setDelivered_orders(delivered_orders);
      sendBase("updateFlipkartOrdersStatus", args);
    }

    public void recv_updateFlipkartOrdersStatus() throws TransactionServiceException, org.apache.thrift.TException
    {
      updateFlipkartOrdersStatus_result result = new updateFlipkartOrdersStatus_result();
      receiveBase(result, "updateFlipkartOrdersStatus");
      if (result.ex != null) {
        throw result.ex;
      }
      return;
    }

    public void bulkAddOrUpdateAmazonFbaSalesSnapshot(List<AmazonFbaSalesSnapshot> amazonfbasalessnapshotlist) throws org.apache.thrift.TException
    {
      send_bulkAddOrUpdateAmazonFbaSalesSnapshot(amazonfbasalessnapshotlist);
      recv_bulkAddOrUpdateAmazonFbaSalesSnapshot();
    }

    public void send_bulkAddOrUpdateAmazonFbaSalesSnapshot(List<AmazonFbaSalesSnapshot> amazonfbasalessnapshotlist) throws org.apache.thrift.TException
    {
      bulkAddOrUpdateAmazonFbaSalesSnapshot_args args = new bulkAddOrUpdateAmazonFbaSalesSnapshot_args();
      args.setAmazonfbasalessnapshotlist(amazonfbasalessnapshotlist);
      sendBase("bulkAddOrUpdateAmazonFbaSalesSnapshot", args);
    }

    public void recv_bulkAddOrUpdateAmazonFbaSalesSnapshot() throws org.apache.thrift.TException
    {
      bulkAddOrUpdateAmazonFbaSalesSnapshot_result result = new bulkAddOrUpdateAmazonFbaSalesSnapshot_result();
      receiveBase(result, "bulkAddOrUpdateAmazonFbaSalesSnapshot");
      return;
    }

    public Map<Long,Long> getCreatedOrdersForFlipkart(List<String> flipkartorderids) throws org.apache.thrift.TException
    {
      send_getCreatedOrdersForFlipkart(flipkartorderids);
      return recv_getCreatedOrdersForFlipkart();
    }

    public void send_getCreatedOrdersForFlipkart(List<String> flipkartorderids) throws org.apache.thrift.TException
    {
      getCreatedOrdersForFlipkart_args args = new getCreatedOrdersForFlipkart_args();
      args.setFlipkartorderids(flipkartorderids);
      sendBase("getCreatedOrdersForFlipkart", args);
    }

    public Map<Long,Long> recv_getCreatedOrdersForFlipkart() throws org.apache.thrift.TException
    {
      getCreatedOrdersForFlipkart_result result = new getCreatedOrdersForFlipkart_result();
      receiveBase(result, "getCreatedOrdersForFlipkart");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getCreatedOrdersForFlipkart failed: unknown result");
    }

    public boolean isPrivateDealTransaction(long transactionId) throws org.apache.thrift.TException
    {
      send_isPrivateDealTransaction(transactionId);
      return recv_isPrivateDealTransaction();
    }

    public void send_isPrivateDealTransaction(long transactionId) throws org.apache.thrift.TException
    {
      isPrivateDealTransaction_args args = new isPrivateDealTransaction_args();
      args.setTransactionId(transactionId);
      sendBase("isPrivateDealTransaction", args);
    }

    public boolean recv_isPrivateDealTransaction() throws org.apache.thrift.TException
    {
      isPrivateDealTransaction_result result = new isPrivateDealTransaction_result();
      receiveBase(result, "isPrivateDealTransaction");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "isPrivateDealTransaction failed: unknown result");
    }

    public AmazonFbaSalesSnapshot getAmazonFbaSalesLatestSnapshotForItemLocationWise(long item_id, long location) throws org.apache.thrift.TException
    {
      send_getAmazonFbaSalesLatestSnapshotForItemLocationWise(item_id, location);
      return recv_getAmazonFbaSalesLatestSnapshotForItemLocationWise();
    }

    public void send_getAmazonFbaSalesLatestSnapshotForItemLocationWise(long item_id, long location) throws org.apache.thrift.TException
    {
      getAmazonFbaSalesLatestSnapshotForItemLocationWise_args args = new getAmazonFbaSalesLatestSnapshotForItemLocationWise_args();
      args.setItem_id(item_id);
      args.setLocation(location);
      sendBase("getAmazonFbaSalesLatestSnapshotForItemLocationWise", args);
    }

    public AmazonFbaSalesSnapshot recv_getAmazonFbaSalesLatestSnapshotForItemLocationWise() throws org.apache.thrift.TException
    {
      getAmazonFbaSalesLatestSnapshotForItemLocationWise_result result = new getAmazonFbaSalesLatestSnapshotForItemLocationWise_result();
      receiveBase(result, "getAmazonFbaSalesLatestSnapshotForItemLocationWise");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAmazonFbaSalesLatestSnapshotForItemLocationWise failed: unknown result");
    }

    public boolean changeEasyshipMfnOrderTxnStatus(long transactionId, TransactionStatus status, String description, long pickUp, OrderType orderType, OrderSource source, long shipTimestamp, long deliveryTimeStamp) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_changeEasyshipMfnOrderTxnStatus(transactionId, status, description, pickUp, orderType, source, shipTimestamp, deliveryTimeStamp);
      return recv_changeEasyshipMfnOrderTxnStatus();
    }

    public void send_changeEasyshipMfnOrderTxnStatus(long transactionId, TransactionStatus status, String description, long pickUp, OrderType orderType, OrderSource source, long shipTimestamp, long deliveryTimeStamp) throws org.apache.thrift.TException
    {
      changeEasyshipMfnOrderTxnStatus_args args = new changeEasyshipMfnOrderTxnStatus_args();
      args.setTransactionId(transactionId);
      args.setStatus(status);
      args.setDescription(description);
      args.setPickUp(pickUp);
      args.setOrderType(orderType);
      args.setSource(source);
      args.setShipTimestamp(shipTimestamp);
      args.setDeliveryTimeStamp(deliveryTimeStamp);
      sendBase("changeEasyshipMfnOrderTxnStatus", args);
    }

    public boolean recv_changeEasyshipMfnOrderTxnStatus() throws TransactionServiceException, org.apache.thrift.TException
    {
      changeEasyshipMfnOrderTxnStatus_result result = new changeEasyshipMfnOrderTxnStatus_result();
      receiveBase(result, "changeEasyshipMfnOrderTxnStatus");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "changeEasyshipMfnOrderTxnStatus failed: unknown result");
    }

    public void updateAmazonFbaOrdersReturns(List<AmazonFbaOrderReturns> fbaOrderReturns) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_updateAmazonFbaOrdersReturns(fbaOrderReturns);
      recv_updateAmazonFbaOrdersReturns();
    }

    public void send_updateAmazonFbaOrdersReturns(List<AmazonFbaOrderReturns> fbaOrderReturns) throws org.apache.thrift.TException
    {
      updateAmazonFbaOrdersReturns_args args = new updateAmazonFbaOrdersReturns_args();
      args.setFbaOrderReturns(fbaOrderReturns);
      sendBase("updateAmazonFbaOrdersReturns", args);
    }

    public void recv_updateAmazonFbaOrdersReturns() throws TransactionServiceException, org.apache.thrift.TException
    {
      updateAmazonFbaOrdersReturns_result result = new updateAmazonFbaOrdersReturns_result();
      receiveBase(result, "updateAmazonFbaOrdersReturns");
      if (result.ex != null) {
        throw result.ex;
      }
      return;
    }

    public List<AmazonFbaOrderReturns> getAllAmazonFbaOrderReturnsByCurrentTime(long insertionTimestamp) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_getAllAmazonFbaOrderReturnsByCurrentTime(insertionTimestamp);
      return recv_getAllAmazonFbaOrderReturnsByCurrentTime();
    }

    public void send_getAllAmazonFbaOrderReturnsByCurrentTime(long insertionTimestamp) throws org.apache.thrift.TException
    {
      getAllAmazonFbaOrderReturnsByCurrentTime_args args = new getAllAmazonFbaOrderReturnsByCurrentTime_args();
      args.setInsertionTimestamp(insertionTimestamp);
      sendBase("getAllAmazonFbaOrderReturnsByCurrentTime", args);
    }

    public List<AmazonFbaOrderReturns> recv_getAllAmazonFbaOrderReturnsByCurrentTime() throws TransactionServiceException, org.apache.thrift.TException
    {
      getAllAmazonFbaOrderReturnsByCurrentTime_result result = new getAllAmazonFbaOrderReturnsByCurrentTime_result();
      receiveBase(result, "getAllAmazonFbaOrderReturnsByCurrentTime");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllAmazonFbaOrderReturnsByCurrentTime failed: unknown result");
    }

    public Map<Long,Map<String,Long>> getTotalSaleReturnsFbaSkusCurentTime(long insertionTimestamp) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_getTotalSaleReturnsFbaSkusCurentTime(insertionTimestamp);
      return recv_getTotalSaleReturnsFbaSkusCurentTime();
    }

    public void send_getTotalSaleReturnsFbaSkusCurentTime(long insertionTimestamp) throws org.apache.thrift.TException
    {
      getTotalSaleReturnsFbaSkusCurentTime_args args = new getTotalSaleReturnsFbaSkusCurentTime_args();
      args.setInsertionTimestamp(insertionTimestamp);
      sendBase("getTotalSaleReturnsFbaSkusCurentTime", args);
    }

    public Map<Long,Map<String,Long>> recv_getTotalSaleReturnsFbaSkusCurentTime() throws TransactionServiceException, org.apache.thrift.TException
    {
      getTotalSaleReturnsFbaSkusCurentTime_result result = new getTotalSaleReturnsFbaSkusCurentTime_result();
      receiveBase(result, "getTotalSaleReturnsFbaSkusCurentTime");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getTotalSaleReturnsFbaSkusCurentTime failed: unknown result");
    }

    public List<FlipkartOrder> getVerificationPendingOrdersFK() throws TransactionServiceException, org.apache.thrift.TException
    {
      send_getVerificationPendingOrdersFK();
      return recv_getVerificationPendingOrdersFK();
    }

    public void send_getVerificationPendingOrdersFK() throws org.apache.thrift.TException
    {
      getVerificationPendingOrdersFK_args args = new getVerificationPendingOrdersFK_args();
      sendBase("getVerificationPendingOrdersFK", args);
    }

    public List<FlipkartOrder> recv_getVerificationPendingOrdersFK() throws TransactionServiceException, org.apache.thrift.TException
    {
      getVerificationPendingOrdersFK_result result = new getVerificationPendingOrdersFK_result();
      receiveBase(result, "getVerificationPendingOrdersFK");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getVerificationPendingOrdersFK failed: unknown result");
    }

    public FlipkartAdvantageOrder getFAOrderByFkOrderId(String fkOrderId, String fkOrderItemId) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_getFAOrderByFkOrderId(fkOrderId, fkOrderItemId);
      return recv_getFAOrderByFkOrderId();
    }

    public void send_getFAOrderByFkOrderId(String fkOrderId, String fkOrderItemId) throws org.apache.thrift.TException
    {
      getFAOrderByFkOrderId_args args = new getFAOrderByFkOrderId_args();
      args.setFkOrderId(fkOrderId);
      args.setFkOrderItemId(fkOrderItemId);
      sendBase("getFAOrderByFkOrderId", args);
    }

    public FlipkartAdvantageOrder recv_getFAOrderByFkOrderId() throws TransactionServiceException, org.apache.thrift.TException
    {
      getFAOrderByFkOrderId_result result = new getFAOrderByFkOrderId_result();
      receiveBase(result, "getFAOrderByFkOrderId");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getFAOrderByFkOrderId failed: unknown result");
    }

    public List<FlipkartAdvantageOrder> getAllFAOrdersList(String status) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_getAllFAOrdersList(status);
      return recv_getAllFAOrdersList();
    }

    public void send_getAllFAOrdersList(String status) throws org.apache.thrift.TException
    {
      getAllFAOrdersList_args args = new getAllFAOrdersList_args();
      args.setStatus(status);
      sendBase("getAllFAOrdersList", args);
    }

    public List<FlipkartAdvantageOrder> recv_getAllFAOrdersList() throws TransactionServiceException, org.apache.thrift.TException
    {
      getAllFAOrdersList_result result = new getAllFAOrdersList_result();
      receiveBase(result, "getAllFAOrdersList");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllFAOrdersList failed: unknown result");
    }

    public void addUpdateFaOrdersBulk(List<FlipkartAdvantageOrder> faOrdersList) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_addUpdateFaOrdersBulk(faOrdersList);
      recv_addUpdateFaOrdersBulk();
    }

    public void send_addUpdateFaOrdersBulk(List<FlipkartAdvantageOrder> faOrdersList) throws org.apache.thrift.TException
    {
      addUpdateFaOrdersBulk_args args = new addUpdateFaOrdersBulk_args();
      args.setFaOrdersList(faOrdersList);
      sendBase("addUpdateFaOrdersBulk", args);
    }

    public void recv_addUpdateFaOrdersBulk() throws TransactionServiceException, org.apache.thrift.TException
    {
      addUpdateFaOrdersBulk_result result = new addUpdateFaOrdersBulk_result();
      receiveBase(result, "addUpdateFaOrdersBulk");
      if (result.ex != null) {
        throw result.ex;
      }
      return;
    }

    public void addInvoiceDetailsToOrders(long transactionId, long customerId) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_addInvoiceDetailsToOrders(transactionId, customerId);
      recv_addInvoiceDetailsToOrders();
    }

    public void send_addInvoiceDetailsToOrders(long transactionId, long customerId) throws org.apache.thrift.TException
    {
      addInvoiceDetailsToOrders_args args = new addInvoiceDetailsToOrders_args();
      args.setTransactionId(transactionId);
      args.setCustomerId(customerId);
      sendBase("addInvoiceDetailsToOrders", args);
    }

    public void recv_addInvoiceDetailsToOrders() throws TransactionServiceException, org.apache.thrift.TException
    {
      addInvoiceDetailsToOrders_result result = new addInvoiceDetailsToOrders_result();
      receiveBase(result, "addInvoiceDetailsToOrders");
      if (result.ex != null) {
        throw result.ex;
      }
      return;
    }

    public boolean flipkartFaOrderExists(String fkOrderId, String fkOrderItemId) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_flipkartFaOrderExists(fkOrderId, fkOrderItemId);
      return recv_flipkartFaOrderExists();
    }

    public void send_flipkartFaOrderExists(String fkOrderId, String fkOrderItemId) throws org.apache.thrift.TException
    {
      flipkartFaOrderExists_args args = new flipkartFaOrderExists_args();
      args.setFkOrderId(fkOrderId);
      args.setFkOrderItemId(fkOrderItemId);
      sendBase("flipkartFaOrderExists", args);
    }

    public boolean recv_flipkartFaOrderExists() throws TransactionServiceException, org.apache.thrift.TException
    {
      flipkartFaOrderExists_result result = new flipkartFaOrderExists_result();
      receiveBase(result, "flipkartFaOrderExists");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "flipkartFaOrderExists failed: unknown result");
    }

    public RechargeOrder getRcgOrderStatus(long rechargeOrderId, boolean isFinal) throws org.apache.thrift.TException
    {
      send_getRcgOrderStatus(rechargeOrderId, isFinal);
      return recv_getRcgOrderStatus();
    }

    public void send_getRcgOrderStatus(long rechargeOrderId, boolean isFinal) throws org.apache.thrift.TException
    {
      getRcgOrderStatus_args args = new getRcgOrderStatus_args();
      args.setRechargeOrderId(rechargeOrderId);
      args.setIsFinal(isFinal);
      sendBase("getRcgOrderStatus", args);
    }

    public RechargeOrder recv_getRcgOrderStatus() throws org.apache.thrift.TException
    {
      getRcgOrderStatus_result result = new getRcgOrderStatus_result();
      receiveBase(result, "getRcgOrderStatus");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getRcgOrderStatus failed: unknown result");
    }

    public RechargeTransaction getRcgTransactionStatus(long rechargeTransactionId, boolean isFinal) throws org.apache.thrift.TException
    {
      send_getRcgTransactionStatus(rechargeTransactionId, isFinal);
      return recv_getRcgTransactionStatus();
    }

    public void send_getRcgTransactionStatus(long rechargeTransactionId, boolean isFinal) throws org.apache.thrift.TException
    {
      getRcgTransactionStatus_args args = new getRcgTransactionStatus_args();
      args.setRechargeTransactionId(rechargeTransactionId);
      args.setIsFinal(isFinal);
      sendBase("getRcgTransactionStatus", args);
    }

    public RechargeTransaction recv_getRcgTransactionStatus() throws org.apache.thrift.TException
    {
      getRcgTransactionStatus_result result = new getRcgTransactionStatus_result();
      receiveBase(result, "getRcgTransactionStatus");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getRcgTransactionStatus failed: unknown result");
    }

    public void bulkAddOrUpdateFlipkartFaSalesSnapshot(List<FlipkartFaSalesSnapshot> flipkartfasalessnapshotlist) throws org.apache.thrift.TException
    {
      send_bulkAddOrUpdateFlipkartFaSalesSnapshot(flipkartfasalessnapshotlist);
      recv_bulkAddOrUpdateFlipkartFaSalesSnapshot();
    }

    public void send_bulkAddOrUpdateFlipkartFaSalesSnapshot(List<FlipkartFaSalesSnapshot> flipkartfasalessnapshotlist) throws org.apache.thrift.TException
    {
      bulkAddOrUpdateFlipkartFaSalesSnapshot_args args = new bulkAddOrUpdateFlipkartFaSalesSnapshot_args();
      args.setFlipkartfasalessnapshotlist(flipkartfasalessnapshotlist);
      sendBase("bulkAddOrUpdateFlipkartFaSalesSnapshot", args);
    }

    public void recv_bulkAddOrUpdateFlipkartFaSalesSnapshot() throws org.apache.thrift.TException
    {
      bulkAddOrUpdateFlipkartFaSalesSnapshot_result result = new bulkAddOrUpdateFlipkartFaSalesSnapshot_result();
      receiveBase(result, "bulkAddOrUpdateFlipkartFaSalesSnapshot");
      return;
    }

    public List<FlipkartFaSalesSnapshot> getFlipkartFaSalesSnapshotForDays(int days) throws org.apache.thrift.TException
    {
      send_getFlipkartFaSalesSnapshotForDays(days);
      return recv_getFlipkartFaSalesSnapshotForDays();
    }

    public void send_getFlipkartFaSalesSnapshotForDays(int days) throws org.apache.thrift.TException
    {
      getFlipkartFaSalesSnapshotForDays_args args = new getFlipkartFaSalesSnapshotForDays_args();
      args.setDays(days);
      sendBase("getFlipkartFaSalesSnapshotForDays", args);
    }

    public List<FlipkartFaSalesSnapshot> recv_getFlipkartFaSalesSnapshotForDays() throws org.apache.thrift.TException
    {
      getFlipkartFaSalesSnapshotForDays_result result = new getFlipkartFaSalesSnapshotForDays_result();
      receiveBase(result, "getFlipkartFaSalesSnapshotForDays");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getFlipkartFaSalesSnapshotForDays failed: unknown result");
    }

    public FlipkartFaSalesSnapshot getFlipkartFaSalesSnapshotBySkuAndSaleDate(long item_id, long dateOfSale) throws org.apache.thrift.TException
    {
      send_getFlipkartFaSalesSnapshotBySkuAndSaleDate(item_id, dateOfSale);
      return recv_getFlipkartFaSalesSnapshotBySkuAndSaleDate();
    }

    public void send_getFlipkartFaSalesSnapshotBySkuAndSaleDate(long item_id, long dateOfSale) throws org.apache.thrift.TException
    {
      getFlipkartFaSalesSnapshotBySkuAndSaleDate_args args = new getFlipkartFaSalesSnapshotBySkuAndSaleDate_args();
      args.setItem_id(item_id);
      args.setDateOfSale(dateOfSale);
      sendBase("getFlipkartFaSalesSnapshotBySkuAndSaleDate", args);
    }

    public FlipkartFaSalesSnapshot recv_getFlipkartFaSalesSnapshotBySkuAndSaleDate() throws org.apache.thrift.TException
    {
      getFlipkartFaSalesSnapshotBySkuAndSaleDate_result result = new getFlipkartFaSalesSnapshotBySkuAndSaleDate_result();
      receiveBase(result, "getFlipkartFaSalesSnapshotBySkuAndSaleDate");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getFlipkartFaSalesSnapshotBySkuAndSaleDate failed: unknown result");
    }

    public boolean acceptPackageOrders(List<Long> orders) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_acceptPackageOrders(orders);
      return recv_acceptPackageOrders();
    }

    public void send_acceptPackageOrders(List<Long> orders) throws org.apache.thrift.TException
    {
      acceptPackageOrders_args args = new acceptPackageOrders_args();
      args.setOrders(orders);
      sendBase("acceptPackageOrders", args);
    }

    public boolean recv_acceptPackageOrders() throws TransactionServiceException, org.apache.thrift.TException
    {
      acceptPackageOrders_result result = new acceptPackageOrders_result();
      receiveBase(result, "acceptPackageOrders");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "acceptPackageOrders failed: unknown result");
    }

    public List<Order> getGroupOrdersByLogisticsTxnId(String logisticsTxnId) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_getGroupOrdersByLogisticsTxnId(logisticsTxnId);
      return recv_getGroupOrdersByLogisticsTxnId();
    }

    public void send_getGroupOrdersByLogisticsTxnId(String logisticsTxnId) throws org.apache.thrift.TException
    {
      getGroupOrdersByLogisticsTxnId_args args = new getGroupOrdersByLogisticsTxnId_args();
      args.setLogisticsTxnId(logisticsTxnId);
      sendBase("getGroupOrdersByLogisticsTxnId", args);
    }

    public List<Order> recv_getGroupOrdersByLogisticsTxnId() throws TransactionServiceException, org.apache.thrift.TException
    {
      getGroupOrdersByLogisticsTxnId_result result = new getGroupOrdersByLogisticsTxnId_result();
      receiveBase(result, "getGroupOrdersByLogisticsTxnId");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getGroupOrdersByLogisticsTxnId failed: unknown result");
    }

    public boolean addBillingDetailsForGrouppedOrders(List<Long> order_ids, String invoice_number, Map<Long,List<String>> itemNumbersMap, Map<Long,List<String>> serialNumbersMap, Map<Long,List<Long>> freebieWarehouseIdMap, String billed_by, long jacketNumber, long billingType, boolean authorize, String invoiceType) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_addBillingDetailsForGrouppedOrders(order_ids, invoice_number, itemNumbersMap, serialNumbersMap, freebieWarehouseIdMap, billed_by, jacketNumber, billingType, authorize, invoiceType);
      return recv_addBillingDetailsForGrouppedOrders();
    }

    public void send_addBillingDetailsForGrouppedOrders(List<Long> order_ids, String invoice_number, Map<Long,List<String>> itemNumbersMap, Map<Long,List<String>> serialNumbersMap, Map<Long,List<Long>> freebieWarehouseIdMap, String billed_by, long jacketNumber, long billingType, boolean authorize, String invoiceType) throws org.apache.thrift.TException
    {
      addBillingDetailsForGrouppedOrders_args args = new addBillingDetailsForGrouppedOrders_args();
      args.setOrder_ids(order_ids);
      args.setInvoice_number(invoice_number);
      args.setItemNumbersMap(itemNumbersMap);
      args.setSerialNumbersMap(serialNumbersMap);
      args.setFreebieWarehouseIdMap(freebieWarehouseIdMap);
      args.setBilled_by(billed_by);
      args.setJacketNumber(jacketNumber);
      args.setBillingType(billingType);
      args.setAuthorize(authorize);
      args.setInvoiceType(invoiceType);
      sendBase("addBillingDetailsForGrouppedOrders", args);
    }

    public boolean recv_addBillingDetailsForGrouppedOrders() throws TransactionServiceException, org.apache.thrift.TException
    {
      addBillingDetailsForGrouppedOrders_result result = new addBillingDetailsForGrouppedOrders_result();
      receiveBase(result, "addBillingDetailsForGrouppedOrders");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "addBillingDetailsForGrouppedOrders failed: unknown result");
    }

    public String getInvoiceFormatLogisticsTxnId(long transactionId, long shipementSeq) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_getInvoiceFormatLogisticsTxnId(transactionId, shipementSeq);
      return recv_getInvoiceFormatLogisticsTxnId();
    }

    public void send_getInvoiceFormatLogisticsTxnId(long transactionId, long shipementSeq) throws org.apache.thrift.TException
    {
      getInvoiceFormatLogisticsTxnId_args args = new getInvoiceFormatLogisticsTxnId_args();
      args.setTransactionId(transactionId);
      args.setShipementSeq(shipementSeq);
      sendBase("getInvoiceFormatLogisticsTxnId", args);
    }

    public String recv_getInvoiceFormatLogisticsTxnId() throws TransactionServiceException, org.apache.thrift.TException
    {
      getInvoiceFormatLogisticsTxnId_result result = new getInvoiceFormatLogisticsTxnId_result();
      receiveBase(result, "getInvoiceFormatLogisticsTxnId");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getInvoiceFormatLogisticsTxnId failed: unknown result");
    }

    public void createHomeShopOrder(HsOrder snapdealOrder) throws org.apache.thrift.TException
    {
      send_createHomeShopOrder(snapdealOrder);
      recv_createHomeShopOrder();
    }

    public void send_createHomeShopOrder(HsOrder snapdealOrder) throws org.apache.thrift.TException
    {
      createHomeShopOrder_args args = new createHomeShopOrder_args();
      args.setSnapdealOrder(snapdealOrder);
      sendBase("createHomeShopOrder", args);
    }

    public void recv_createHomeShopOrder() throws org.apache.thrift.TException
    {
      createHomeShopOrder_result result = new createHomeShopOrder_result();
      receiveBase(result, "createHomeShopOrder");
      return;
    }

    public List<HsOrder> getHomeShopOrder(long orderId, String hsOrderNo, String hsSubOrderNo) throws org.apache.thrift.TException
    {
      send_getHomeShopOrder(orderId, hsOrderNo, hsSubOrderNo);
      return recv_getHomeShopOrder();
    }

    public void send_getHomeShopOrder(long orderId, String hsOrderNo, String hsSubOrderNo) throws org.apache.thrift.TException
    {
      getHomeShopOrder_args args = new getHomeShopOrder_args();
      args.setOrderId(orderId);
      args.setHsOrderNo(hsOrderNo);
      args.setHsSubOrderNo(hsSubOrderNo);
      sendBase("getHomeShopOrder", args);
    }

    public List<HsOrder> recv_getHomeShopOrder() throws org.apache.thrift.TException
    {
      getHomeShopOrder_result result = new getHomeShopOrder_result();
      receiveBase(result, "getHomeShopOrder");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getHomeShopOrder failed: unknown result");
    }

    public boolean homeShopOrderExists(String hsOrderNo, String hsSubOrderNo) throws org.apache.thrift.TException
    {
      send_homeShopOrderExists(hsOrderNo, hsSubOrderNo);
      return recv_homeShopOrderExists();
    }

    public void send_homeShopOrderExists(String hsOrderNo, String hsSubOrderNo) throws org.apache.thrift.TException
    {
      homeShopOrderExists_args args = new homeShopOrderExists_args();
      args.setHsOrderNo(hsOrderNo);
      args.setHsSubOrderNo(hsSubOrderNo);
      sendBase("homeShopOrderExists", args);
    }

    public boolean recv_homeShopOrderExists() throws org.apache.thrift.TException
    {
      homeShopOrderExists_result result = new homeShopOrderExists_result();
      receiveBase(result, "homeShopOrderExists");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "homeShopOrderExists failed: unknown result");
    }

    public Order splitBulkOrder(long orderId, long splitOrderQty) throws org.apache.thrift.TException
    {
      send_splitBulkOrder(orderId, splitOrderQty);
      return recv_splitBulkOrder();
    }

    public void send_splitBulkOrder(long orderId, long splitOrderQty) throws org.apache.thrift.TException
    {
      splitBulkOrder_args args = new splitBulkOrder_args();
      args.setOrderId(orderId);
      args.setSplitOrderQty(splitOrderQty);
      sendBase("splitBulkOrder", args);
    }

    public Order recv_splitBulkOrder() throws org.apache.thrift.TException
    {
      splitBulkOrder_result result = new splitBulkOrder_result();
      receiveBase(result, "splitBulkOrder");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "splitBulkOrder failed: unknown result");
    }

    public String moveOrdersToCorrectWarehouse() throws org.apache.thrift.TException
    {
      send_moveOrdersToCorrectWarehouse();
      return recv_moveOrdersToCorrectWarehouse();
    }

    public void send_moveOrdersToCorrectWarehouse() throws org.apache.thrift.TException
    {
      moveOrdersToCorrectWarehouse_args args = new moveOrdersToCorrectWarehouse_args();
      sendBase("moveOrdersToCorrectWarehouse", args);
    }

    public String recv_moveOrdersToCorrectWarehouse() throws org.apache.thrift.TException
    {
      moveOrdersToCorrectWarehouse_result result = new moveOrdersToCorrectWarehouse_result();
      receiveBase(result, "moveOrdersToCorrectWarehouse");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "moveOrdersToCorrectWarehouse failed: unknown result");
    }

    public Creditor getCreditorInfo(long id, String name) throws org.apache.thrift.TException
    {
      send_getCreditorInfo(id, name);
      return recv_getCreditorInfo();
    }

    public void send_getCreditorInfo(long id, String name) throws org.apache.thrift.TException
    {
      getCreditorInfo_args args = new getCreditorInfo_args();
      args.setId(id);
      args.setName(name);
      sendBase("getCreditorInfo", args);
    }

    public Creditor recv_getCreditorInfo() throws org.apache.thrift.TException
    {
      getCreditorInfo_result result = new getCreditorInfo_result();
      receiveBase(result, "getCreditorInfo");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getCreditorInfo failed: unknown result");
    }

    public boolean updateCreditorInfo(Creditor creditor) throws org.apache.thrift.TException
    {
      send_updateCreditorInfo(creditor);
      return recv_updateCreditorInfo();
    }

    public void send_updateCreditorInfo(Creditor creditor) throws org.apache.thrift.TException
    {
      updateCreditorInfo_args args = new updateCreditorInfo_args();
      args.setCreditor(creditor);
      sendBase("updateCreditorInfo", args);
    }

    public boolean recv_updateCreditorInfo() throws org.apache.thrift.TException
    {
      updateCreditorInfo_result result = new updateCreditorInfo_result();
      receiveBase(result, "updateCreditorInfo");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateCreditorInfo failed: unknown result");
    }

    public List<UserSanction> getUserSanctionDetails(long userId) throws org.apache.thrift.TException
    {
      send_getUserSanctionDetails(userId);
      return recv_getUserSanctionDetails();
    }

    public void send_getUserSanctionDetails(long userId) throws org.apache.thrift.TException
    {
      getUserSanctionDetails_args args = new getUserSanctionDetails_args();
      args.setUserId(userId);
      sendBase("getUserSanctionDetails", args);
    }

    public List<UserSanction> recv_getUserSanctionDetails() throws org.apache.thrift.TException
    {
      getUserSanctionDetails_result result = new getUserSanctionDetails_result();
      receiveBase(result, "getUserSanctionDetails");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getUserSanctionDetails failed: unknown result");
    }

    public UserSanction getUserSanctionDetailsForCreditor(long userId, long creditorId) throws org.apache.thrift.TException
    {
      send_getUserSanctionDetailsForCreditor(userId, creditorId);
      return recv_getUserSanctionDetailsForCreditor();
    }

    public void send_getUserSanctionDetailsForCreditor(long userId, long creditorId) throws org.apache.thrift.TException
    {
      getUserSanctionDetailsForCreditor_args args = new getUserSanctionDetailsForCreditor_args();
      args.setUserId(userId);
      args.setCreditorId(creditorId);
      sendBase("getUserSanctionDetailsForCreditor", args);
    }

    public UserSanction recv_getUserSanctionDetailsForCreditor() throws org.apache.thrift.TException
    {
      getUserSanctionDetailsForCreditor_result result = new getUserSanctionDetailsForCreditor_result();
      receiveBase(result, "getUserSanctionDetailsForCreditor");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getUserSanctionDetailsForCreditor failed: unknown result");
    }

    public boolean updateUserSanction(UserSanction userSanaction) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_updateUserSanction(userSanaction);
      return recv_updateUserSanction();
    }

    public void send_updateUserSanction(UserSanction userSanaction) throws org.apache.thrift.TException
    {
      updateUserSanction_args args = new updateUserSanction_args();
      args.setUserSanaction(userSanaction);
      sendBase("updateUserSanction", args);
    }

    public boolean recv_updateUserSanction() throws TransactionServiceException, org.apache.thrift.TException
    {
      updateUserSanction_result result = new updateUserSanction_result();
      receiveBase(result, "updateUserSanction");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.pe != null) {
        throw result.pe;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateUserSanction failed: unknown result");
    }

    public List<CreditHistory> getCreditHistoryRecordsForTransaction(long paymentId, CreditTxnType creditTxnType) throws org.apache.thrift.TException
    {
      send_getCreditHistoryRecordsForTransaction(paymentId, creditTxnType);
      return recv_getCreditHistoryRecordsForTransaction();
    }

    public void send_getCreditHistoryRecordsForTransaction(long paymentId, CreditTxnType creditTxnType) throws org.apache.thrift.TException
    {
      getCreditHistoryRecordsForTransaction_args args = new getCreditHistoryRecordsForTransaction_args();
      args.setPaymentId(paymentId);
      args.setCreditTxnType(creditTxnType);
      sendBase("getCreditHistoryRecordsForTransaction", args);
    }

    public List<CreditHistory> recv_getCreditHistoryRecordsForTransaction() throws org.apache.thrift.TException
    {
      getCreditHistoryRecordsForTransaction_result result = new getCreditHistoryRecordsForTransaction_result();
      receiveBase(result, "getCreditHistoryRecordsForTransaction");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getCreditHistoryRecordsForTransaction failed: unknown result");
    }

    public List<CreditHistory> getCreditHistoryRecordsForUserAndCreditor(long userId, long creditorId, CreditTxnType creditTxnType) throws org.apache.thrift.TException
    {
      send_getCreditHistoryRecordsForUserAndCreditor(userId, creditorId, creditTxnType);
      return recv_getCreditHistoryRecordsForUserAndCreditor();
    }

    public void send_getCreditHistoryRecordsForUserAndCreditor(long userId, long creditorId, CreditTxnType creditTxnType) throws org.apache.thrift.TException
    {
      getCreditHistoryRecordsForUserAndCreditor_args args = new getCreditHistoryRecordsForUserAndCreditor_args();
      args.setUserId(userId);
      args.setCreditorId(creditorId);
      args.setCreditTxnType(creditTxnType);
      sendBase("getCreditHistoryRecordsForUserAndCreditor", args);
    }

    public List<CreditHistory> recv_getCreditHistoryRecordsForUserAndCreditor() throws org.apache.thrift.TException
    {
      getCreditHistoryRecordsForUserAndCreditor_result result = new getCreditHistoryRecordsForUserAndCreditor_result();
      receiveBase(result, "getCreditHistoryRecordsForUserAndCreditor");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getCreditHistoryRecordsForUserAndCreditor failed: unknown result");
    }

    public boolean processCreditTransaction(long paymentId, long userId, long creditorId, List<CreditHistory> creditTxns) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_processCreditTransaction(paymentId, userId, creditorId, creditTxns);
      return recv_processCreditTransaction();
    }

    public void send_processCreditTransaction(long paymentId, long userId, long creditorId, List<CreditHistory> creditTxns) throws org.apache.thrift.TException
    {
      processCreditTransaction_args args = new processCreditTransaction_args();
      args.setPaymentId(paymentId);
      args.setUserId(userId);
      args.setCreditorId(creditorId);
      args.setCreditTxns(creditTxns);
      sendBase("processCreditTransaction", args);
    }

    public boolean recv_processCreditTransaction() throws TransactionServiceException, org.apache.thrift.TException
    {
      processCreditTransaction_result result = new processCreditTransaction_result();
      receiveBase(result, "processCreditTransaction");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.pe != null) {
        throw result.pe;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "processCreditTransaction failed: unknown result");
    }

    public double getLoanPayableForUserToCreditor(long userId, long creditorId, long dueDate) throws org.apache.thrift.TException
    {
      send_getLoanPayableForUserToCreditor(userId, creditorId, dueDate);
      return recv_getLoanPayableForUserToCreditor();
    }

    public void send_getLoanPayableForUserToCreditor(long userId, long creditorId, long dueDate) throws org.apache.thrift.TException
    {
      getLoanPayableForUserToCreditor_args args = new getLoanPayableForUserToCreditor_args();
      args.setUserId(userId);
      args.setCreditorId(creditorId);
      args.setDueDate(dueDate);
      sendBase("getLoanPayableForUserToCreditor", args);
    }

    public double recv_getLoanPayableForUserToCreditor() throws org.apache.thrift.TException
    {
      getLoanPayableForUserToCreditor_result result = new getLoanPayableForUserToCreditor_result();
      receiveBase(result, "getLoanPayableForUserToCreditor");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getLoanPayableForUserToCreditor failed: unknown result");
    }

    public List<LoanHistory> getLoanHistoryRecordsForTransaction(long paymentId, CreditTxnType creditTxnType) throws org.apache.thrift.TException
    {
      send_getLoanHistoryRecordsForTransaction(paymentId, creditTxnType);
      return recv_getLoanHistoryRecordsForTransaction();
    }

    public void send_getLoanHistoryRecordsForTransaction(long paymentId, CreditTxnType creditTxnType) throws org.apache.thrift.TException
    {
      getLoanHistoryRecordsForTransaction_args args = new getLoanHistoryRecordsForTransaction_args();
      args.setPaymentId(paymentId);
      args.setCreditTxnType(creditTxnType);
      sendBase("getLoanHistoryRecordsForTransaction", args);
    }

    public List<LoanHistory> recv_getLoanHistoryRecordsForTransaction() throws org.apache.thrift.TException
    {
      getLoanHistoryRecordsForTransaction_result result = new getLoanHistoryRecordsForTransaction_result();
      receiveBase(result, "getLoanHistoryRecordsForTransaction");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getLoanHistoryRecordsForTransaction failed: unknown result");
    }

    public List<LoanHistory> getLoanHistoryRecordsForUserAndCreditor(long userId, long creditorId, CreditTxnType creditTxnType) throws org.apache.thrift.TException
    {
      send_getLoanHistoryRecordsForUserAndCreditor(userId, creditorId, creditTxnType);
      return recv_getLoanHistoryRecordsForUserAndCreditor();
    }

    public void send_getLoanHistoryRecordsForUserAndCreditor(long userId, long creditorId, CreditTxnType creditTxnType) throws org.apache.thrift.TException
    {
      getLoanHistoryRecordsForUserAndCreditor_args args = new getLoanHistoryRecordsForUserAndCreditor_args();
      args.setUserId(userId);
      args.setCreditorId(creditorId);
      args.setCreditTxnType(creditTxnType);
      sendBase("getLoanHistoryRecordsForUserAndCreditor", args);
    }

    public List<LoanHistory> recv_getLoanHistoryRecordsForUserAndCreditor() throws org.apache.thrift.TException
    {
      getLoanHistoryRecordsForUserAndCreditor_result result = new getLoanHistoryRecordsForUserAndCreditor_result();
      receiveBase(result, "getLoanHistoryRecordsForUserAndCreditor");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getLoanHistoryRecordsForUserAndCreditor failed: unknown result");
    }

    public boolean processLoanTransaction(long paymentId, long userId, long creditorId, List<LoanHistory> creditTxns) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_processLoanTransaction(paymentId, userId, creditorId, creditTxns);
      return recv_processLoanTransaction();
    }

    public void send_processLoanTransaction(long paymentId, long userId, long creditorId, List<LoanHistory> creditTxns) throws org.apache.thrift.TException
    {
      processLoanTransaction_args args = new processLoanTransaction_args();
      args.setPaymentId(paymentId);
      args.setUserId(userId);
      args.setCreditorId(creditorId);
      args.setCreditTxns(creditTxns);
      sendBase("processLoanTransaction", args);
    }

    public boolean recv_processLoanTransaction() throws TransactionServiceException, org.apache.thrift.TException
    {
      processLoanTransaction_result result = new processLoanTransaction_result();
      receiveBase(result, "processLoanTransaction");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.pe != null) {
        throw result.pe;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "processLoanTransaction failed: unknown result");
    }

    public PaginatedCreditHistory getLimitedCreditHistoryRecords(long paymentId, long userId, long creditorId, long limit, long offset) throws org.apache.thrift.TException
    {
      send_getLimitedCreditHistoryRecords(paymentId, userId, creditorId, limit, offset);
      return recv_getLimitedCreditHistoryRecords();
    }

    public void send_getLimitedCreditHistoryRecords(long paymentId, long userId, long creditorId, long limit, long offset) throws org.apache.thrift.TException
    {
      getLimitedCreditHistoryRecords_args args = new getLimitedCreditHistoryRecords_args();
      args.setPaymentId(paymentId);
      args.setUserId(userId);
      args.setCreditorId(creditorId);
      args.setLimit(limit);
      args.setOffset(offset);
      sendBase("getLimitedCreditHistoryRecords", args);
    }

    public PaginatedCreditHistory recv_getLimitedCreditHistoryRecords() throws org.apache.thrift.TException
    {
      getLimitedCreditHistoryRecords_result result = new getLimitedCreditHistoryRecords_result();
      receiveBase(result, "getLimitedCreditHistoryRecords");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getLimitedCreditHistoryRecords failed: unknown result");
    }

    public PaginatedLoanHistory getLimitedLoanHistoryRecords(long paymentId, long userId, long creditorId, long limit, long offset) throws org.apache.thrift.TException
    {
      send_getLimitedLoanHistoryRecords(paymentId, userId, creditorId, limit, offset);
      return recv_getLimitedLoanHistoryRecords();
    }

    public void send_getLimitedLoanHistoryRecords(long paymentId, long userId, long creditorId, long limit, long offset) throws org.apache.thrift.TException
    {
      getLimitedLoanHistoryRecords_args args = new getLimitedLoanHistoryRecords_args();
      args.setPaymentId(paymentId);
      args.setUserId(userId);
      args.setCreditorId(creditorId);
      args.setLimit(limit);
      args.setOffset(offset);
      sendBase("getLimitedLoanHistoryRecords", args);
    }

    public PaginatedLoanHistory recv_getLimitedLoanHistoryRecords() throws org.apache.thrift.TException
    {
      getLimitedLoanHistoryRecords_result result = new getLimitedLoanHistoryRecords_result();
      receiveBase(result, "getLimitedLoanHistoryRecords");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getLimitedLoanHistoryRecords failed: unknown result");
    }

    public PaginatedUserSanction getUserSanctionsDetailsAsPerLimit(long userId, long creditorId, long limit, long offset, String sort) throws org.apache.thrift.TException
    {
      send_getUserSanctionsDetailsAsPerLimit(userId, creditorId, limit, offset, sort);
      return recv_getUserSanctionsDetailsAsPerLimit();
    }

    public void send_getUserSanctionsDetailsAsPerLimit(long userId, long creditorId, long limit, long offset, String sort) throws org.apache.thrift.TException
    {
      getUserSanctionsDetailsAsPerLimit_args args = new getUserSanctionsDetailsAsPerLimit_args();
      args.setUserId(userId);
      args.setCreditorId(creditorId);
      args.setLimit(limit);
      args.setOffset(offset);
      args.setSort(sort);
      sendBase("getUserSanctionsDetailsAsPerLimit", args);
    }

    public PaginatedUserSanction recv_getUserSanctionsDetailsAsPerLimit() throws org.apache.thrift.TException
    {
      getUserSanctionsDetailsAsPerLimit_result result = new getUserSanctionsDetailsAsPerLimit_result();
      receiveBase(result, "getUserSanctionsDetailsAsPerLimit");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getUserSanctionsDetailsAsPerLimit failed: unknown result");
    }

    public List<OutstandingPayments> getOutstandingPayments(String fetchType, long userId, long limit) throws org.apache.thrift.TException
    {
      send_getOutstandingPayments(fetchType, userId, limit);
      return recv_getOutstandingPayments();
    }

    public void send_getOutstandingPayments(String fetchType, long userId, long limit) throws org.apache.thrift.TException
    {
      getOutstandingPayments_args args = new getOutstandingPayments_args();
      args.setFetchType(fetchType);
      args.setUserId(userId);
      args.setLimit(limit);
      sendBase("getOutstandingPayments", args);
    }

    public List<OutstandingPayments> recv_getOutstandingPayments() throws org.apache.thrift.TException
    {
      getOutstandingPayments_result result = new getOutstandingPayments_result();
      receiveBase(result, "getOutstandingPayments");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getOutstandingPayments failed: unknown result");
    }

    public Map<Boolean,String> markPaymentSettled(long userId, long paymentId, double totalAmount, long repaymentDate) throws org.apache.thrift.TException
    {
      send_markPaymentSettled(userId, paymentId, totalAmount, repaymentDate);
      return recv_markPaymentSettled();
    }

    public void send_markPaymentSettled(long userId, long paymentId, double totalAmount, long repaymentDate) throws org.apache.thrift.TException
    {
      markPaymentSettled_args args = new markPaymentSettled_args();
      args.setUserId(userId);
      args.setPaymentId(paymentId);
      args.setTotalAmount(totalAmount);
      args.setRepaymentDate(repaymentDate);
      sendBase("markPaymentSettled", args);
    }

    public Map<Boolean,String> recv_markPaymentSettled() throws org.apache.thrift.TException
    {
      markPaymentSettled_result result = new markPaymentSettled_result();
      receiveBase(result, "markPaymentSettled");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "markPaymentSettled failed: unknown result");
    }

    public ReturnOrderInfo getReturnOrderInfo(long id) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_getReturnOrderInfo(id);
      return recv_getReturnOrderInfo();
    }

    public void send_getReturnOrderInfo(long id) throws org.apache.thrift.TException
    {
      getReturnOrderInfo_args args = new getReturnOrderInfo_args();
      args.setId(id);
      sendBase("getReturnOrderInfo", args);
    }

    public ReturnOrderInfo recv_getReturnOrderInfo() throws TransactionServiceException, org.apache.thrift.TException
    {
      getReturnOrderInfo_result result = new getReturnOrderInfo_result();
      receiveBase(result, "getReturnOrderInfo");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getReturnOrderInfo failed: unknown result");
    }

    public Map<Long,List<ReturnOrderInfo>> getReturnOrderInfoList(List<Long> order_ids) throws org.apache.thrift.TException
    {
      send_getReturnOrderInfoList(order_ids);
      return recv_getReturnOrderInfoList();
    }

    public void send_getReturnOrderInfoList(List<Long> order_ids) throws org.apache.thrift.TException
    {
      getReturnOrderInfoList_args args = new getReturnOrderInfoList_args();
      args.setOrder_ids(order_ids);
      sendBase("getReturnOrderInfoList", args);
    }

    public Map<Long,List<ReturnOrderInfo>> recv_getReturnOrderInfoList() throws org.apache.thrift.TException
    {
      getReturnOrderInfoList_result result = new getReturnOrderInfoList_result();
      receiveBase(result, "getReturnOrderInfoList");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getReturnOrderInfoList failed: unknown result");
    }

    public Map<Long,List<ReturnOrderInfo>> getReturnOrderInfoListAsByStatus(List<Long> order_ids, List<String> statuses) throws org.apache.thrift.TException
    {
      send_getReturnOrderInfoListAsByStatus(order_ids, statuses);
      return recv_getReturnOrderInfoListAsByStatus();
    }

    public void send_getReturnOrderInfoListAsByStatus(List<Long> order_ids, List<String> statuses) throws org.apache.thrift.TException
    {
      getReturnOrderInfoListAsByStatus_args args = new getReturnOrderInfoListAsByStatus_args();
      args.setOrder_ids(order_ids);
      args.setStatuses(statuses);
      sendBase("getReturnOrderInfoListAsByStatus", args);
    }

    public Map<Long,List<ReturnOrderInfo>> recv_getReturnOrderInfoListAsByStatus() throws org.apache.thrift.TException
    {
      getReturnOrderInfoListAsByStatus_result result = new getReturnOrderInfoListAsByStatus_result();
      receiveBase(result, "getReturnOrderInfoListAsByStatus");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getReturnOrderInfoListAsByStatus failed: unknown result");
    }

    public boolean updateReturnOrderInfo(ReturnOrderInfo returnInfo) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_updateReturnOrderInfo(returnInfo);
      return recv_updateReturnOrderInfo();
    }

    public void send_updateReturnOrderInfo(ReturnOrderInfo returnInfo) throws org.apache.thrift.TException
    {
      updateReturnOrderInfo_args args = new updateReturnOrderInfo_args();
      args.setReturnInfo(returnInfo);
      sendBase("updateReturnOrderInfo", args);
    }

    public boolean recv_updateReturnOrderInfo() throws TransactionServiceException, org.apache.thrift.TException
    {
      updateReturnOrderInfo_result result = new updateReturnOrderInfo_result();
      receiveBase(result, "updateReturnOrderInfo");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateReturnOrderInfo failed: unknown result");
    }

    public Map<Long,Boolean> bulkUpdateReturnOrderInfo(Map<Long,List<ReturnOrderInfo>> orderReturnInfosMap) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_bulkUpdateReturnOrderInfo(orderReturnInfosMap);
      return recv_bulkUpdateReturnOrderInfo();
    }

    public void send_bulkUpdateReturnOrderInfo(Map<Long,List<ReturnOrderInfo>> orderReturnInfosMap) throws org.apache.thrift.TException
    {
      bulkUpdateReturnOrderInfo_args args = new bulkUpdateReturnOrderInfo_args();
      args.setOrderReturnInfosMap(orderReturnInfosMap);
      sendBase("bulkUpdateReturnOrderInfo", args);
    }

    public Map<Long,Boolean> recv_bulkUpdateReturnOrderInfo() throws TransactionServiceException, org.apache.thrift.TException
    {
      bulkUpdateReturnOrderInfo_result result = new bulkUpdateReturnOrderInfo_result();
      receiveBase(result, "bulkUpdateReturnOrderInfo");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "bulkUpdateReturnOrderInfo failed: unknown result");
    }

    public List<ReturnOrderInfo> getReturnOrdersAsPerWarehouseId(long warehouseId) throws org.apache.thrift.TException
    {
      send_getReturnOrdersAsPerWarehouseId(warehouseId);
      return recv_getReturnOrdersAsPerWarehouseId();
    }

    public void send_getReturnOrdersAsPerWarehouseId(long warehouseId) throws org.apache.thrift.TException
    {
      getReturnOrdersAsPerWarehouseId_args args = new getReturnOrdersAsPerWarehouseId_args();
      args.setWarehouseId(warehouseId);
      sendBase("getReturnOrdersAsPerWarehouseId", args);
    }

    public List<ReturnOrderInfo> recv_getReturnOrdersAsPerWarehouseId() throws org.apache.thrift.TException
    {
      getReturnOrdersAsPerWarehouseId_result result = new getReturnOrdersAsPerWarehouseId_result();
      receiveBase(result, "getReturnOrdersAsPerWarehouseId");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getReturnOrdersAsPerWarehouseId failed: unknown result");
    }

    public ReturnTransaction createReturnTransaction(ReturnTransaction returnTransaction, String itemCondition, boolean overrideWarranty) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_createReturnTransaction(returnTransaction, itemCondition, overrideWarranty);
      return recv_createReturnTransaction();
    }

    public void send_createReturnTransaction(ReturnTransaction returnTransaction, String itemCondition, boolean overrideWarranty) throws org.apache.thrift.TException
    {
      createReturnTransaction_args args = new createReturnTransaction_args();
      args.setReturnTransaction(returnTransaction);
      args.setItemCondition(itemCondition);
      args.setOverrideWarranty(overrideWarranty);
      sendBase("createReturnTransaction", args);
    }

    public ReturnTransaction recv_createReturnTransaction() throws TransactionServiceException, org.apache.thrift.TException
    {
      createReturnTransaction_result result = new createReturnTransaction_result();
      receiveBase(result, "createReturnTransaction");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "createReturnTransaction failed: unknown result");
    }

    public ReturnTransaction getReturnTransaction(long id) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_getReturnTransaction(id);
      return recv_getReturnTransaction();
    }

    public void send_getReturnTransaction(long id) throws org.apache.thrift.TException
    {
      getReturnTransaction_args args = new getReturnTransaction_args();
      args.setId(id);
      sendBase("getReturnTransaction", args);
    }

    public ReturnTransaction recv_getReturnTransaction() throws TransactionServiceException, org.apache.thrift.TException
    {
      getReturnTransaction_result result = new getReturnTransaction_result();
      receiveBase(result, "getReturnTransaction");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getReturnTransaction failed: unknown result");
    }

    public List<ReturnOrderInfo> getReturnOrdersForReturnTransaction(long returnTransactionId) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_getReturnOrdersForReturnTransaction(returnTransactionId);
      return recv_getReturnOrdersForReturnTransaction();
    }

    public void send_getReturnOrdersForReturnTransaction(long returnTransactionId) throws org.apache.thrift.TException
    {
      getReturnOrdersForReturnTransaction_args args = new getReturnOrdersForReturnTransaction_args();
      args.setReturnTransactionId(returnTransactionId);
      sendBase("getReturnOrdersForReturnTransaction", args);
    }

    public List<ReturnOrderInfo> recv_getReturnOrdersForReturnTransaction() throws TransactionServiceException, org.apache.thrift.TException
    {
      getReturnOrdersForReturnTransaction_result result = new getReturnOrdersForReturnTransaction_result();
      receiveBase(result, "getReturnOrdersForReturnTransaction");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getReturnOrdersForReturnTransaction failed: unknown result");
    }

    public boolean changeReturnTransactionStatus(long returnTransactionId, ReturnTransactionStatus status, List<Long> returnOrderIds) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_changeReturnTransactionStatus(returnTransactionId, status, returnOrderIds);
      return recv_changeReturnTransactionStatus();
    }

    public void send_changeReturnTransactionStatus(long returnTransactionId, ReturnTransactionStatus status, List<Long> returnOrderIds) throws org.apache.thrift.TException
    {
      changeReturnTransactionStatus_args args = new changeReturnTransactionStatus_args();
      args.setReturnTransactionId(returnTransactionId);
      args.setStatus(status);
      args.setReturnOrderIds(returnOrderIds);
      sendBase("changeReturnTransactionStatus", args);
    }

    public boolean recv_changeReturnTransactionStatus() throws TransactionServiceException, org.apache.thrift.TException
    {
      changeReturnTransactionStatus_result result = new changeReturnTransactionStatus_result();
      receiveBase(result, "changeReturnTransactionStatus");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "changeReturnTransactionStatus failed: unknown result");
    }

    public long createReturnPickupRequest(List<Long> returnOrderIds) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_createReturnPickupRequest(returnOrderIds);
      return recv_createReturnPickupRequest();
    }

    public void send_createReturnPickupRequest(List<Long> returnOrderIds) throws org.apache.thrift.TException
    {
      createReturnPickupRequest_args args = new createReturnPickupRequest_args();
      args.setReturnOrderIds(returnOrderIds);
      sendBase("createReturnPickupRequest", args);
    }

    public long recv_createReturnPickupRequest() throws TransactionServiceException, org.apache.thrift.TException
    {
      createReturnPickupRequest_result result = new createReturnPickupRequest_result();
      receiveBase(result, "createReturnPickupRequest");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "createReturnPickupRequest failed: unknown result");
    }

    public boolean updateReturnPickupRequest(ReturnPickupRequest returnPickupRequest) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_updateReturnPickupRequest(returnPickupRequest);
      return recv_updateReturnPickupRequest();
    }

    public void send_updateReturnPickupRequest(ReturnPickupRequest returnPickupRequest) throws org.apache.thrift.TException
    {
      updateReturnPickupRequest_args args = new updateReturnPickupRequest_args();
      args.setReturnPickupRequest(returnPickupRequest);
      sendBase("updateReturnPickupRequest", args);
    }

    public boolean recv_updateReturnPickupRequest() throws TransactionServiceException, org.apache.thrift.TException
    {
      updateReturnPickupRequest_result result = new updateReturnPickupRequest_result();
      receiveBase(result, "updateReturnPickupRequest");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateReturnPickupRequest failed: unknown result");
    }

    public List<ReturnOrderInfo> getAllReturnOrdersForReturnPickupRequest(long logisticsRequestId) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_getAllReturnOrdersForReturnPickupRequest(logisticsRequestId);
      return recv_getAllReturnOrdersForReturnPickupRequest();
    }

    public void send_getAllReturnOrdersForReturnPickupRequest(long logisticsRequestId) throws org.apache.thrift.TException
    {
      getAllReturnOrdersForReturnPickupRequest_args args = new getAllReturnOrdersForReturnPickupRequest_args();
      args.setLogisticsRequestId(logisticsRequestId);
      sendBase("getAllReturnOrdersForReturnPickupRequest", args);
    }

    public List<ReturnOrderInfo> recv_getAllReturnOrdersForReturnPickupRequest() throws TransactionServiceException, org.apache.thrift.TException
    {
      getAllReturnOrdersForReturnPickupRequest_result result = new getAllReturnOrdersForReturnPickupRequest_result();
      receiveBase(result, "getAllReturnOrdersForReturnPickupRequest");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllReturnOrdersForReturnPickupRequest failed: unknown result");
    }

    public boolean receiveReturnPickup(Map<Long,Map<String,String>> returnOrdersMap, long id) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_receiveReturnPickup(returnOrdersMap, id);
      return recv_receiveReturnPickup();
    }

    public void send_receiveReturnPickup(Map<Long,Map<String,String>> returnOrdersMap, long id) throws org.apache.thrift.TException
    {
      receiveReturnPickup_args args = new receiveReturnPickup_args();
      args.setReturnOrdersMap(returnOrdersMap);
      args.setId(id);
      sendBase("receiveReturnPickup", args);
    }

    public boolean recv_receiveReturnPickup() throws TransactionServiceException, org.apache.thrift.TException
    {
      receiveReturnPickup_result result = new receiveReturnPickup_result();
      receiveBase(result, "receiveReturnPickup");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "receiveReturnPickup failed: unknown result");
    }

    public boolean validateReturnPickup(long returnPickupId, Map<Long,Boolean> returnOrdersMap) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_validateReturnPickup(returnPickupId, returnOrdersMap);
      return recv_validateReturnPickup();
    }

    public void send_validateReturnPickup(long returnPickupId, Map<Long,Boolean> returnOrdersMap) throws org.apache.thrift.TException
    {
      validateReturnPickup_args args = new validateReturnPickup_args();
      args.setReturnPickupId(returnPickupId);
      args.setReturnOrdersMap(returnOrdersMap);
      sendBase("validateReturnPickup", args);
    }

    public boolean recv_validateReturnPickup() throws TransactionServiceException, org.apache.thrift.TException
    {
      validateReturnPickup_result result = new validateReturnPickup_result();
      receiveBase(result, "validateReturnPickup");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "validateReturnPickup failed: unknown result");
    }

    public boolean processReturnPickup(long returnPickupId, Map<Long,Map<String,String>> returnOrdersMap) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_processReturnPickup(returnPickupId, returnOrdersMap);
      return recv_processReturnPickup();
    }

    public void send_processReturnPickup(long returnPickupId, Map<Long,Map<String,String>> returnOrdersMap) throws org.apache.thrift.TException
    {
      processReturnPickup_args args = new processReturnPickup_args();
      args.setReturnPickupId(returnPickupId);
      args.setReturnOrdersMap(returnOrdersMap);
      sendBase("processReturnPickup", args);
    }

    public boolean recv_processReturnPickup() throws TransactionServiceException, org.apache.thrift.TException
    {
      processReturnPickup_result result = new processReturnPickup_result();
      receiveBase(result, "processReturnPickup");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "processReturnPickup failed: unknown result");
    }

    public boolean markReturnTransactionComplete(long returnTransactionId) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_markReturnTransactionComplete(returnTransactionId);
      return recv_markReturnTransactionComplete();
    }

    public void send_markReturnTransactionComplete(long returnTransactionId) throws org.apache.thrift.TException
    {
      markReturnTransactionComplete_args args = new markReturnTransactionComplete_args();
      args.setReturnTransactionId(returnTransactionId);
      sendBase("markReturnTransactionComplete", args);
    }

    public boolean recv_markReturnTransactionComplete() throws TransactionServiceException, org.apache.thrift.TException
    {
      markReturnTransactionComplete_result result = new markReturnTransactionComplete_result();
      receiveBase(result, "markReturnTransactionComplete");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "markReturnTransactionComplete failed: unknown result");
    }

    public boolean refundReturnTransactionPayment(Map<Long,Map<String,String>> refundOrdersMap, long returntransactionId) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_refundReturnTransactionPayment(refundOrdersMap, returntransactionId);
      return recv_refundReturnTransactionPayment();
    }

    public void send_refundReturnTransactionPayment(Map<Long,Map<String,String>> refundOrdersMap, long returntransactionId) throws org.apache.thrift.TException
    {
      refundReturnTransactionPayment_args args = new refundReturnTransactionPayment_args();
      args.setRefundOrdersMap(refundOrdersMap);
      args.setReturntransactionId(returntransactionId);
      sendBase("refundReturnTransactionPayment", args);
    }

    public boolean recv_refundReturnTransactionPayment() throws TransactionServiceException, org.apache.thrift.TException
    {
      refundReturnTransactionPayment_result result = new refundReturnTransactionPayment_result();
      receiveBase(result, "refundReturnTransactionPayment");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "refundReturnTransactionPayment failed: unknown result");
    }

    public List<ReturnTransaction> getReturnTransactionsForCustomer(List<ReturnTransactionStatus> statusList, String customerMobile, String customerEmail, long returnTransactionId, long customerId) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_getReturnTransactionsForCustomer(statusList, customerMobile, customerEmail, returnTransactionId, customerId);
      return recv_getReturnTransactionsForCustomer();
    }

    public void send_getReturnTransactionsForCustomer(List<ReturnTransactionStatus> statusList, String customerMobile, String customerEmail, long returnTransactionId, long customerId) throws org.apache.thrift.TException
    {
      getReturnTransactionsForCustomer_args args = new getReturnTransactionsForCustomer_args();
      args.setStatusList(statusList);
      args.setCustomerMobile(customerMobile);
      args.setCustomerEmail(customerEmail);
      args.setReturnTransactionId(returnTransactionId);
      args.setCustomerId(customerId);
      sendBase("getReturnTransactionsForCustomer", args);
    }

    public List<ReturnTransaction> recv_getReturnTransactionsForCustomer() throws TransactionServiceException, org.apache.thrift.TException
    {
      getReturnTransactionsForCustomer_result result = new getReturnTransactionsForCustomer_result();
      receiveBase(result, "getReturnTransactionsForCustomer");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getReturnTransactionsForCustomer failed: unknown result");
    }

    public boolean verifyOrderForTransaction(long transactionId) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_verifyOrderForTransaction(transactionId);
      return recv_verifyOrderForTransaction();
    }

    public void send_verifyOrderForTransaction(long transactionId) throws org.apache.thrift.TException
    {
      verifyOrderForTransaction_args args = new verifyOrderForTransaction_args();
      args.setTransactionId(transactionId);
      sendBase("verifyOrderForTransaction", args);
    }

    public boolean recv_verifyOrderForTransaction() throws TransactionServiceException, org.apache.thrift.TException
    {
      verifyOrderForTransaction_result result = new verifyOrderForTransaction_result();
      receiveBase(result, "verifyOrderForTransaction");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "verifyOrderForTransaction failed: unknown result");
    }

    public List<Order> getOrdersInBatchAsPromisedShipping(List<OrderStatus> statuses, long offset, long limit, long warehouse_id, long source) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_getOrdersInBatchAsPromisedShipping(statuses, offset, limit, warehouse_id, source);
      return recv_getOrdersInBatchAsPromisedShipping();
    }

    public void send_getOrdersInBatchAsPromisedShipping(List<OrderStatus> statuses, long offset, long limit, long warehouse_id, long source) throws org.apache.thrift.TException
    {
      getOrdersInBatchAsPromisedShipping_args args = new getOrdersInBatchAsPromisedShipping_args();
      args.setStatuses(statuses);
      args.setOffset(offset);
      args.setLimit(limit);
      args.setWarehouse_id(warehouse_id);
      args.setSource(source);
      sendBase("getOrdersInBatchAsPromisedShipping", args);
    }

    public List<Order> recv_getOrdersInBatchAsPromisedShipping() throws TransactionServiceException, org.apache.thrift.TException
    {
      getOrdersInBatchAsPromisedShipping_result result = new getOrdersInBatchAsPromisedShipping_result();
      receiveBase(result, "getOrdersInBatchAsPromisedShipping");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getOrdersInBatchAsPromisedShipping failed: unknown result");
    }

    public void setOrderAttributeForMasterOrderId(String logisticsTransactionId, List<Attribute> attributes) throws org.apache.thrift.TException
    {
      send_setOrderAttributeForMasterOrderId(logisticsTransactionId, attributes);
      recv_setOrderAttributeForMasterOrderId();
    }

    public void send_setOrderAttributeForMasterOrderId(String logisticsTransactionId, List<Attribute> attributes) throws org.apache.thrift.TException
    {
      setOrderAttributeForMasterOrderId_args args = new setOrderAttributeForMasterOrderId_args();
      args.setLogisticsTransactionId(logisticsTransactionId);
      args.setAttributes(attributes);
      sendBase("setOrderAttributeForMasterOrderId", args);
    }

    public void recv_setOrderAttributeForMasterOrderId() throws org.apache.thrift.TException
    {
      setOrderAttributeForMasterOrderId_result result = new setOrderAttributeForMasterOrderId_result();
      receiveBase(result, "setOrderAttributeForMasterOrderId");
      return;
    }

    public boolean updateMasterOrderAWB(String logisticsTransactionId, String airwayBillNo) throws org.apache.thrift.TException
    {
      send_updateMasterOrderAWB(logisticsTransactionId, airwayBillNo);
      return recv_updateMasterOrderAWB();
    }

    public void send_updateMasterOrderAWB(String logisticsTransactionId, String airwayBillNo) throws org.apache.thrift.TException
    {
      updateMasterOrderAWB_args args = new updateMasterOrderAWB_args();
      args.setLogisticsTransactionId(logisticsTransactionId);
      args.setAirwayBillNo(airwayBillNo);
      sendBase("updateMasterOrderAWB", args);
    }

    public boolean recv_updateMasterOrderAWB() throws org.apache.thrift.TException
    {
      updateMasterOrderAWB_result result = new updateMasterOrderAWB_result();
      receiveBase(result, "updateMasterOrderAWB");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateMasterOrderAWB failed: unknown result");
    }

    public boolean addOrUpdateShipmentLogisticsCostDetails(List<ShipmentLogisticsCostDetail> shipmentLogisticsCostDetails) throws org.apache.thrift.TException
    {
      send_addOrUpdateShipmentLogisticsCostDetails(shipmentLogisticsCostDetails);
      return recv_addOrUpdateShipmentLogisticsCostDetails();
    }

    public void send_addOrUpdateShipmentLogisticsCostDetails(List<ShipmentLogisticsCostDetail> shipmentLogisticsCostDetails) throws org.apache.thrift.TException
    {
      addOrUpdateShipmentLogisticsCostDetails_args args = new addOrUpdateShipmentLogisticsCostDetails_args();
      args.setShipmentLogisticsCostDetails(shipmentLogisticsCostDetails);
      sendBase("addOrUpdateShipmentLogisticsCostDetails", args);
    }

    public boolean recv_addOrUpdateShipmentLogisticsCostDetails() throws org.apache.thrift.TException
    {
      addOrUpdateShipmentLogisticsCostDetails_result result = new addOrUpdateShipmentLogisticsCostDetails_result();
      receiveBase(result, "addOrUpdateShipmentLogisticsCostDetails");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "addOrUpdateShipmentLogisticsCostDetails failed: unknown result");
    }

    public List<Order> getEligibleOrdersForReturn(long customerId, String itemCondition, boolean overrideWarranty) throws org.apache.thrift.TException
    {
      send_getEligibleOrdersForReturn(customerId, itemCondition, overrideWarranty);
      return recv_getEligibleOrdersForReturn();
    }

    public void send_getEligibleOrdersForReturn(long customerId, String itemCondition, boolean overrideWarranty) throws org.apache.thrift.TException
    {
      getEligibleOrdersForReturn_args args = new getEligibleOrdersForReturn_args();
      args.setCustomerId(customerId);
      args.setItemCondition(itemCondition);
      args.setOverrideWarranty(overrideWarranty);
      sendBase("getEligibleOrdersForReturn", args);
    }

    public List<Order> recv_getEligibleOrdersForReturn() throws org.apache.thrift.TException
    {
      getEligibleOrdersForReturn_result result = new getEligibleOrdersForReturn_result();
      receiveBase(result, "getEligibleOrdersForReturn");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getEligibleOrdersForReturn failed: unknown result");
    }

    public List<ReturnOrderInfo> getEligibleReturnOrdersForPickup(long customerId) throws org.apache.thrift.TException
    {
      send_getEligibleReturnOrdersForPickup(customerId);
      return recv_getEligibleReturnOrdersForPickup();
    }

    public void send_getEligibleReturnOrdersForPickup(long customerId) throws org.apache.thrift.TException
    {
      getEligibleReturnOrdersForPickup_args args = new getEligibleReturnOrdersForPickup_args();
      args.setCustomerId(customerId);
      sendBase("getEligibleReturnOrdersForPickup", args);
    }

    public List<ReturnOrderInfo> recv_getEligibleReturnOrdersForPickup() throws org.apache.thrift.TException
    {
      getEligibleReturnOrdersForPickup_result result = new getEligibleReturnOrdersForPickup_result();
      receiveBase(result, "getEligibleReturnOrdersForPickup");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getEligibleReturnOrdersForPickup failed: unknown result");
    }

    public boolean validateReturnTransaction(long customerId, Map<Long,Long> returnOrdersMap, String itemCondition, boolean overrideWarranty) throws org.apache.thrift.TException
    {
      send_validateReturnTransaction(customerId, returnOrdersMap, itemCondition, overrideWarranty);
      return recv_validateReturnTransaction();
    }

    public void send_validateReturnTransaction(long customerId, Map<Long,Long> returnOrdersMap, String itemCondition, boolean overrideWarranty) throws org.apache.thrift.TException
    {
      validateReturnTransaction_args args = new validateReturnTransaction_args();
      args.setCustomerId(customerId);
      args.setReturnOrdersMap(returnOrdersMap);
      args.setItemCondition(itemCondition);
      args.setOverrideWarranty(overrideWarranty);
      sendBase("validateReturnTransaction", args);
    }

    public boolean recv_validateReturnTransaction() throws org.apache.thrift.TException
    {
      validateReturnTransaction_result result = new validateReturnTransaction_result();
      receiveBase(result, "validateReturnTransaction");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "validateReturnTransaction failed: unknown result");
    }

    public List<PendingStoreOrder> getPendingStoreOrders(long storeId) throws org.apache.thrift.TException
    {
      send_getPendingStoreOrders(storeId);
      return recv_getPendingStoreOrders();
    }

    public void send_getPendingStoreOrders(long storeId) throws org.apache.thrift.TException
    {
      getPendingStoreOrders_args args = new getPendingStoreOrders_args();
      args.setStoreId(storeId);
      sendBase("getPendingStoreOrders", args);
    }

    public List<PendingStoreOrder> recv_getPendingStoreOrders() throws org.apache.thrift.TException
    {
      getPendingStoreOrders_result result = new getPendingStoreOrders_result();
      receiveBase(result, "getPendingStoreOrders");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getPendingStoreOrders failed: unknown result");
    }

    public SellerInfo getSellerInfo(long sellerId) throws org.apache.thrift.TException
    {
      send_getSellerInfo(sellerId);
      return recv_getSellerInfo();
    }

    public void send_getSellerInfo(long sellerId) throws org.apache.thrift.TException
    {
      getSellerInfo_args args = new getSellerInfo_args();
      args.setSellerId(sellerId);
      sendBase("getSellerInfo", args);
    }

    public SellerInfo recv_getSellerInfo() throws org.apache.thrift.TException
    {
      getSellerInfo_result result = new getSellerInfo_result();
      receiveBase(result, "getSellerInfo");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getSellerInfo failed: unknown result");
    }

    public WarehouseAddress getWarehouseAddress(long address_id) throws org.apache.thrift.TException
    {
      send_getWarehouseAddress(address_id);
      return recv_getWarehouseAddress();
    }

    public void send_getWarehouseAddress(long address_id) throws org.apache.thrift.TException
    {
      getWarehouseAddress_args args = new getWarehouseAddress_args();
      args.setAddress_id(address_id);
      sendBase("getWarehouseAddress", args);
    }

    public WarehouseAddress recv_getWarehouseAddress() throws org.apache.thrift.TException
    {
      getWarehouseAddress_result result = new getWarehouseAddress_result();
      receiveBase(result, "getWarehouseAddress");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getWarehouseAddress failed: unknown result");
    }

    public BuyerInfo getBuyerByWarehouse(long warehouse_id) throws org.apache.thrift.TException
    {
      send_getBuyerByWarehouse(warehouse_id);
      return recv_getBuyerByWarehouse();
    }

    public void send_getBuyerByWarehouse(long warehouse_id) throws org.apache.thrift.TException
    {
      getBuyerByWarehouse_args args = new getBuyerByWarehouse_args();
      args.setWarehouse_id(warehouse_id);
      sendBase("getBuyerByWarehouse", args);
    }

    public BuyerInfo recv_getBuyerByWarehouse() throws org.apache.thrift.TException
    {
      getBuyerByWarehouse_result result = new getBuyerByWarehouse_result();
      receiveBase(result, "getBuyerByWarehouse");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getBuyerByWarehouse failed: unknown result");
    }

    public boolean markReturnNotRequiredOrdersProcessed(ReturnOrderInfo returnOrderInfo) throws TransactionServiceException, org.apache.thrift.TException
    {
      send_markReturnNotRequiredOrdersProcessed(returnOrderInfo);
      return recv_markReturnNotRequiredOrdersProcessed();
    }

    public void send_markReturnNotRequiredOrdersProcessed(ReturnOrderInfo returnOrderInfo) throws org.apache.thrift.TException
    {
      markReturnNotRequiredOrdersProcessed_args args = new markReturnNotRequiredOrdersProcessed_args();
      args.setReturnOrderInfo(returnOrderInfo);
      sendBase("markReturnNotRequiredOrdersProcessed", args);
    }

    public boolean recv_markReturnNotRequiredOrdersProcessed() throws TransactionServiceException, org.apache.thrift.TException
    {
      markReturnNotRequiredOrdersProcessed_result result = new markReturnNotRequiredOrdersProcessed_result();
      receiveBase(result, "markReturnNotRequiredOrdersProcessed");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.ex != null) {
        throw result.ex;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "markReturnNotRequiredOrdersProcessed failed: unknown result");
    }

    public ReturnPickupRequest getReturnPickupRequest(long returnPickupId) throws org.apache.thrift.TException
    {
      send_getReturnPickupRequest(returnPickupId);
      return recv_getReturnPickupRequest();
    }

    public void send_getReturnPickupRequest(long returnPickupId) throws org.apache.thrift.TException
    {
      getReturnPickupRequest_args args = new getReturnPickupRequest_args();
      args.setReturnPickupId(returnPickupId);
      sendBase("getReturnPickupRequest", args);
    }

    public ReturnPickupRequest recv_getReturnPickupRequest() throws org.apache.thrift.TException
    {
      getReturnPickupRequest_result result = new getReturnPickupRequest_result();
      receiveBase(result, "getReturnPickupRequest");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getReturnPickupRequest failed: unknown result");
    }

    public ReturnOrderInfo splitReturnOrderInfo(long returnOrderId, long splitOrderQty) throws org.apache.thrift.TException
    {
      send_splitReturnOrderInfo(returnOrderId, splitOrderQty);
      return recv_splitReturnOrderInfo();
    }

    public void send_splitReturnOrderInfo(long returnOrderId, long splitOrderQty) throws org.apache.thrift.TException
    {
      splitReturnOrderInfo_args args = new splitReturnOrderInfo_args();
      args.setReturnOrderId(returnOrderId);
      args.setSplitOrderQty(splitOrderQty);
      sendBase("splitReturnOrderInfo", args);
    }

    public ReturnOrderInfo recv_splitReturnOrderInfo() throws org.apache.thrift.TException
    {
      splitReturnOrderInfo_result result = new splitReturnOrderInfo_result();
      receiveBase(result, "splitReturnOrderInfo");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "splitReturnOrderInfo failed: unknown result");
    }

    public boolean deleteReturnOrder(long returnOrderId) throws org.apache.thrift.TException
    {
      send_deleteReturnOrder(returnOrderId);
      return recv_deleteReturnOrder();
    }

    public void send_deleteReturnOrder(long returnOrderId) throws org.apache.thrift.TException
    {
      deleteReturnOrder_args args = new deleteReturnOrder_args();
      args.setReturnOrderId(returnOrderId);
      sendBase("deleteReturnOrder", args);
    }

    public boolean recv_deleteReturnOrder() throws org.apache.thrift.TException
    {
      deleteReturnOrder_result result = new deleteReturnOrder_result();
      receiveBase(result, "deleteReturnOrder");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deleteReturnOrder failed: unknown result");
    }

    public boolean refundReturnOrder(ReturnOrderInfo returnOrderInfo, List<Attribute> attributes) throws org.apache.thrift.TException
    {
      send_refundReturnOrder(returnOrderInfo, attributes);
      return recv_refundReturnOrder();
    }

    public void send_refundReturnOrder(ReturnOrderInfo returnOrderInfo, List<Attribute> attributes) throws org.apache.thrift.TException
    {
      refundReturnOrder_args args = new refundReturnOrder_args();
      args.setReturnOrderInfo(returnOrderInfo);
      args.setAttributes(attributes);
      sendBase("refundReturnOrder", args);
    }

    public boolean recv_refundReturnOrder() throws org.apache.thrift.TException
    {
      refundReturnOrder_result result = new refundReturnOrder_result();
      receiveBase(result, "refundReturnOrder");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "refundReturnOrder failed: unknown result");
    }

    public List<Long> addShipmentDelay(List<ShipmentDelayDetail> shipmentDelayDetail) throws org.apache.thrift.TException
    {
      send_addShipmentDelay(shipmentDelayDetail);
      return recv_addShipmentDelay();
    }

    public void send_addShipmentDelay(List<ShipmentDelayDetail> shipmentDelayDetail) throws org.apache.thrift.TException
    {
      addShipmentDelay_args args = new addShipmentDelay_args();
      args.setShipmentDelayDetail(shipmentDelayDetail);
      sendBase("addShipmentDelay", args);
    }

    public List<Long> recv_addShipmentDelay() throws org.apache.thrift.TException
    {
      addShipmentDelay_result result = new addShipmentDelay_result();
      receiveBase(result, "addShipmentDelay");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "addShipmentDelay failed: unknown result");
    }

    public ShipmentLogisticsCostDetail getCostDetailForLogisticsTxnId(String logisticsTxnId) throws org.apache.thrift.TException
    {
      send_getCostDetailForLogisticsTxnId(logisticsTxnId);
      return recv_getCostDetailForLogisticsTxnId();
    }

    public void send_getCostDetailForLogisticsTxnId(String logisticsTxnId) throws org.apache.thrift.TException
    {
      getCostDetailForLogisticsTxnId_args args = new getCostDetailForLogisticsTxnId_args();
      args.setLogisticsTxnId(logisticsTxnId);
      sendBase("getCostDetailForLogisticsTxnId", args);
    }

    public ShipmentLogisticsCostDetail recv_getCostDetailForLogisticsTxnId() throws org.apache.thrift.TException
    {
      getCostDetailForLogisticsTxnId_result result = new getCostDetailForLogisticsTxnId_result();
      receiveBase(result, "getCostDetailForLogisticsTxnId");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getCostDetailForLogisticsTxnId failed: unknown result");
    }

    public void addShipmentLogisticDetail(ShipmentLogisticsCostDetail shipmentLogisticsCostDetail) throws org.apache.thrift.TException
    {
      send_addShipmentLogisticDetail(shipmentLogisticsCostDetail);
      recv_addShipmentLogisticDetail();
    }

    public void send_addShipmentLogisticDetail(ShipmentLogisticsCostDetail shipmentLogisticsCostDetail) throws org.apache.thrift.TException
    {
      addShipmentLogisticDetail_args args = new addShipmentLogisticDetail_args();
      args.setShipmentLogisticsCostDetail(shipmentLogisticsCostDetail);
      sendBase("addShipmentLogisticDetail", args);
    }

    public void recv_addShipmentLogisticDetail() throws org.apache.thrift.TException
    {
      addShipmentLogisticDetail_result result = new addShipmentLogisticDetail_result();
      receiveBase(result, "addShipmentLogisticDetail");
      return;
    }

    public long createPayment(long userId, long txnId, int gatewayId) throws org.apache.thrift.TException
    {
      send_createPayment(userId, txnId, gatewayId);
      return recv_createPayment();
    }

    public void send_createPayment(long userId, long txnId, int gatewayId) throws org.apache.thrift.TException
    {
      createPayment_args args = new createPayment_args();
      args.setUserId(userId);
      args.setTxnId(txnId);
      args.setGatewayId(gatewayId);
      sendBase("createPayment", args);
    }

    public long recv_createPayment() throws org.apache.thrift.TException
    {
      createPayment_result result = new createPayment_result();
      receiveBase(result, "createPayment");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "createPayment failed: unknown result");
    }

    public double calculatePaymentAmount(long txnId) throws org.apache.thrift.TException
    {
      send_calculatePaymentAmount(txnId);
      return recv_calculatePaymentAmount();
    }

    public void send_calculatePaymentAmount(long txnId) throws org.apache.thrift.TException
    {
      calculatePaymentAmount_args args = new calculatePaymentAmount_args();
      args.setTxnId(txnId);
      sendBase("calculatePaymentAmount", args);
    }

    public double recv_calculatePaymentAmount() throws org.apache.thrift.TException
    {
      calculatePaymentAmount_result result = new calculatePaymentAmount_result();
      receiveBase(result, "calculatePaymentAmount");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "calculatePaymentAmount failed: unknown result");
    }

    public List<Order> getBilledOrdersForManifestGen(long warehouse_id, long logistics_provider_id, boolean cod) throws org.apache.thrift.TException
    {
      send_getBilledOrdersForManifestGen(warehouse_id, logistics_provider_id, cod);
      return recv_getBilledOrdersForManifestGen();
    }

    public void send_getBilledOrdersForManifestGen(long warehouse_id, long logistics_provider_id, boolean cod) throws org.apache.thrift.TException
    {
      getBilledOrdersForManifestGen_args args = new getBilledOrdersForManifestGen_args();
      args.setWarehouse_id(warehouse_id);
      args.setLogistics_provider_id(logistics_provider_id);
      args.setCod(cod);
      sendBase("getBilledOrdersForManifestGen", args);
    }

    public List<Order> recv_getBilledOrdersForManifestGen() throws org.apache.thrift.TException
    {
      getBilledOrdersForManifestGen_result result = new getBilledOrdersForManifestGen_result();
      receiveBase(result, "getBilledOrdersForManifestGen");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getBilledOrdersForManifestGen failed: unknown result");
    }

    public boolean registerRsa(long userId, String activation_code) throws org.apache.thrift.TException
    {
      send_registerRsa(userId, activation_code);
      return recv_registerRsa();
    }

    public void send_registerRsa(long userId, String activation_code) throws org.apache.thrift.TException
    {
      registerRsa_args args = new registerRsa_args();
      args.setUserId(userId);
      args.setActivation_code(activation_code);
      sendBase("registerRsa", args);
    }

    public boolean recv_registerRsa() throws org.apache.thrift.TException
    {
      registerRsa_result result = new registerRsa_result();
      receiveBase(result, "registerRsa");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "registerRsa failed: unknown result");
    }

    public String addSalesAssociate(Pmsa pmsa, String referrerEmail, String l1_userEmail) throws org.apache.thrift.TException
    {
      send_addSalesAssociate(pmsa, referrerEmail, l1_userEmail);
      return recv_addSalesAssociate();
    }

    public void send_addSalesAssociate(Pmsa pmsa, String referrerEmail, String l1_userEmail) throws org.apache.thrift.TException
    {
      addSalesAssociate_args args = new addSalesAssociate_args();
      args.setPmsa(pmsa);
      args.setReferrerEmail(referrerEmail);
      args.setL1_userEmail(l1_userEmail);
      sendBase("addSalesAssociate", args);
    }

    public String recv_addSalesAssociate() throws org.apache.thrift.TException
    {
      addSalesAssociate_result result = new addSalesAssociate_result();
      receiveBase(result, "addSalesAssociate");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "addSalesAssociate failed: unknown result");
    }

    public List<Pmsa> searchPmsa(PmsaSearchFilter pmsaSearchFilter, String associateEmail) throws org.apache.thrift.TException
    {
      send_searchPmsa(pmsaSearchFilter, associateEmail);
      return recv_searchPmsa();
    }

    public void send_searchPmsa(PmsaSearchFilter pmsaSearchFilter, String associateEmail) throws org.apache.thrift.TException
    {
      searchPmsa_args args = new searchPmsa_args();
      args.setPmsaSearchFilter(pmsaSearchFilter);
      args.setAssociateEmail(associateEmail);
      sendBase("searchPmsa", args);
    }

    public List<Pmsa> recv_searchPmsa() throws org.apache.thrift.TException
    {
      searchPmsa_result result = new searchPmsa_result();
      receiveBase(result, "searchPmsa");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "searchPmsa failed: unknown result");
    }

    public Pmsa getPmsaUser(long id, String associateEmail) throws org.apache.thrift.TException
    {
      send_getPmsaUser(id, associateEmail);
      return recv_getPmsaUser();
    }

    public void send_getPmsaUser(long id, String associateEmail) throws org.apache.thrift.TException
    {
      getPmsaUser_args args = new getPmsaUser_args();
      args.setId(id);
      args.setAssociateEmail(associateEmail);
      sendBase("getPmsaUser", args);
    }

    public Pmsa recv_getPmsaUser() throws org.apache.thrift.TException
    {
      getPmsaUser_result result = new getPmsaUser_result();
      receiveBase(result, "getPmsaUser");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getPmsaUser failed: unknown result");
    }

    public String updatePmsaUser(Pmsa pmsa, String associateEmail) throws org.apache.thrift.TException
    {
      send_updatePmsaUser(pmsa, associateEmail);
      return recv_updatePmsaUser();
    }

    public void send_updatePmsaUser(Pmsa pmsa, String associateEmail) throws org.apache.thrift.TException
    {
      updatePmsaUser_args args = new updatePmsaUser_args();
      args.setPmsa(pmsa);
      args.setAssociateEmail(associateEmail);
      sendBase("updatePmsaUser", args);
    }

    public String recv_updatePmsaUser() throws org.apache.thrift.TException
    {
      updatePmsaUser_result result = new updatePmsaUser_result();
      receiveBase(result, "updatePmsaUser");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updatePmsaUser failed: unknown result");
    }

    public List<Pmsa> getPmsaUsers(String associateEmail) throws org.apache.thrift.TException
    {
      send_getPmsaUsers(associateEmail);
      return recv_getPmsaUsers();
    }

    public void send_getPmsaUsers(String associateEmail) throws org.apache.thrift.TException
    {
      getPmsaUsers_args args = new getPmsaUsers_args();
      args.setAssociateEmail(associateEmail);
      sendBase("getPmsaUsers", args);
    }

    public List<Pmsa> recv_getPmsaUsers() throws org.apache.thrift.TException
    {
      getPmsaUsers_result result = new getPmsaUsers_result();
      receiveBase(result, "getPmsaUsers");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getPmsaUsers failed: unknown result");
    }

    public List<Pmsa> getPendingAssociates(String associateEmail) throws org.apache.thrift.TException
    {
      send_getPendingAssociates(associateEmail);
      return recv_getPendingAssociates();
    }

    public void send_getPendingAssociates(String associateEmail) throws org.apache.thrift.TException
    {
      getPendingAssociates_args args = new getPendingAssociates_args();
      args.setAssociateEmail(associateEmail);
      sendBase("getPendingAssociates", args);
    }

    public List<Pmsa> recv_getPendingAssociates() throws org.apache.thrift.TException
    {
      getPendingAssociates_result result = new getPendingAssociates_result();
      receiveBase(result, "getPendingAssociates");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getPendingAssociates failed: unknown result");
    }

    public List<Long> getStatsForAssociates(String associateEmail) throws org.apache.thrift.TException
    {
      send_getStatsForAssociates(associateEmail);
      return recv_getStatsForAssociates();
    }

    public void send_getStatsForAssociates(String associateEmail) throws org.apache.thrift.TException
    {
      getStatsForAssociates_args args = new getStatsForAssociates_args();
      args.setAssociateEmail(associateEmail);
      sendBase("getStatsForAssociates", args);
    }

    public List<Long> recv_getStatsForAssociates() throws org.apache.thrift.TException
    {
      getStatsForAssociates_result result = new getStatsForAssociates_result();
      receiveBase(result, "getStatsForAssociates");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getStatsForAssociates failed: unknown result");
    }

    public Pmsa getmypmsaprofile(String associateEmail) throws org.apache.thrift.TException
    {
      send_getmypmsaprofile(associateEmail);
      return recv_getmypmsaprofile();
    }

    public void send_getmypmsaprofile(String associateEmail) throws org.apache.thrift.TException
    {
      getmypmsaprofile_args args = new getmypmsaprofile_args();
      args.setAssociateEmail(associateEmail);
      sendBase("getmypmsaprofile", args);
    }

    public Pmsa recv_getmypmsaprofile() throws org.apache.thrift.TException
    {
      getmypmsaprofile_result result = new getmypmsaprofile_result();
      receiveBase(result, "getmypmsaprofile");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getmypmsaprofile failed: unknown result");
    }

    public boolean creditUserWallet(long userId, long amount, double cash_back, String shortDesc) throws org.apache.thrift.TException
    {
      send_creditUserWallet(userId, amount, cash_back, shortDesc);
      return recv_creditUserWallet();
    }

    public void send_creditUserWallet(long userId, long amount, double cash_back, String shortDesc) throws org.apache.thrift.TException
    {
      creditUserWallet_args args = new creditUserWallet_args();
      args.setUserId(userId);
      args.setAmount(amount);
      args.setCash_back(cash_back);
      args.setShortDesc(shortDesc);
      sendBase("creditUserWallet", args);
    }

    public boolean recv_creditUserWallet() throws org.apache.thrift.TException
    {
      creditUserWallet_result result = new creditUserWallet_result();
      receiveBase(result, "creditUserWallet");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "creditUserWallet failed: unknown result");
    }

    public List<RechargeOrder> getPaginatedRechargeOrders(long userId, int offset, int limit) throws org.apache.thrift.TException
    {
      send_getPaginatedRechargeOrders(userId, offset, limit);
      return recv_getPaginatedRechargeOrders();
    }

    public void send_getPaginatedRechargeOrders(long userId, int offset, int limit) throws org.apache.thrift.TException
    {
      getPaginatedRechargeOrders_args args = new getPaginatedRechargeOrders_args();
      args.setUserId(userId);
      args.setOffset(offset);
      args.setLimit(limit);
      sendBase("getPaginatedRechargeOrders", args);
    }

    public List<RechargeOrder> recv_getPaginatedRechargeOrders() throws org.apache.thrift.TException
    {
      getPaginatedRechargeOrders_result result = new getPaginatedRechargeOrders_result();
      receiveBase(result, "getPaginatedRechargeOrders");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getPaginatedRechargeOrders failed: unknown result");
    }

    public boolean markOrderForRegisteredGstInvoice(List<Long> tranasction_ids) throws org.apache.thrift.TException
    {
      send_markOrderForRegisteredGstInvoice(tranasction_ids);
      return recv_markOrderForRegisteredGstInvoice();
    }

    public void send_markOrderForRegisteredGstInvoice(List<Long> tranasction_ids) throws org.apache.thrift.TException
    {
      markOrderForRegisteredGstInvoice_args args = new markOrderForRegisteredGstInvoice_args();
      args.setTranasction_ids(tranasction_ids);
      sendBase("markOrderForRegisteredGstInvoice", args);
    }

    public boolean recv_markOrderForRegisteredGstInvoice() throws org.apache.thrift.TException
    {
      markOrderForRegisteredGstInvoice_result result = new markOrderForRegisteredGstInvoice_result();
      receiveBase(result, "markOrderForRegisteredGstInvoice");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "markOrderForRegisteredGstInvoice failed: unknown result");
    }

    public boolean isShipmentCod(String logisticsTransactionId) throws org.apache.thrift.TException
    {
      send_isShipmentCod(logisticsTransactionId);
      return recv_isShipmentCod();
    }

    public void send_isShipmentCod(String logisticsTransactionId) throws org.apache.thrift.TException
    {
      isShipmentCod_args args = new isShipmentCod_args();
      args.setLogisticsTransactionId(logisticsTransactionId);
      sendBase("isShipmentCod", args);
    }

    public boolean recv_isShipmentCod() throws org.apache.thrift.TException
    {
      isShipmentCod_result result = new isShipmentCod_result();
      receiveBase(result, "isShipmentCod");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "isShipmentCod failed: unknown result");
    }

    public List<Order> getInTransitOrdersOnDate(long closingDate) throws org.apache.thrift.TException
    {
      send_getInTransitOrdersOnDate(closingDate);
      return recv_getInTransitOrdersOnDate();
    }

    public void send_getInTransitOrdersOnDate(long closingDate) throws org.apache.thrift.TException
    {
      getInTransitOrdersOnDate_args args = new getInTransitOrdersOnDate_args();
      args.setClosingDate(closingDate);
      sendBase("getInTransitOrdersOnDate", args);
    }

    public List<Order> recv_getInTransitOrdersOnDate() throws org.apache.thrift.TException
    {
      getInTransitOrdersOnDate_result result = new getInTransitOrdersOnDate_result();
      receiveBase(result, "getInTransitOrdersOnDate");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getInTransitOrdersOnDate failed: unknown result");
    }

    public List<Order> getInTransitOrdersOnDateByItemId(long closingDate, long itemId) throws org.apache.thrift.TException
    {
      send_getInTransitOrdersOnDateByItemId(closingDate, itemId);
      return recv_getInTransitOrdersOnDateByItemId();
    }

    public void send_getInTransitOrdersOnDateByItemId(long closingDate, long itemId) throws org.apache.thrift.TException
    {
      getInTransitOrdersOnDateByItemId_args args = new getInTransitOrdersOnDateByItemId_args();
      args.setClosingDate(closingDate);
      args.setItemId(itemId);
      sendBase("getInTransitOrdersOnDateByItemId", args);
    }

    public List<Order> recv_getInTransitOrdersOnDateByItemId() throws org.apache.thrift.TException
    {
      getInTransitOrdersOnDateByItemId_result result = new getInTransitOrdersOnDateByItemId_result();
      receiveBase(result, "getInTransitOrdersOnDateByItemId");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getInTransitOrdersOnDateByItemId failed: unknown result");
    }

    public boolean addPriceDrop(long item_id, List<String> imeis, double amount, long affected_on) throws org.apache.thrift.TException
    {
      send_addPriceDrop(item_id, imeis, amount, affected_on);
      return recv_addPriceDrop();
    }

    public void send_addPriceDrop(long item_id, List<String> imeis, double amount, long affected_on) throws org.apache.thrift.TException
    {
      addPriceDrop_args args = new addPriceDrop_args();
      args.setItem_id(item_id);
      args.setImeis(imeis);
      args.setAmount(amount);
      args.setAffected_on(affected_on);
      sendBase("addPriceDrop", args);
    }

    public boolean recv_addPriceDrop() throws org.apache.thrift.TException
    {
      addPriceDrop_result result = new addPriceDrop_result();
      receiveBase(result, "addPriceDrop");
      if (result.isSetSuccess()) {
        return result.success;
      }
      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "addPriceDrop failed: unknown result");
    }

  }
  public static class AsyncClient extends in.shop2020.generic.GenericService.AsyncClient implements AsyncIface {
    public static class Factory implements org.apache.thrift.async.TAsyncClientFactory<AsyncClient> {
      private org.apache.thrift.async.TAsyncClientManager clientManager;
      private org.apache.thrift.protocol.TProtocolFactory protocolFactory;
      public Factory(org.apache.thrift.async.TAsyncClientManager clientManager, org.apache.thrift.protocol.TProtocolFactory protocolFactory) {
        this.clientManager = clientManager;
        this.protocolFactory = protocolFactory;
      }
      public AsyncClient getAsyncClient(org.apache.thrift.transport.TNonblockingTransport transport) {
        return new AsyncClient(protocolFactory, clientManager, transport);
      }
    }

    public AsyncClient(org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.async.TAsyncClientManager clientManager, org.apache.thrift.transport.TNonblockingTransport transport) {
      super(protocolFactory, clientManager, transport);
    }

    public void createTransaction(Transaction transaction, org.apache.thrift.async.AsyncMethodCallback<createTransaction_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      createTransaction_call method_call = new createTransaction_call(transaction, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class createTransaction_call extends org.apache.thrift.async.TAsyncMethodCall {
      private Transaction transaction;
      public createTransaction_call(Transaction transaction, org.apache.thrift.async.AsyncMethodCallback<createTransaction_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.transaction = transaction;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("createTransaction", org.apache.thrift.protocol.TMessageType.CALL, 0));
        createTransaction_args args = new createTransaction_args();
        args.setTransaction(transaction);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public long getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_createTransaction();
      }
    }

    public void getTransaction(long id, org.apache.thrift.async.AsyncMethodCallback<getTransaction_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getTransaction_call method_call = new getTransaction_call(id, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getTransaction_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long id;
      public getTransaction_call(long id, org.apache.thrift.async.AsyncMethodCallback<getTransaction_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.id = id;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getTransaction", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getTransaction_args args = new getTransaction_args();
        args.setId(id);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public Transaction getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getTransaction();
      }
    }

    public void getTransactionsForCustomer(long customerId, long from_date, long to_date, TransactionStatus status, org.apache.thrift.async.AsyncMethodCallback<getTransactionsForCustomer_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getTransactionsForCustomer_call method_call = new getTransactionsForCustomer_call(customerId, from_date, to_date, status, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getTransactionsForCustomer_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long customerId;
      private long from_date;
      private long to_date;
      private TransactionStatus status;
      public getTransactionsForCustomer_call(long customerId, long from_date, long to_date, TransactionStatus status, org.apache.thrift.async.AsyncMethodCallback<getTransactionsForCustomer_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.customerId = customerId;
        this.from_date = from_date;
        this.to_date = to_date;
        this.status = status;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getTransactionsForCustomer", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getTransactionsForCustomer_args args = new getTransactionsForCustomer_args();
        args.setCustomerId(customerId);
        args.setFrom_date(from_date);
        args.setTo_date(to_date);
        args.setStatus(status);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<Transaction> getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getTransactionsForCustomer();
      }
    }

    public void getTransactionsForShoppingCartId(long shoppingCartId, org.apache.thrift.async.AsyncMethodCallback<getTransactionsForShoppingCartId_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getTransactionsForShoppingCartId_call method_call = new getTransactionsForShoppingCartId_call(shoppingCartId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getTransactionsForShoppingCartId_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long shoppingCartId;
      public getTransactionsForShoppingCartId_call(long shoppingCartId, org.apache.thrift.async.AsyncMethodCallback<getTransactionsForShoppingCartId_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.shoppingCartId = shoppingCartId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getTransactionsForShoppingCartId", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getTransactionsForShoppingCartId_args args = new getTransactionsForShoppingCartId_args();
        args.setShoppingCartId(shoppingCartId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<Transaction> getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getTransactionsForShoppingCartId();
      }
    }

    public void getTransactionStatus(long transactionId, org.apache.thrift.async.AsyncMethodCallback<getTransactionStatus_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getTransactionStatus_call method_call = new getTransactionStatus_call(transactionId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getTransactionStatus_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long transactionId;
      public getTransactionStatus_call(long transactionId, org.apache.thrift.async.AsyncMethodCallback<getTransactionStatus_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.transactionId = transactionId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getTransactionStatus", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getTransactionStatus_args args = new getTransactionStatus_args();
        args.setTransactionId(transactionId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public TransactionStatus getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getTransactionStatus();
      }
    }

    public void changeTransactionStatus(long transactionId, TransactionStatus status, String description, long pickUp, OrderType orderType, OrderSource source, org.apache.thrift.async.AsyncMethodCallback<changeTransactionStatus_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      changeTransactionStatus_call method_call = new changeTransactionStatus_call(transactionId, status, description, pickUp, orderType, source, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class changeTransactionStatus_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long transactionId;
      private TransactionStatus status;
      private String description;
      private long pickUp;
      private OrderType orderType;
      private OrderSource source;
      public changeTransactionStatus_call(long transactionId, TransactionStatus status, String description, long pickUp, OrderType orderType, OrderSource source, org.apache.thrift.async.AsyncMethodCallback<changeTransactionStatus_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.transactionId = transactionId;
        this.status = status;
        this.description = description;
        this.pickUp = pickUp;
        this.orderType = orderType;
        this.source = source;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("changeTransactionStatus", org.apache.thrift.protocol.TMessageType.CALL, 0));
        changeTransactionStatus_args args = new changeTransactionStatus_args();
        args.setTransactionId(transactionId);
        args.setStatus(status);
        args.setDescription(description);
        args.setPickUp(pickUp);
        args.setOrderType(orderType);
        args.setSource(source);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public boolean getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_changeTransactionStatus();
      }
    }

    public void enqueueTransactionInfoEmail(long transactionId, org.apache.thrift.async.AsyncMethodCallback<enqueueTransactionInfoEmail_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      enqueueTransactionInfoEmail_call method_call = new enqueueTransactionInfoEmail_call(transactionId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class enqueueTransactionInfoEmail_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long transactionId;
      public enqueueTransactionInfoEmail_call(long transactionId, org.apache.thrift.async.AsyncMethodCallback<enqueueTransactionInfoEmail_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.transactionId = transactionId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("enqueueTransactionInfoEmail", org.apache.thrift.protocol.TMessageType.CALL, 0));
        enqueueTransactionInfoEmail_args args = new enqueueTransactionInfoEmail_args();
        args.setTransactionId(transactionId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public boolean getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_enqueueTransactionInfoEmail();
      }
    }

    public void getAllOrders(List<OrderStatus> statuses, long from_date, long to_date, long warehouse_id, org.apache.thrift.async.AsyncMethodCallback<getAllOrders_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getAllOrders_call method_call = new getAllOrders_call(statuses, from_date, to_date, warehouse_id, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getAllOrders_call extends org.apache.thrift.async.TAsyncMethodCall {
      private List<OrderStatus> statuses;
      private long from_date;
      private long to_date;
      private long warehouse_id;
      public getAllOrders_call(List<OrderStatus> statuses, long from_date, long to_date, long warehouse_id, org.apache.thrift.async.AsyncMethodCallback<getAllOrders_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.statuses = statuses;
        this.from_date = from_date;
        this.to_date = to_date;
        this.warehouse_id = warehouse_id;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAllOrders", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getAllOrders_args args = new getAllOrders_args();
        args.setStatuses(statuses);
        args.setFrom_date(from_date);
        args.setTo_date(to_date);
        args.setWarehouse_id(warehouse_id);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<Order> getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getAllOrders();
      }
    }

    public void getOrdersInBatch(List<OrderStatus> statuses, long offset, long limit, long warehouse_id, long source, org.apache.thrift.async.AsyncMethodCallback<getOrdersInBatch_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getOrdersInBatch_call method_call = new getOrdersInBatch_call(statuses, offset, limit, warehouse_id, source, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getOrdersInBatch_call extends org.apache.thrift.async.TAsyncMethodCall {
      private List<OrderStatus> statuses;
      private long offset;
      private long limit;
      private long warehouse_id;
      private long source;
      public getOrdersInBatch_call(List<OrderStatus> statuses, long offset, long limit, long warehouse_id, long source, org.apache.thrift.async.AsyncMethodCallback<getOrdersInBatch_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.statuses = statuses;
        this.offset = offset;
        this.limit = limit;
        this.warehouse_id = warehouse_id;
        this.source = source;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getOrdersInBatch", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getOrdersInBatch_args args = new getOrdersInBatch_args();
        args.setStatuses(statuses);
        args.setOffset(offset);
        args.setLimit(limit);
        args.setWarehouse_id(warehouse_id);
        args.setSource(source);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<Order> getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getOrdersInBatch();
      }
    }

    public void getOrderCount(List<OrderStatus> statuses, long warehouseId, long source, org.apache.thrift.async.AsyncMethodCallback<getOrderCount_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getOrderCount_call method_call = new getOrderCount_call(statuses, warehouseId, source, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getOrderCount_call extends org.apache.thrift.async.TAsyncMethodCall {
      private List<OrderStatus> statuses;
      private long warehouseId;
      private long source;
      public getOrderCount_call(List<OrderStatus> statuses, long warehouseId, long source, org.apache.thrift.async.AsyncMethodCallback<getOrderCount_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.statuses = statuses;
        this.warehouseId = warehouseId;
        this.source = source;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getOrderCount", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getOrderCount_args args = new getOrderCount_args();
        args.setStatuses(statuses);
        args.setWarehouseId(warehouseId);
        args.setSource(source);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public int getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getOrderCount();
      }
    }

    public void getOrdersByBillingDate(OrderStatus status, long start_billing_date, long end_billing_date, long warehouse_id, org.apache.thrift.async.AsyncMethodCallback<getOrdersByBillingDate_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getOrdersByBillingDate_call method_call = new getOrdersByBillingDate_call(status, start_billing_date, end_billing_date, warehouse_id, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getOrdersByBillingDate_call extends org.apache.thrift.async.TAsyncMethodCall {
      private OrderStatus status;
      private long start_billing_date;
      private long end_billing_date;
      private long warehouse_id;
      public getOrdersByBillingDate_call(OrderStatus status, long start_billing_date, long end_billing_date, long warehouse_id, org.apache.thrift.async.AsyncMethodCallback<getOrdersByBillingDate_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.status = status;
        this.start_billing_date = start_billing_date;
        this.end_billing_date = end_billing_date;
        this.warehouse_id = warehouse_id;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getOrdersByBillingDate", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getOrdersByBillingDate_args args = new getOrdersByBillingDate_args();
        args.setStatus(status);
        args.setStart_billing_date(start_billing_date);
        args.setEnd_billing_date(end_billing_date);
        args.setWarehouse_id(warehouse_id);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<Order> getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getOrdersByBillingDate();
      }
    }

    public void getOrdersByShippingDate(long fromShippingDate, long toShippingDate, long providerId, long warehouseId, boolean cod, org.apache.thrift.async.AsyncMethodCallback<getOrdersByShippingDate_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getOrdersByShippingDate_call method_call = new getOrdersByShippingDate_call(fromShippingDate, toShippingDate, providerId, warehouseId, cod, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getOrdersByShippingDate_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long fromShippingDate;
      private long toShippingDate;
      private long providerId;
      private long warehouseId;
      private boolean cod;
      public getOrdersByShippingDate_call(long fromShippingDate, long toShippingDate, long providerId, long warehouseId, boolean cod, org.apache.thrift.async.AsyncMethodCallback<getOrdersByShippingDate_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.fromShippingDate = fromShippingDate;
        this.toShippingDate = toShippingDate;
        this.providerId = providerId;
        this.warehouseId = warehouseId;
        this.cod = cod;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getOrdersByShippingDate", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getOrdersByShippingDate_args args = new getOrdersByShippingDate_args();
        args.setFromShippingDate(fromShippingDate);
        args.setToShippingDate(toShippingDate);
        args.setProviderId(providerId);
        args.setWarehouseId(warehouseId);
        args.setCod(cod);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<Order> getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getOrdersByShippingDate();
      }
    }

    public void getReturnableOrdersForCustomer(long customer_id, long limit, org.apache.thrift.async.AsyncMethodCallback<getReturnableOrdersForCustomer_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getReturnableOrdersForCustomer_call method_call = new getReturnableOrdersForCustomer_call(customer_id, limit, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getReturnableOrdersForCustomer_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long customer_id;
      private long limit;
      public getReturnableOrdersForCustomer_call(long customer_id, long limit, org.apache.thrift.async.AsyncMethodCallback<getReturnableOrdersForCustomer_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.customer_id = customer_id;
        this.limit = limit;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getReturnableOrdersForCustomer", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getReturnableOrdersForCustomer_args args = new getReturnableOrdersForCustomer_args();
        args.setCustomer_id(customer_id);
        args.setLimit(limit);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<Long> getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getReturnableOrdersForCustomer();
      }
    }

    public void getCancellableOrdersForCustomer(long customer_id, long limit, org.apache.thrift.async.AsyncMethodCallback<getCancellableOrdersForCustomer_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getCancellableOrdersForCustomer_call method_call = new getCancellableOrdersForCustomer_call(customer_id, limit, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getCancellableOrdersForCustomer_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long customer_id;
      private long limit;
      public getCancellableOrdersForCustomer_call(long customer_id, long limit, org.apache.thrift.async.AsyncMethodCallback<getCancellableOrdersForCustomer_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.customer_id = customer_id;
        this.limit = limit;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getCancellableOrdersForCustomer", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getCancellableOrdersForCustomer_args args = new getCancellableOrdersForCustomer_args();
        args.setCustomer_id(customer_id);
        args.setLimit(limit);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<Long> getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getCancellableOrdersForCustomer();
      }
    }

    public void changeOrderStatus(long orderId, OrderStatus status, String description, org.apache.thrift.async.AsyncMethodCallback<changeOrderStatus_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      changeOrderStatus_call method_call = new changeOrderStatus_call(orderId, status, description, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class changeOrderStatus_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long orderId;
      private OrderStatus status;
      private String description;
      public changeOrderStatus_call(long orderId, OrderStatus status, String description, org.apache.thrift.async.AsyncMethodCallback<changeOrderStatus_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.orderId = orderId;
        this.status = status;
        this.description = description;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("changeOrderStatus", org.apache.thrift.protocol.TMessageType.CALL, 0));
        changeOrderStatus_args args = new changeOrderStatus_args();
        args.setOrderId(orderId);
        args.setStatus(status);
        args.setDescription(description);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public boolean getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_changeOrderStatus();
      }
    }

    public void getOrdersForTransaction(long transactionId, long customerId, org.apache.thrift.async.AsyncMethodCallback<getOrdersForTransaction_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getOrdersForTransaction_call method_call = new getOrdersForTransaction_call(transactionId, customerId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getOrdersForTransaction_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long transactionId;
      private long customerId;
      public getOrdersForTransaction_call(long transactionId, long customerId, org.apache.thrift.async.AsyncMethodCallback<getOrdersForTransaction_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.transactionId = transactionId;
        this.customerId = customerId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getOrdersForTransaction", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getOrdersForTransaction_args args = new getOrdersForTransaction_args();
        args.setTransactionId(transactionId);
        args.setCustomerId(customerId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<Order> getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getOrdersForTransaction();
      }
    }

    public void getOrdersForCustomer(long customerId, long from_date, long to_date, List<OrderStatus> statuses, org.apache.thrift.async.AsyncMethodCallback<getOrdersForCustomer_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getOrdersForCustomer_call method_call = new getOrdersForCustomer_call(customerId, from_date, to_date, statuses, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getOrdersForCustomer_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long customerId;
      private long from_date;
      private long to_date;
      private List<OrderStatus> statuses;
      public getOrdersForCustomer_call(long customerId, long from_date, long to_date, List<OrderStatus> statuses, org.apache.thrift.async.AsyncMethodCallback<getOrdersForCustomer_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.customerId = customerId;
        this.from_date = from_date;
        this.to_date = to_date;
        this.statuses = statuses;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getOrdersForCustomer", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getOrdersForCustomer_args args = new getOrdersForCustomer_args();
        args.setCustomerId(customerId);
        args.setFrom_date(from_date);
        args.setTo_date(to_date);
        args.setStatuses(statuses);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<Order> getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getOrdersForCustomer();
      }
    }

    public void createOrder(Order order, org.apache.thrift.async.AsyncMethodCallback<createOrder_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      createOrder_call method_call = new createOrder_call(order, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class createOrder_call extends org.apache.thrift.async.TAsyncMethodCall {
      private Order order;
      public createOrder_call(Order order, org.apache.thrift.async.AsyncMethodCallback<createOrder_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.order = order;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("createOrder", org.apache.thrift.protocol.TMessageType.CALL, 0));
        createOrder_args args = new createOrder_args();
        args.setOrder(order);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public long getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_createOrder();
      }
    }

    public void getOrder(long id, org.apache.thrift.async.AsyncMethodCallback<getOrder_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getOrder_call method_call = new getOrder_call(id, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getOrder_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long id;
      public getOrder_call(long id, org.apache.thrift.async.AsyncMethodCallback<getOrder_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.id = id;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getOrder", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getOrder_args args = new getOrder_args();
        args.setId(id);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public Order getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getOrder();
      }
    }

    public void getLineItemsForOrder(long orderId, org.apache.thrift.async.AsyncMethodCallback<getLineItemsForOrder_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getLineItemsForOrder_call method_call = new getLineItemsForOrder_call(orderId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getLineItemsForOrder_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long orderId;
      public getLineItemsForOrder_call(long orderId, org.apache.thrift.async.AsyncMethodCallback<getLineItemsForOrder_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.orderId = orderId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getLineItemsForOrder", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getLineItemsForOrder_args args = new getLineItemsForOrder_args();
        args.setOrderId(orderId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<LineItem> getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getLineItemsForOrder();
      }
    }

    public void getOrderList(List<Long> order_ids, org.apache.thrift.async.AsyncMethodCallback<getOrderList_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getOrderList_call method_call = new getOrderList_call(order_ids, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getOrderList_call extends org.apache.thrift.async.TAsyncMethodCall {
      private List<Long> order_ids;
      public getOrderList_call(List<Long> order_ids, org.apache.thrift.async.AsyncMethodCallback<getOrderList_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.order_ids = order_ids;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getOrderList", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getOrderList_args args = new getOrderList_args();
        args.setOrder_ids(order_ids);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<Order> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getOrderList();
      }
    }

    public void getOrderListForVendor(List<Long> order_ids, long vendorId, org.apache.thrift.async.AsyncMethodCallback<getOrderListForVendor_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getOrderListForVendor_call method_call = new getOrderListForVendor_call(order_ids, vendorId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getOrderListForVendor_call extends org.apache.thrift.async.TAsyncMethodCall {
      private List<Long> order_ids;
      private long vendorId;
      public getOrderListForVendor_call(List<Long> order_ids, long vendorId, org.apache.thrift.async.AsyncMethodCallback<getOrderListForVendor_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.order_ids = order_ids;
        this.vendorId = vendorId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getOrderListForVendor", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getOrderListForVendor_args args = new getOrderListForVendor_args();
        args.setOrder_ids(order_ids);
        args.setVendorId(vendorId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<Order> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getOrderListForVendor();
      }
    }

    public void getOrderForCustomer(long orderId, long customerId, org.apache.thrift.async.AsyncMethodCallback<getOrderForCustomer_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getOrderForCustomer_call method_call = new getOrderForCustomer_call(orderId, customerId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getOrderForCustomer_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long orderId;
      private long customerId;
      public getOrderForCustomer_call(long orderId, long customerId, org.apache.thrift.async.AsyncMethodCallback<getOrderForCustomer_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.orderId = orderId;
        this.customerId = customerId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getOrderForCustomer", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getOrderForCustomer_args args = new getOrderForCustomer_args();
        args.setOrderId(orderId);
        args.setCustomerId(customerId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public Order getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getOrderForCustomer();
      }
    }

    public void getAlerts(long type, long warehouseId, long status, long timestamp, org.apache.thrift.async.AsyncMethodCallback<getAlerts_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getAlerts_call method_call = new getAlerts_call(type, warehouseId, status, timestamp, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getAlerts_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long type;
      private long warehouseId;
      private long status;
      private long timestamp;
      public getAlerts_call(long type, long warehouseId, long status, long timestamp, org.apache.thrift.async.AsyncMethodCallback<getAlerts_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.type = type;
        this.warehouseId = warehouseId;
        this.status = status;
        this.timestamp = timestamp;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAlerts", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getAlerts_args args = new getAlerts_args();
        args.setType(type);
        args.setWarehouseId(warehouseId);
        args.setStatus(status);
        args.setTimestamp(timestamp);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<Alert> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getAlerts();
      }
    }

    public void addAlert(long type, long warehouseId, String description, org.apache.thrift.async.AsyncMethodCallback<addAlert_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      addAlert_call method_call = new addAlert_call(type, warehouseId, description, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class addAlert_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long type;
      private long warehouseId;
      private String description;
      public addAlert_call(long type, long warehouseId, String description, org.apache.thrift.async.AsyncMethodCallback<addAlert_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.type = type;
        this.warehouseId = warehouseId;
        this.description = description;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addAlert", org.apache.thrift.protocol.TMessageType.CALL, 0));
        addAlert_args args = new addAlert_args();
        args.setType(type);
        args.setWarehouseId(warehouseId);
        args.setDescription(description);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_addAlert();
      }
    }

    public void markAlertsAsSeen(long warehouseId, org.apache.thrift.async.AsyncMethodCallback<markAlertsAsSeen_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      markAlertsAsSeen_call method_call = new markAlertsAsSeen_call(warehouseId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class markAlertsAsSeen_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long warehouseId;
      public markAlertsAsSeen_call(long warehouseId, org.apache.thrift.async.AsyncMethodCallback<markAlertsAsSeen_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.warehouseId = warehouseId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("markAlertsAsSeen", org.apache.thrift.protocol.TMessageType.CALL, 0));
        markAlertsAsSeen_args args = new markAlertsAsSeen_args();
        args.setWarehouseId(warehouseId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_markAlertsAsSeen();
      }
    }

    public void getValidOrderCount(org.apache.thrift.async.AsyncMethodCallback<getValidOrderCount_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getValidOrderCount_call method_call = new getValidOrderCount_call(resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getValidOrderCount_call extends org.apache.thrift.async.TAsyncMethodCall {
      public getValidOrderCount_call(org.apache.thrift.async.AsyncMethodCallback<getValidOrderCount_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getValidOrderCount", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getValidOrderCount_args args = new getValidOrderCount_args();
        args.write(prot);
        prot.writeMessageEnd();
      }

      public long getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getValidOrderCount();
      }
    }

    public void getNoOfCustomersWithSuccessfulTransaction(org.apache.thrift.async.AsyncMethodCallback<getNoOfCustomersWithSuccessfulTransaction_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getNoOfCustomersWithSuccessfulTransaction_call method_call = new getNoOfCustomersWithSuccessfulTransaction_call(resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getNoOfCustomersWithSuccessfulTransaction_call extends org.apache.thrift.async.TAsyncMethodCall {
      public getNoOfCustomersWithSuccessfulTransaction_call(org.apache.thrift.async.AsyncMethodCallback<getNoOfCustomersWithSuccessfulTransaction_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getNoOfCustomersWithSuccessfulTransaction", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getNoOfCustomersWithSuccessfulTransaction_args args = new getNoOfCustomersWithSuccessfulTransaction_args();
        args.write(prot);
        prot.writeMessageEnd();
      }

      public long getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getNoOfCustomersWithSuccessfulTransaction();
      }
    }

    public void getValidOrdersAmountRange(org.apache.thrift.async.AsyncMethodCallback<getValidOrdersAmountRange_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getValidOrdersAmountRange_call method_call = new getValidOrdersAmountRange_call(resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getValidOrdersAmountRange_call extends org.apache.thrift.async.TAsyncMethodCall {
      public getValidOrdersAmountRange_call(org.apache.thrift.async.AsyncMethodCallback<getValidOrdersAmountRange_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getValidOrdersAmountRange", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getValidOrdersAmountRange_args args = new getValidOrdersAmountRange_args();
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<Double> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getValidOrdersAmountRange();
      }
    }

    public void getValidOrders(long limit, boolean onlyStore, org.apache.thrift.async.AsyncMethodCallback<getValidOrders_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getValidOrders_call method_call = new getValidOrders_call(limit, onlyStore, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getValidOrders_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long limit;
      private boolean onlyStore;
      public getValidOrders_call(long limit, boolean onlyStore, org.apache.thrift.async.AsyncMethodCallback<getValidOrders_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.limit = limit;
        this.onlyStore = onlyStore;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getValidOrders", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getValidOrders_args args = new getValidOrders_args();
        args.setLimit(limit);
        args.setOnlyStore(onlyStore);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<Order> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getValidOrders();
      }
    }

    public void batchOrders(long warehouseId, org.apache.thrift.async.AsyncMethodCallback<batchOrders_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      batchOrders_call method_call = new batchOrders_call(warehouseId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class batchOrders_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long warehouseId;
      public batchOrders_call(long warehouseId, org.apache.thrift.async.AsyncMethodCallback<batchOrders_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.warehouseId = warehouseId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("batchOrders", org.apache.thrift.protocol.TMessageType.CALL, 0));
        batchOrders_args args = new batchOrders_args();
        args.setWarehouseId(warehouseId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<Order> getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_batchOrders();
      }
    }

    public void markOrderAsOutOfStock(long orderId, org.apache.thrift.async.AsyncMethodCallback<markOrderAsOutOfStock_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      markOrderAsOutOfStock_call method_call = new markOrderAsOutOfStock_call(orderId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class markOrderAsOutOfStock_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long orderId;
      public markOrderAsOutOfStock_call(long orderId, org.apache.thrift.async.AsyncMethodCallback<markOrderAsOutOfStock_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.orderId = orderId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("markOrderAsOutOfStock", org.apache.thrift.protocol.TMessageType.CALL, 0));
        markOrderAsOutOfStock_args args = new markOrderAsOutOfStock_args();
        args.setOrderId(orderId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public boolean getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_markOrderAsOutOfStock();
      }
    }

    public void verifyOrder(long orderId, org.apache.thrift.async.AsyncMethodCallback<verifyOrder_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      verifyOrder_call method_call = new verifyOrder_call(orderId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class verifyOrder_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long orderId;
      public verifyOrder_call(long orderId, org.apache.thrift.async.AsyncMethodCallback<verifyOrder_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.orderId = orderId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("verifyOrder", org.apache.thrift.protocol.TMessageType.CALL, 0));
        verifyOrder_args args = new verifyOrder_args();
        args.setOrderId(orderId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public boolean getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_verifyOrder();
      }
    }

    public void acceptOrder(long orderId, org.apache.thrift.async.AsyncMethodCallback<acceptOrder_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      acceptOrder_call method_call = new acceptOrder_call(orderId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class acceptOrder_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long orderId;
      public acceptOrder_call(long orderId, org.apache.thrift.async.AsyncMethodCallback<acceptOrder_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.orderId = orderId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("acceptOrder", org.apache.thrift.protocol.TMessageType.CALL, 0));
        acceptOrder_args args = new acceptOrder_args();
        args.setOrderId(orderId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public boolean getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_acceptOrder();
      }
    }

    public void unacceptOrder(long orderId, org.apache.thrift.async.AsyncMethodCallback<unacceptOrder_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      unacceptOrder_call method_call = new unacceptOrder_call(orderId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class unacceptOrder_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long orderId;
      public unacceptOrder_call(long orderId, org.apache.thrift.async.AsyncMethodCallback<unacceptOrder_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.orderId = orderId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("unacceptOrder", org.apache.thrift.protocol.TMessageType.CALL, 0));
        unacceptOrder_args args = new unacceptOrder_args();
        args.setOrderId(orderId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public boolean getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_unacceptOrder();
      }
    }

    public void addBillingDetails(long orderId, String invoice_number, List<String> serialNumber, List<String> itemNumber, long freebieWarehouseId, String billed_by, long jacketNumber, long billingType, long fulfilmentWarehouseId, boolean authorize, org.apache.thrift.async.AsyncMethodCallback<addBillingDetails_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      addBillingDetails_call method_call = new addBillingDetails_call(orderId, invoice_number, serialNumber, itemNumber, freebieWarehouseId, billed_by, jacketNumber, billingType, fulfilmentWarehouseId, authorize, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class addBillingDetails_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long orderId;
      private String invoice_number;
      private List<String> serialNumber;
      private List<String> itemNumber;
      private long freebieWarehouseId;
      private String billed_by;
      private long jacketNumber;
      private long billingType;
      private long fulfilmentWarehouseId;
      private boolean authorize;
      public addBillingDetails_call(long orderId, String invoice_number, List<String> serialNumber, List<String> itemNumber, long freebieWarehouseId, String billed_by, long jacketNumber, long billingType, long fulfilmentWarehouseId, boolean authorize, org.apache.thrift.async.AsyncMethodCallback<addBillingDetails_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.orderId = orderId;
        this.invoice_number = invoice_number;
        this.serialNumber = serialNumber;
        this.itemNumber = itemNumber;
        this.freebieWarehouseId = freebieWarehouseId;
        this.billed_by = billed_by;
        this.jacketNumber = jacketNumber;
        this.billingType = billingType;
        this.fulfilmentWarehouseId = fulfilmentWarehouseId;
        this.authorize = authorize;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addBillingDetails", org.apache.thrift.protocol.TMessageType.CALL, 0));
        addBillingDetails_args args = new addBillingDetails_args();
        args.setOrderId(orderId);
        args.setInvoice_number(invoice_number);
        args.setSerialNumber(serialNumber);
        args.setItemNumber(itemNumber);
        args.setFreebieWarehouseId(freebieWarehouseId);
        args.setBilled_by(billed_by);
        args.setJacketNumber(jacketNumber);
        args.setBillingType(billingType);
        args.setFulfilmentWarehouseId(fulfilmentWarehouseId);
        args.setAuthorize(authorize);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public boolean getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_addBillingDetails();
      }
    }

    public void addInvoiceNumber(long orderId, String invoiceNumber, String color, String serialNumber, String itemNumber, org.apache.thrift.async.AsyncMethodCallback<addInvoiceNumber_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      addInvoiceNumber_call method_call = new addInvoiceNumber_call(orderId, invoiceNumber, color, serialNumber, itemNumber, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class addInvoiceNumber_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long orderId;
      private String invoiceNumber;
      private String color;
      private String serialNumber;
      private String itemNumber;
      public addInvoiceNumber_call(long orderId, String invoiceNumber, String color, String serialNumber, String itemNumber, org.apache.thrift.async.AsyncMethodCallback<addInvoiceNumber_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.orderId = orderId;
        this.invoiceNumber = invoiceNumber;
        this.color = color;
        this.serialNumber = serialNumber;
        this.itemNumber = itemNumber;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addInvoiceNumber", org.apache.thrift.protocol.TMessageType.CALL, 0));
        addInvoiceNumber_args args = new addInvoiceNumber_args();
        args.setOrderId(orderId);
        args.setInvoiceNumber(invoiceNumber);
        args.setColor(color);
        args.setSerialNumber(serialNumber);
        args.setItemNumber(itemNumber);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_addInvoiceNumber();
      }
    }

    public void markOrdersAsShippedFromWarehouse(long warehouseId, long providerId, boolean cod, List<Long> orderIds, org.apache.thrift.async.AsyncMethodCallback<markOrdersAsShippedFromWarehouse_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      markOrdersAsShippedFromWarehouse_call method_call = new markOrdersAsShippedFromWarehouse_call(warehouseId, providerId, cod, orderIds, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class markOrdersAsShippedFromWarehouse_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long warehouseId;
      private long providerId;
      private boolean cod;
      private List<Long> orderIds;
      public markOrdersAsShippedFromWarehouse_call(long warehouseId, long providerId, boolean cod, List<Long> orderIds, org.apache.thrift.async.AsyncMethodCallback<markOrdersAsShippedFromWarehouse_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.warehouseId = warehouseId;
        this.providerId = providerId;
        this.cod = cod;
        this.orderIds = orderIds;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("markOrdersAsShippedFromWarehouse", org.apache.thrift.protocol.TMessageType.CALL, 0));
        markOrdersAsShippedFromWarehouse_args args = new markOrdersAsShippedFromWarehouse_args();
        args.setWarehouseId(warehouseId);
        args.setProviderId(providerId);
        args.setCod(cod);
        args.setOrderIds(orderIds);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public boolean getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_markOrdersAsShippedFromWarehouse();
      }
    }

    public void markOrdersAsReturnedFromStore(long providerId, List<Long> orderIds, List<String> awbs, org.apache.thrift.async.AsyncMethodCallback<markOrdersAsReturnedFromStore_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      markOrdersAsReturnedFromStore_call method_call = new markOrdersAsReturnedFromStore_call(providerId, orderIds, awbs, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class markOrdersAsReturnedFromStore_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long providerId;
      private List<Long> orderIds;
      private List<String> awbs;
      public markOrdersAsReturnedFromStore_call(long providerId, List<Long> orderIds, List<String> awbs, org.apache.thrift.async.AsyncMethodCallback<markOrdersAsReturnedFromStore_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.providerId = providerId;
        this.orderIds = orderIds;
        this.awbs = awbs;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("markOrdersAsReturnedFromStore", org.apache.thrift.protocol.TMessageType.CALL, 0));
        markOrdersAsReturnedFromStore_args args = new markOrdersAsReturnedFromStore_args();
        args.setProviderId(providerId);
        args.setOrderIds(orderIds);
        args.setAwbs(awbs);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public boolean getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_markOrdersAsReturnedFromStore();
      }
    }

    public void markOrdersAsPickedUp(long providerId, Map<String,String> pickupDetails, org.apache.thrift.async.AsyncMethodCallback<markOrdersAsPickedUp_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      markOrdersAsPickedUp_call method_call = new markOrdersAsPickedUp_call(providerId, pickupDetails, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class markOrdersAsPickedUp_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long providerId;
      private Map<String,String> pickupDetails;
      public markOrdersAsPickedUp_call(long providerId, Map<String,String> pickupDetails, org.apache.thrift.async.AsyncMethodCallback<markOrdersAsPickedUp_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.providerId = providerId;
        this.pickupDetails = pickupDetails;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("markOrdersAsPickedUp", org.apache.thrift.protocol.TMessageType.CALL, 0));
        markOrdersAsPickedUp_args args = new markOrdersAsPickedUp_args();
        args.setProviderId(providerId);
        args.setPickupDetails(pickupDetails);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_markOrdersAsPickedUp();
      }
    }

    public void getOrdersNotPickedUp(long providerId, org.apache.thrift.async.AsyncMethodCallback<getOrdersNotPickedUp_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getOrdersNotPickedUp_call method_call = new getOrdersNotPickedUp_call(providerId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getOrdersNotPickedUp_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long providerId;
      public getOrdersNotPickedUp_call(long providerId, org.apache.thrift.async.AsyncMethodCallback<getOrdersNotPickedUp_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.providerId = providerId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getOrdersNotPickedUp", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getOrdersNotPickedUp_args args = new getOrdersNotPickedUp_args();
        args.setProviderId(providerId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<Order> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getOrdersNotPickedUp();
      }
    }

    public void markOrdersAsDelivered(long providerId, Map<String,String> deliveredOrders, org.apache.thrift.async.AsyncMethodCallback<markOrdersAsDelivered_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      markOrdersAsDelivered_call method_call = new markOrdersAsDelivered_call(providerId, deliveredOrders, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class markOrdersAsDelivered_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long providerId;
      private Map<String,String> deliveredOrders;
      public markOrdersAsDelivered_call(long providerId, Map<String,String> deliveredOrders, org.apache.thrift.async.AsyncMethodCallback<markOrdersAsDelivered_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.providerId = providerId;
        this.deliveredOrders = deliveredOrders;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("markOrdersAsDelivered", org.apache.thrift.protocol.TMessageType.CALL, 0));
        markOrdersAsDelivered_args args = new markOrdersAsDelivered_args();
        args.setProviderId(providerId);
        args.setDeliveredOrders(deliveredOrders);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_markOrdersAsDelivered();
      }
    }

    public void markAsRTOrders(long providerId, Map<String,String> returnedOrders, org.apache.thrift.async.AsyncMethodCallback<markAsRTOrders_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      markAsRTOrders_call method_call = new markAsRTOrders_call(providerId, returnedOrders, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class markAsRTOrders_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long providerId;
      private Map<String,String> returnedOrders;
      public markAsRTOrders_call(long providerId, Map<String,String> returnedOrders, org.apache.thrift.async.AsyncMethodCallback<markAsRTOrders_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.providerId = providerId;
        this.returnedOrders = returnedOrders;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("markAsRTOrders", org.apache.thrift.protocol.TMessageType.CALL, 0));
        markAsRTOrders_args args = new markAsRTOrders_args();
        args.setProviderId(providerId);
        args.setReturnedOrders(returnedOrders);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_markAsRTOrders();
      }
    }

    public void getRTOrders(long providerId, org.apache.thrift.async.AsyncMethodCallback<getRTOrders_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getRTOrders_call method_call = new getRTOrders_call(providerId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getRTOrders_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long providerId;
      public getRTOrders_call(long providerId, org.apache.thrift.async.AsyncMethodCallback<getRTOrders_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.providerId = providerId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getRTOrders", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getRTOrders_args args = new getRTOrders_args();
        args.setProviderId(providerId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<Order> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getRTOrders();
      }
    }

    public void updateNonDeliveryReason(long providerId, Map<String,String> undeliveredOrders, org.apache.thrift.async.AsyncMethodCallback<updateNonDeliveryReason_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      updateNonDeliveryReason_call method_call = new updateNonDeliveryReason_call(providerId, undeliveredOrders, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class updateNonDeliveryReason_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long providerId;
      private Map<String,String> undeliveredOrders;
      public updateNonDeliveryReason_call(long providerId, Map<String,String> undeliveredOrders, org.apache.thrift.async.AsyncMethodCallback<updateNonDeliveryReason_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.providerId = providerId;
        this.undeliveredOrders = undeliveredOrders;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateNonDeliveryReason", org.apache.thrift.protocol.TMessageType.CALL, 0));
        updateNonDeliveryReason_args args = new updateNonDeliveryReason_args();
        args.setProviderId(providerId);
        args.setUndeliveredOrders(undeliveredOrders);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_updateNonDeliveryReason();
      }
    }

    public void getNonDeliveredOrdersbyCourier(long providerId, org.apache.thrift.async.AsyncMethodCallback<getNonDeliveredOrdersbyCourier_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getNonDeliveredOrdersbyCourier_call method_call = new getNonDeliveredOrdersbyCourier_call(providerId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getNonDeliveredOrdersbyCourier_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long providerId;
      public getNonDeliveredOrdersbyCourier_call(long providerId, org.apache.thrift.async.AsyncMethodCallback<getNonDeliveredOrdersbyCourier_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.providerId = providerId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getNonDeliveredOrdersbyCourier", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getNonDeliveredOrdersbyCourier_args args = new getNonDeliveredOrdersbyCourier_args();
        args.setProviderId(providerId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<Order> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getNonDeliveredOrdersbyCourier();
      }
    }

    public void markOrdersAsLocalConnected(long providerId, Map<String,String> local_connected_orders, org.apache.thrift.async.AsyncMethodCallback<markOrdersAsLocalConnected_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      markOrdersAsLocalConnected_call method_call = new markOrdersAsLocalConnected_call(providerId, local_connected_orders, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class markOrdersAsLocalConnected_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long providerId;
      private Map<String,String> local_connected_orders;
      public markOrdersAsLocalConnected_call(long providerId, Map<String,String> local_connected_orders, org.apache.thrift.async.AsyncMethodCallback<markOrdersAsLocalConnected_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.providerId = providerId;
        this.local_connected_orders = local_connected_orders;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("markOrdersAsLocalConnected", org.apache.thrift.protocol.TMessageType.CALL, 0));
        markOrdersAsLocalConnected_args args = new markOrdersAsLocalConnected_args();
        args.setProviderId(providerId);
        args.setLocal_connected_orders(local_connected_orders);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_markOrdersAsLocalConnected();
      }
    }

    public void getOrdersNotLocalConnected(long providerId, org.apache.thrift.async.AsyncMethodCallback<getOrdersNotLocalConnected_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getOrdersNotLocalConnected_call method_call = new getOrdersNotLocalConnected_call(providerId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getOrdersNotLocalConnected_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long providerId;
      public getOrdersNotLocalConnected_call(long providerId, org.apache.thrift.async.AsyncMethodCallback<getOrdersNotLocalConnected_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.providerId = providerId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getOrdersNotLocalConnected", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getOrdersNotLocalConnected_args args = new getOrdersNotLocalConnected_args();
        args.setProviderId(providerId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<Order> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getOrdersNotLocalConnected();
      }
    }

    public void markOrdersAsDestinationCityReached(long providerId, Map<String,String> destination_city_reached_orders, org.apache.thrift.async.AsyncMethodCallback<markOrdersAsDestinationCityReached_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      markOrdersAsDestinationCityReached_call method_call = new markOrdersAsDestinationCityReached_call(providerId, destination_city_reached_orders, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class markOrdersAsDestinationCityReached_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long providerId;
      private Map<String,String> destination_city_reached_orders;
      public markOrdersAsDestinationCityReached_call(long providerId, Map<String,String> destination_city_reached_orders, org.apache.thrift.async.AsyncMethodCallback<markOrdersAsDestinationCityReached_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.providerId = providerId;
        this.destination_city_reached_orders = destination_city_reached_orders;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("markOrdersAsDestinationCityReached", org.apache.thrift.protocol.TMessageType.CALL, 0));
        markOrdersAsDestinationCityReached_args args = new markOrdersAsDestinationCityReached_args();
        args.setProviderId(providerId);
        args.setDestination_city_reached_orders(destination_city_reached_orders);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_markOrdersAsDestinationCityReached();
      }
    }

    public void markOrdersAsFirstDeliveryAttempted(long providerId, Map<String,String> first_atdl_orders, org.apache.thrift.async.AsyncMethodCallback<markOrdersAsFirstDeliveryAttempted_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      markOrdersAsFirstDeliveryAttempted_call method_call = new markOrdersAsFirstDeliveryAttempted_call(providerId, first_atdl_orders, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class markOrdersAsFirstDeliveryAttempted_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long providerId;
      private Map<String,String> first_atdl_orders;
      public markOrdersAsFirstDeliveryAttempted_call(long providerId, Map<String,String> first_atdl_orders, org.apache.thrift.async.AsyncMethodCallback<markOrdersAsFirstDeliveryAttempted_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.providerId = providerId;
        this.first_atdl_orders = first_atdl_orders;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("markOrdersAsFirstDeliveryAttempted", org.apache.thrift.protocol.TMessageType.CALL, 0));
        markOrdersAsFirstDeliveryAttempted_args args = new markOrdersAsFirstDeliveryAttempted_args();
        args.setProviderId(providerId);
        args.setFirst_atdl_orders(first_atdl_orders);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_markOrdersAsFirstDeliveryAttempted();
      }
    }

    public void getUndeliveredOrders(long providerId, long warehouseId, org.apache.thrift.async.AsyncMethodCallback<getUndeliveredOrders_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getUndeliveredOrders_call method_call = new getUndeliveredOrders_call(providerId, warehouseId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getUndeliveredOrders_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long providerId;
      private long warehouseId;
      public getUndeliveredOrders_call(long providerId, long warehouseId, org.apache.thrift.async.AsyncMethodCallback<getUndeliveredOrders_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.providerId = providerId;
        this.warehouseId = warehouseId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getUndeliveredOrders", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getUndeliveredOrders_args args = new getUndeliveredOrders_args();
        args.setProviderId(providerId);
        args.setWarehouseId(warehouseId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<Order> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getUndeliveredOrders();
      }
    }

    public void getUndeliveredOrdersExpectedDeliveryDateNotMet(org.apache.thrift.async.AsyncMethodCallback<getUndeliveredOrdersExpectedDeliveryDateNotMet_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getUndeliveredOrdersExpectedDeliveryDateNotMet_call method_call = new getUndeliveredOrdersExpectedDeliveryDateNotMet_call(resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getUndeliveredOrdersExpectedDeliveryDateNotMet_call extends org.apache.thrift.async.TAsyncMethodCall {
      public getUndeliveredOrdersExpectedDeliveryDateNotMet_call(org.apache.thrift.async.AsyncMethodCallback<getUndeliveredOrdersExpectedDeliveryDateNotMet_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getUndeliveredOrdersExpectedDeliveryDateNotMet", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getUndeliveredOrdersExpectedDeliveryDateNotMet_args args = new getUndeliveredOrdersExpectedDeliveryDateNotMet_args();
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<Order> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getUndeliveredOrdersExpectedDeliveryDateNotMet();
      }
    }

    public void toggleDOAFlag(long orderId, org.apache.thrift.async.AsyncMethodCallback<toggleDOAFlag_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      toggleDOAFlag_call method_call = new toggleDOAFlag_call(orderId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class toggleDOAFlag_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long orderId;
      public toggleDOAFlag_call(long orderId, org.apache.thrift.async.AsyncMethodCallback<toggleDOAFlag_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.orderId = orderId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("toggleDOAFlag", org.apache.thrift.protocol.TMessageType.CALL, 0));
        toggleDOAFlag_args args = new toggleDOAFlag_args();
        args.setOrderId(orderId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public boolean getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_toggleDOAFlag();
      }
    }

    public void markOrderAsDelivered(long orderId, long deliveryTimestamp, String receiver, org.apache.thrift.async.AsyncMethodCallback<markOrderAsDelivered_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      markOrderAsDelivered_call method_call = new markOrderAsDelivered_call(orderId, deliveryTimestamp, receiver, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class markOrderAsDelivered_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long orderId;
      private long deliveryTimestamp;
      private String receiver;
      public markOrderAsDelivered_call(long orderId, long deliveryTimestamp, String receiver, org.apache.thrift.async.AsyncMethodCallback<markOrderAsDelivered_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.orderId = orderId;
        this.deliveryTimestamp = deliveryTimestamp;
        this.receiver = receiver;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("markOrderAsDelivered", org.apache.thrift.protocol.TMessageType.CALL, 0));
        markOrderAsDelivered_args args = new markOrderAsDelivered_args();
        args.setOrderId(orderId);
        args.setDeliveryTimestamp(deliveryTimestamp);
        args.setReceiver(receiver);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_markOrderAsDelivered();
      }
    }

    public void markOrderAsReceivedAtStore(long orderId, long deliveryTimestamp, org.apache.thrift.async.AsyncMethodCallback<markOrderAsReceivedAtStore_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      markOrderAsReceivedAtStore_call method_call = new markOrderAsReceivedAtStore_call(orderId, deliveryTimestamp, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class markOrderAsReceivedAtStore_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long orderId;
      private long deliveryTimestamp;
      public markOrderAsReceivedAtStore_call(long orderId, long deliveryTimestamp, org.apache.thrift.async.AsyncMethodCallback<markOrderAsReceivedAtStore_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.orderId = orderId;
        this.deliveryTimestamp = deliveryTimestamp;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("markOrderAsReceivedAtStore", org.apache.thrift.protocol.TMessageType.CALL, 0));
        markOrderAsReceivedAtStore_args args = new markOrderAsReceivedAtStore_args();
        args.setOrderId(orderId);
        args.setDeliveryTimestamp(deliveryTimestamp);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_markOrderAsReceivedAtStore();
      }
    }

    public void markOrderDoaRequestReceived(long orderId, org.apache.thrift.async.AsyncMethodCallback<markOrderDoaRequestReceived_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      markOrderDoaRequestReceived_call method_call = new markOrderDoaRequestReceived_call(orderId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class markOrderDoaRequestReceived_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long orderId;
      public markOrderDoaRequestReceived_call(long orderId, org.apache.thrift.async.AsyncMethodCallback<markOrderDoaRequestReceived_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.orderId = orderId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("markOrderDoaRequestReceived", org.apache.thrift.protocol.TMessageType.CALL, 0));
        markOrderDoaRequestReceived_args args = new markOrderDoaRequestReceived_args();
        args.setOrderId(orderId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public boolean getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_markOrderDoaRequestReceived();
      }
    }

    public void markOrderDoaRequestAuthorized(long orderId, boolean isAuthorized, boolean fromStore, boolean isReship, org.apache.thrift.async.AsyncMethodCallback<markOrderDoaRequestAuthorized_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      markOrderDoaRequestAuthorized_call method_call = new markOrderDoaRequestAuthorized_call(orderId, isAuthorized, fromStore, isReship, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class markOrderDoaRequestAuthorized_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long orderId;
      private boolean isAuthorized;
      private boolean fromStore;
      private boolean isReship;
      public markOrderDoaRequestAuthorized_call(long orderId, boolean isAuthorized, boolean fromStore, boolean isReship, org.apache.thrift.async.AsyncMethodCallback<markOrderDoaRequestAuthorized_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.orderId = orderId;
        this.isAuthorized = isAuthorized;
        this.fromStore = fromStore;
        this.isReship = isReship;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("markOrderDoaRequestAuthorized", org.apache.thrift.protocol.TMessageType.CALL, 0));
        markOrderDoaRequestAuthorized_args args = new markOrderDoaRequestAuthorized_args();
        args.setOrderId(orderId);
        args.setIsAuthorized(isAuthorized);
        args.setFromStore(fromStore);
        args.setIsReship(isReship);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public boolean getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_markOrderDoaRequestAuthorized();
      }
    }

    public void markOrderReturnRequestReceived(long orderId, org.apache.thrift.async.AsyncMethodCallback<markOrderReturnRequestReceived_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      markOrderReturnRequestReceived_call method_call = new markOrderReturnRequestReceived_call(orderId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class markOrderReturnRequestReceived_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long orderId;
      public markOrderReturnRequestReceived_call(long orderId, org.apache.thrift.async.AsyncMethodCallback<markOrderReturnRequestReceived_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.orderId = orderId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("markOrderReturnRequestReceived", org.apache.thrift.protocol.TMessageType.CALL, 0));
        markOrderReturnRequestReceived_args args = new markOrderReturnRequestReceived_args();
        args.setOrderId(orderId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public boolean getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_markOrderReturnRequestReceived();
      }
    }

    public void markOrderReturnRequestAuthorized(long orderId, boolean isAuthorized, boolean fromStore, boolean isReship, org.apache.thrift.async.AsyncMethodCallback<markOrderReturnRequestAuthorized_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      markOrderReturnRequestAuthorized_call method_call = new markOrderReturnRequestAuthorized_call(orderId, isAuthorized, fromStore, isReship, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class markOrderReturnRequestAuthorized_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long orderId;
      private boolean isAuthorized;
      private boolean fromStore;
      private boolean isReship;
      public markOrderReturnRequestAuthorized_call(long orderId, boolean isAuthorized, boolean fromStore, boolean isReship, org.apache.thrift.async.AsyncMethodCallback<markOrderReturnRequestAuthorized_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.orderId = orderId;
        this.isAuthorized = isAuthorized;
        this.fromStore = fromStore;
        this.isReship = isReship;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("markOrderReturnRequestAuthorized", org.apache.thrift.protocol.TMessageType.CALL, 0));
        markOrderReturnRequestAuthorized_args args = new markOrderReturnRequestAuthorized_args();
        args.setOrderId(orderId);
        args.setIsAuthorized(isAuthorized);
        args.setFromStore(fromStore);
        args.setIsReship(isReship);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public boolean getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_markOrderReturnRequestAuthorized();
      }
    }

    public void requestPickupNumber(long orderId, long providerId, org.apache.thrift.async.AsyncMethodCallback<requestPickupNumber_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      requestPickupNumber_call method_call = new requestPickupNumber_call(orderId, providerId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class requestPickupNumber_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long orderId;
      private long providerId;
      public requestPickupNumber_call(long orderId, long providerId, org.apache.thrift.async.AsyncMethodCallback<requestPickupNumber_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.orderId = orderId;
        this.providerId = providerId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("requestPickupNumber", org.apache.thrift.protocol.TMessageType.CALL, 0));
        requestPickupNumber_args args = new requestPickupNumber_args();
        args.setOrderId(orderId);
        args.setProviderId(providerId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public boolean getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_requestPickupNumber();
      }
    }

    public void authorizePickup(long orderId, String pickupNumber, long providerId, org.apache.thrift.async.AsyncMethodCallback<authorizePickup_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      authorizePickup_call method_call = new authorizePickup_call(orderId, pickupNumber, providerId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class authorizePickup_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long orderId;
      private String pickupNumber;
      private long providerId;
      public authorizePickup_call(long orderId, String pickupNumber, long providerId, org.apache.thrift.async.AsyncMethodCallback<authorizePickup_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.orderId = orderId;
        this.pickupNumber = pickupNumber;
        this.providerId = providerId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("authorizePickup", org.apache.thrift.protocol.TMessageType.CALL, 0));
        authorizePickup_args args = new authorizePickup_args();
        args.setOrderId(orderId);
        args.setPickupNumber(pickupNumber);
        args.setProviderId(providerId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public boolean getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_authorizePickup();
      }
    }

    public void markDoasAsPickedUp(long providerId, Map<String,String> pickupDetails, org.apache.thrift.async.AsyncMethodCallback<markDoasAsPickedUp_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      markDoasAsPickedUp_call method_call = new markDoasAsPickedUp_call(providerId, pickupDetails, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class markDoasAsPickedUp_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long providerId;
      private Map<String,String> pickupDetails;
      public markDoasAsPickedUp_call(long providerId, Map<String,String> pickupDetails, org.apache.thrift.async.AsyncMethodCallback<markDoasAsPickedUp_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.providerId = providerId;
        this.pickupDetails = pickupDetails;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("markDoasAsPickedUp", org.apache.thrift.protocol.TMessageType.CALL, 0));
        markDoasAsPickedUp_args args = new markDoasAsPickedUp_args();
        args.setProviderId(providerId);
        args.setPickupDetails(pickupDetails);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_markDoasAsPickedUp();
      }
    }

    public void getDoasNotPickedUp(long providerId, org.apache.thrift.async.AsyncMethodCallback<getDoasNotPickedUp_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getDoasNotPickedUp_call method_call = new getDoasNotPickedUp_call(providerId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getDoasNotPickedUp_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long providerId;
      public getDoasNotPickedUp_call(long providerId, org.apache.thrift.async.AsyncMethodCallback<getDoasNotPickedUp_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.providerId = providerId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getDoasNotPickedUp", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getDoasNotPickedUp_args args = new getDoasNotPickedUp_args();
        args.setProviderId(providerId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<Order> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getDoasNotPickedUp();
      }
    }

    public void markReturnOrdersAsPickedUp(long providerId, Map<String,String> pickupDetails, org.apache.thrift.async.AsyncMethodCallback<markReturnOrdersAsPickedUp_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      markReturnOrdersAsPickedUp_call method_call = new markReturnOrdersAsPickedUp_call(providerId, pickupDetails, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class markReturnOrdersAsPickedUp_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long providerId;
      private Map<String,String> pickupDetails;
      public markReturnOrdersAsPickedUp_call(long providerId, Map<String,String> pickupDetails, org.apache.thrift.async.AsyncMethodCallback<markReturnOrdersAsPickedUp_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.providerId = providerId;
        this.pickupDetails = pickupDetails;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("markReturnOrdersAsPickedUp", org.apache.thrift.protocol.TMessageType.CALL, 0));
        markReturnOrdersAsPickedUp_args args = new markReturnOrdersAsPickedUp_args();
        args.setProviderId(providerId);
        args.setPickupDetails(pickupDetails);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_markReturnOrdersAsPickedUp();
      }
    }

    public void getReturnOrdersNotPickedUp(long providerId, org.apache.thrift.async.AsyncMethodCallback<getReturnOrdersNotPickedUp_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getReturnOrdersNotPickedUp_call method_call = new getReturnOrdersNotPickedUp_call(providerId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getReturnOrdersNotPickedUp_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long providerId;
      public getReturnOrdersNotPickedUp_call(long providerId, org.apache.thrift.async.AsyncMethodCallback<getReturnOrdersNotPickedUp_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.providerId = providerId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getReturnOrdersNotPickedUp", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getReturnOrdersNotPickedUp_args args = new getReturnOrdersNotPickedUp_args();
        args.setProviderId(providerId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<Order> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getReturnOrdersNotPickedUp();
      }
    }

    public void receiveReturn(long orderId, long receiveCondition, boolean receiveFreebie, String serialNumbers, org.apache.thrift.async.AsyncMethodCallback<receiveReturn_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      receiveReturn_call method_call = new receiveReturn_call(orderId, receiveCondition, receiveFreebie, serialNumbers, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class receiveReturn_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long orderId;
      private long receiveCondition;
      private boolean receiveFreebie;
      private String serialNumbers;
      public receiveReturn_call(long orderId, long receiveCondition, boolean receiveFreebie, String serialNumbers, org.apache.thrift.async.AsyncMethodCallback<receiveReturn_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.orderId = orderId;
        this.receiveCondition = receiveCondition;
        this.receiveFreebie = receiveFreebie;
        this.serialNumbers = serialNumbers;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("receiveReturn", org.apache.thrift.protocol.TMessageType.CALL, 0));
        receiveReturn_args args = new receiveReturn_args();
        args.setOrderId(orderId);
        args.setReceiveCondition(receiveCondition);
        args.setReceiveFreebie(receiveFreebie);
        args.setSerialNumbers(serialNumbers);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public boolean getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_receiveReturn();
      }
    }

    public void validateDoa(long orderId, boolean isValid, org.apache.thrift.async.AsyncMethodCallback<validateDoa_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      validateDoa_call method_call = new validateDoa_call(orderId, isValid, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class validateDoa_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long orderId;
      private boolean isValid;
      public validateDoa_call(long orderId, boolean isValid, org.apache.thrift.async.AsyncMethodCallback<validateDoa_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.orderId = orderId;
        this.isValid = isValid;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("validateDoa", org.apache.thrift.protocol.TMessageType.CALL, 0));
        validateDoa_args args = new validateDoa_args();
        args.setOrderId(orderId);
        args.setIsValid(isValid);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public boolean getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_validateDoa();
      }
    }

    public void validateReturnProduct(long orderId, boolean isUsable, org.apache.thrift.async.AsyncMethodCallback<validateReturnProduct_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      validateReturnProduct_call method_call = new validateReturnProduct_call(orderId, isUsable, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class validateReturnProduct_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long orderId;
      private boolean isUsable;
      public validateReturnProduct_call(long orderId, boolean isUsable, org.apache.thrift.async.AsyncMethodCallback<validateReturnProduct_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.orderId = orderId;
        this.isUsable = isUsable;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("validateReturnProduct", org.apache.thrift.protocol.TMessageType.CALL, 0));
        validateReturnProduct_args args = new validateReturnProduct_args();
        args.setOrderId(orderId);
        args.setIsUsable(isUsable);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public boolean getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_validateReturnProduct();
      }
    }

    public void reshipOrder(long orderId, org.apache.thrift.async.AsyncMethodCallback<reshipOrder_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      reshipOrder_call method_call = new reshipOrder_call(orderId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class reshipOrder_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long orderId;
      public reshipOrder_call(long orderId, org.apache.thrift.async.AsyncMethodCallback<reshipOrder_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.orderId = orderId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("reshipOrder", org.apache.thrift.protocol.TMessageType.CALL, 0));
        reshipOrder_args args = new reshipOrder_args();
        args.setOrderId(orderId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public long getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_reshipOrder();
      }
    }

    public void refundOrder(long orderId, String refundedBy, String reason, org.apache.thrift.async.AsyncMethodCallback<refundOrder_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      refundOrder_call method_call = new refundOrder_call(orderId, refundedBy, reason, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class refundOrder_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long orderId;
      private String refundedBy;
      private String reason;
      public refundOrder_call(long orderId, String refundedBy, String reason, org.apache.thrift.async.AsyncMethodCallback<refundOrder_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.orderId = orderId;
        this.refundedBy = refundedBy;
        this.reason = reason;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("refundOrder", org.apache.thrift.protocol.TMessageType.CALL, 0));
        refundOrder_args args = new refundOrder_args();
        args.setOrderId(orderId);
        args.setRefundedBy(refundedBy);
        args.setReason(reason);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public boolean getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_refundOrder();
      }
    }

    public void getReturnOrders(long warehouseId, long fromDate, long toDate, org.apache.thrift.async.AsyncMethodCallback<getReturnOrders_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getReturnOrders_call method_call = new getReturnOrders_call(warehouseId, fromDate, toDate, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getReturnOrders_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long warehouseId;
      private long fromDate;
      private long toDate;
      public getReturnOrders_call(long warehouseId, long fromDate, long toDate, org.apache.thrift.async.AsyncMethodCallback<getReturnOrders_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.warehouseId = warehouseId;
        this.fromDate = fromDate;
        this.toDate = toDate;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getReturnOrders", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getReturnOrders_args args = new getReturnOrders_args();
        args.setWarehouseId(warehouseId);
        args.setFromDate(fromDate);
        args.setToDate(toDate);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<ReturnOrder> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getReturnOrders();
      }
    }

    public void getAllReturnOrders(boolean onlyNotProcessed, long fromDate, long toDate, org.apache.thrift.async.AsyncMethodCallback<getAllReturnOrders_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getAllReturnOrders_call method_call = new getAllReturnOrders_call(onlyNotProcessed, fromDate, toDate, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getAllReturnOrders_call extends org.apache.thrift.async.TAsyncMethodCall {
      private boolean onlyNotProcessed;
      private long fromDate;
      private long toDate;
      public getAllReturnOrders_call(boolean onlyNotProcessed, long fromDate, long toDate, org.apache.thrift.async.AsyncMethodCallback<getAllReturnOrders_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.onlyNotProcessed = onlyNotProcessed;
        this.fromDate = fromDate;
        this.toDate = toDate;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAllReturnOrders", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getAllReturnOrders_args args = new getAllReturnOrders_args();
        args.setOnlyNotProcessed(onlyNotProcessed);
        args.setFromDate(fromDate);
        args.setToDate(toDate);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<ReturnOrder> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getAllReturnOrders();
      }
    }

    public void getReturnOrder(long id, org.apache.thrift.async.AsyncMethodCallback<getReturnOrder_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getReturnOrder_call method_call = new getReturnOrder_call(id, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getReturnOrder_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long id;
      public getReturnOrder_call(long id, org.apache.thrift.async.AsyncMethodCallback<getReturnOrder_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.id = id;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getReturnOrder", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getReturnOrder_args args = new getReturnOrder_args();
        args.setId(id);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public ReturnOrder getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getReturnOrder();
      }
    }

    public void processReturn(long returnOrderId, org.apache.thrift.async.AsyncMethodCallback<processReturn_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      processReturn_call method_call = new processReturn_call(returnOrderId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class processReturn_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long returnOrderId;
      public processReturn_call(long returnOrderId, org.apache.thrift.async.AsyncMethodCallback<processReturn_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.returnOrderId = returnOrderId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("processReturn", org.apache.thrift.protocol.TMessageType.CALL, 0));
        processReturn_args args = new processReturn_args();
        args.setReturnOrderId(returnOrderId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_processReturn();
      }
    }

    public void updateWeight(long orderId, double weight, org.apache.thrift.async.AsyncMethodCallback<updateWeight_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      updateWeight_call method_call = new updateWeight_call(orderId, weight, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class updateWeight_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long orderId;
      private double weight;
      public updateWeight_call(long orderId, double weight, org.apache.thrift.async.AsyncMethodCallback<updateWeight_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.orderId = orderId;
        this.weight = weight;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateWeight", org.apache.thrift.protocol.TMessageType.CALL, 0));
        updateWeight_args args = new updateWeight_args();
        args.setOrderId(orderId);
        args.setWeight(weight);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public Order getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_updateWeight();
      }
    }

    public void changeItem(long orderId, long itemId, org.apache.thrift.async.AsyncMethodCallback<changeItem_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      changeItem_call method_call = new changeItem_call(orderId, itemId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class changeItem_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long orderId;
      private long itemId;
      public changeItem_call(long orderId, long itemId, org.apache.thrift.async.AsyncMethodCallback<changeItem_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.orderId = orderId;
        this.itemId = itemId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("changeItem", org.apache.thrift.protocol.TMessageType.CALL, 0));
        changeItem_args args = new changeItem_args();
        args.setOrderId(orderId);
        args.setItemId(itemId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public Order getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_changeItem();
      }
    }

    public void changeCourierProvider(long orderId, long providerId, org.apache.thrift.async.AsyncMethodCallback<changeCourierProvider_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      changeCourierProvider_call method_call = new changeCourierProvider_call(orderId, providerId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class changeCourierProvider_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long orderId;
      private long providerId;
      public changeCourierProvider_call(long orderId, long providerId, org.apache.thrift.async.AsyncMethodCallback<changeCourierProvider_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.orderId = orderId;
        this.providerId = providerId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("changeCourierProvider", org.apache.thrift.protocol.TMessageType.CALL, 0));
        changeCourierProvider_args args = new changeCourierProvider_args();
        args.setOrderId(orderId);
        args.setProviderId(providerId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public Order getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_changeCourierProvider();
      }
    }

    public void shiftToWarehouse(long orderId, long warehouseId, org.apache.thrift.async.AsyncMethodCallback<shiftToWarehouse_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      shiftToWarehouse_call method_call = new shiftToWarehouse_call(orderId, warehouseId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class shiftToWarehouse_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long orderId;
      private long warehouseId;
      public shiftToWarehouse_call(long orderId, long warehouseId, org.apache.thrift.async.AsyncMethodCallback<shiftToWarehouse_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.orderId = orderId;
        this.warehouseId = warehouseId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("shiftToWarehouse", org.apache.thrift.protocol.TMessageType.CALL, 0));
        shiftToWarehouse_args args = new shiftToWarehouse_args();
        args.setOrderId(orderId);
        args.setWarehouseId(warehouseId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public Order getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_shiftToWarehouse();
      }
    }

    public void addDelayReason(long orderId, DelayReason delayReason, long furtherDelay, String delayReasonText, org.apache.thrift.async.AsyncMethodCallback<addDelayReason_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      addDelayReason_call method_call = new addDelayReason_call(orderId, delayReason, furtherDelay, delayReasonText, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class addDelayReason_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long orderId;
      private DelayReason delayReason;
      private long furtherDelay;
      private String delayReasonText;
      public addDelayReason_call(long orderId, DelayReason delayReason, long furtherDelay, String delayReasonText, org.apache.thrift.async.AsyncMethodCallback<addDelayReason_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.orderId = orderId;
        this.delayReason = delayReason;
        this.furtherDelay = furtherDelay;
        this.delayReasonText = delayReasonText;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addDelayReason", org.apache.thrift.protocol.TMessageType.CALL, 0));
        addDelayReason_args args = new addDelayReason_args();
        args.setOrderId(orderId);
        args.setDelayReason(delayReason);
        args.setFurtherDelay(furtherDelay);
        args.setDelayReasonText(delayReasonText);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public boolean getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_addDelayReason();
      }
    }

    public void reconcileCodCollection(Map<String,Double> collectedAmountMap, String xferBy, String xferTxnId, long xferDate, org.apache.thrift.async.AsyncMethodCallback<reconcileCodCollection_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      reconcileCodCollection_call method_call = new reconcileCodCollection_call(collectedAmountMap, xferBy, xferTxnId, xferDate, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class reconcileCodCollection_call extends org.apache.thrift.async.TAsyncMethodCall {
      private Map<String,Double> collectedAmountMap;
      private String xferBy;
      private String xferTxnId;
      private long xferDate;
      public reconcileCodCollection_call(Map<String,Double> collectedAmountMap, String xferBy, String xferTxnId, long xferDate, org.apache.thrift.async.AsyncMethodCallback<reconcileCodCollection_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.collectedAmountMap = collectedAmountMap;
        this.xferBy = xferBy;
        this.xferTxnId = xferTxnId;
        this.xferDate = xferDate;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("reconcileCodCollection", org.apache.thrift.protocol.TMessageType.CALL, 0));
        reconcileCodCollection_args args = new reconcileCodCollection_args();
        args.setCollectedAmountMap(collectedAmountMap);
        args.setXferBy(xferBy);
        args.setXferTxnId(xferTxnId);
        args.setXferDate(xferDate);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public Map<String,String> getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_reconcileCodCollection();
      }
    }

    public void getTransactionsRequiringExtraProcessing(ExtraTransactionProcessingType category, org.apache.thrift.async.AsyncMethodCallback<getTransactionsRequiringExtraProcessing_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getTransactionsRequiringExtraProcessing_call method_call = new getTransactionsRequiringExtraProcessing_call(category, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getTransactionsRequiringExtraProcessing_call extends org.apache.thrift.async.TAsyncMethodCall {
      private ExtraTransactionProcessingType category;
      public getTransactionsRequiringExtraProcessing_call(ExtraTransactionProcessingType category, org.apache.thrift.async.AsyncMethodCallback<getTransactionsRequiringExtraProcessing_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.category = category;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getTransactionsRequiringExtraProcessing", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getTransactionsRequiringExtraProcessing_args args = new getTransactionsRequiringExtraProcessing_args();
        args.setCategory(category);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<Long> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getTransactionsRequiringExtraProcessing();
      }
    }

    public void markTransactionAsProcessed(long transactionId, ExtraTransactionProcessingType category, org.apache.thrift.async.AsyncMethodCallback<markTransactionAsProcessed_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      markTransactionAsProcessed_call method_call = new markTransactionAsProcessed_call(transactionId, category, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class markTransactionAsProcessed_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long transactionId;
      private ExtraTransactionProcessingType category;
      public markTransactionAsProcessed_call(long transactionId, ExtraTransactionProcessingType category, org.apache.thrift.async.AsyncMethodCallback<markTransactionAsProcessed_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.transactionId = transactionId;
        this.category = category;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("markTransactionAsProcessed", org.apache.thrift.protocol.TMessageType.CALL, 0));
        markTransactionAsProcessed_args args = new markTransactionAsProcessed_args();
        args.setTransactionId(transactionId);
        args.setCategory(category);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_markTransactionAsProcessed();
      }
    }

    public void getItemWiseRiskyOrdersCount(org.apache.thrift.async.AsyncMethodCallback<getItemWiseRiskyOrdersCount_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getItemWiseRiskyOrdersCount_call method_call = new getItemWiseRiskyOrdersCount_call(resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getItemWiseRiskyOrdersCount_call extends org.apache.thrift.async.TAsyncMethodCall {
      public getItemWiseRiskyOrdersCount_call(org.apache.thrift.async.AsyncMethodCallback<getItemWiseRiskyOrdersCount_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getItemWiseRiskyOrdersCount", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getItemWiseRiskyOrdersCount_args args = new getItemWiseRiskyOrdersCount_args();
        args.write(prot);
        prot.writeMessageEnd();
      }

      public Map<Long,Long> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getItemWiseRiskyOrdersCount();
      }
    }

    public void getOrdersForItemIds(List<Long> itemIds, org.apache.thrift.async.AsyncMethodCallback<getOrdersForItemIds_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getOrdersForItemIds_call method_call = new getOrdersForItemIds_call(itemIds, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getOrdersForItemIds_call extends org.apache.thrift.async.TAsyncMethodCall {
      private List<Long> itemIds;
      public getOrdersForItemIds_call(List<Long> itemIds, org.apache.thrift.async.AsyncMethodCallback<getOrdersForItemIds_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.itemIds = itemIds;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getOrdersForItemIds", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getOrdersForItemIds_args args = new getOrdersForItemIds_args();
        args.setItemIds(itemIds);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<Order> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getOrdersForItemIds();
      }
    }

    public void markOrderCancellationRequestReceived(long orderId, org.apache.thrift.async.AsyncMethodCallback<markOrderCancellationRequestReceived_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      markOrderCancellationRequestReceived_call method_call = new markOrderCancellationRequestReceived_call(orderId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class markOrderCancellationRequestReceived_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long orderId;
      public markOrderCancellationRequestReceived_call(long orderId, org.apache.thrift.async.AsyncMethodCallback<markOrderCancellationRequestReceived_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.orderId = orderId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("markOrderCancellationRequestReceived", org.apache.thrift.protocol.TMessageType.CALL, 0));
        markOrderCancellationRequestReceived_args args = new markOrderCancellationRequestReceived_args();
        args.setOrderId(orderId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_markOrderCancellationRequestReceived();
      }
    }

    public void markOrderCancellationRequestConfirmed(long orderId, org.apache.thrift.async.AsyncMethodCallback<markOrderCancellationRequestConfirmed_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      markOrderCancellationRequestConfirmed_call method_call = new markOrderCancellationRequestConfirmed_call(orderId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class markOrderCancellationRequestConfirmed_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long orderId;
      public markOrderCancellationRequestConfirmed_call(long orderId, org.apache.thrift.async.AsyncMethodCallback<markOrderCancellationRequestConfirmed_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.orderId = orderId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("markOrderCancellationRequestConfirmed", org.apache.thrift.protocol.TMessageType.CALL, 0));
        markOrderCancellationRequestConfirmed_args args = new markOrderCancellationRequestConfirmed_args();
        args.setOrderId(orderId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_markOrderCancellationRequestConfirmed();
      }
    }

    public void markOrderCancellationRequestDenied(long orderId, org.apache.thrift.async.AsyncMethodCallback<markOrderCancellationRequestDenied_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      markOrderCancellationRequestDenied_call method_call = new markOrderCancellationRequestDenied_call(orderId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class markOrderCancellationRequestDenied_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long orderId;
      public markOrderCancellationRequestDenied_call(long orderId, org.apache.thrift.async.AsyncMethodCallback<markOrderCancellationRequestDenied_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.orderId = orderId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("markOrderCancellationRequestDenied", org.apache.thrift.protocol.TMessageType.CALL, 0));
        markOrderCancellationRequestDenied_args args = new markOrderCancellationRequestDenied_args();
        args.setOrderId(orderId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_markOrderCancellationRequestDenied();
      }
    }

    public void markTransactionAsPaymentFlagRemoved(long transactionId, org.apache.thrift.async.AsyncMethodCallback<markTransactionAsPaymentFlagRemoved_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      markTransactionAsPaymentFlagRemoved_call method_call = new markTransactionAsPaymentFlagRemoved_call(transactionId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class markTransactionAsPaymentFlagRemoved_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long transactionId;
      public markTransactionAsPaymentFlagRemoved_call(long transactionId, org.apache.thrift.async.AsyncMethodCallback<markTransactionAsPaymentFlagRemoved_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.transactionId = transactionId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("markTransactionAsPaymentFlagRemoved", org.apache.thrift.protocol.TMessageType.CALL, 0));
        markTransactionAsPaymentFlagRemoved_args args = new markTransactionAsPaymentFlagRemoved_args();
        args.setTransactionId(transactionId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_markTransactionAsPaymentFlagRemoved();
      }
    }

    public void refundTransaction(long transactionId, String refundedBy, String reason, org.apache.thrift.async.AsyncMethodCallback<refundTransaction_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      refundTransaction_call method_call = new refundTransaction_call(transactionId, refundedBy, reason, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class refundTransaction_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long transactionId;
      private String refundedBy;
      private String reason;
      public refundTransaction_call(long transactionId, String refundedBy, String reason, org.apache.thrift.async.AsyncMethodCallback<refundTransaction_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.transactionId = transactionId;
        this.refundedBy = refundedBy;
        this.reason = reason;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("refundTransaction", org.apache.thrift.protocol.TMessageType.CALL, 0));
        refundTransaction_args args = new refundTransaction_args();
        args.setTransactionId(transactionId);
        args.setRefundedBy(refundedBy);
        args.setReason(reason);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_refundTransaction();
      }
    }

    public void updateShipmentAddress(long orderId, long addressId, org.apache.thrift.async.AsyncMethodCallback<updateShipmentAddress_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      updateShipmentAddress_call method_call = new updateShipmentAddress_call(orderId, addressId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class updateShipmentAddress_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long orderId;
      private long addressId;
      public updateShipmentAddress_call(long orderId, long addressId, org.apache.thrift.async.AsyncMethodCallback<updateShipmentAddress_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.orderId = orderId;
        this.addressId = addressId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateShipmentAddress", org.apache.thrift.protocol.TMessageType.CALL, 0));
        updateShipmentAddress_args args = new updateShipmentAddress_args();
        args.setOrderId(orderId);
        args.setAddressId(addressId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_updateShipmentAddress();
      }
    }

    public void acceptOrdersForItemId(long itemId, long inventory, org.apache.thrift.async.AsyncMethodCallback<acceptOrdersForItemId_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      acceptOrdersForItemId_call method_call = new acceptOrdersForItemId_call(itemId, inventory, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class acceptOrdersForItemId_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long itemId;
      private long inventory;
      public acceptOrdersForItemId_call(long itemId, long inventory, org.apache.thrift.async.AsyncMethodCallback<acceptOrdersForItemId_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.itemId = itemId;
        this.inventory = inventory;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("acceptOrdersForItemId", org.apache.thrift.protocol.TMessageType.CALL, 0));
        acceptOrdersForItemId_args args = new acceptOrdersForItemId_args();
        args.setItemId(itemId);
        args.setInventory(inventory);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public boolean getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_acceptOrdersForItemId();
      }
    }

    public void markOrdersAsPORaised(long vendorId, long itemId, long quantity, long estimate, boolean isReminder, org.apache.thrift.async.AsyncMethodCallback<markOrdersAsPORaised_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      markOrdersAsPORaised_call method_call = new markOrdersAsPORaised_call(vendorId, itemId, quantity, estimate, isReminder, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class markOrdersAsPORaised_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long vendorId;
      private long itemId;
      private long quantity;
      private long estimate;
      private boolean isReminder;
      public markOrdersAsPORaised_call(long vendorId, long itemId, long quantity, long estimate, boolean isReminder, org.apache.thrift.async.AsyncMethodCallback<markOrdersAsPORaised_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.vendorId = vendorId;
        this.itemId = itemId;
        this.quantity = quantity;
        this.estimate = estimate;
        this.isReminder = isReminder;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("markOrdersAsPORaised", org.apache.thrift.protocol.TMessageType.CALL, 0));
        markOrdersAsPORaised_args args = new markOrdersAsPORaised_args();
        args.setVendorId(vendorId);
        args.setItemId(itemId);
        args.setQuantity(quantity);
        args.setEstimate(estimate);
        args.setIsReminder(isReminder);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_markOrdersAsPORaised();
      }
    }

    public void markOrdersAsReversalInitiated(long vendorId, long itemId, long quantity, long estimate, boolean isReminder, org.apache.thrift.async.AsyncMethodCallback<markOrdersAsReversalInitiated_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      markOrdersAsReversalInitiated_call method_call = new markOrdersAsReversalInitiated_call(vendorId, itemId, quantity, estimate, isReminder, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class markOrdersAsReversalInitiated_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long vendorId;
      private long itemId;
      private long quantity;
      private long estimate;
      private boolean isReminder;
      public markOrdersAsReversalInitiated_call(long vendorId, long itemId, long quantity, long estimate, boolean isReminder, org.apache.thrift.async.AsyncMethodCallback<markOrdersAsReversalInitiated_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.vendorId = vendorId;
        this.itemId = itemId;
        this.quantity = quantity;
        this.estimate = estimate;
        this.isReminder = isReminder;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("markOrdersAsReversalInitiated", org.apache.thrift.protocol.TMessageType.CALL, 0));
        markOrdersAsReversalInitiated_args args = new markOrdersAsReversalInitiated_args();
        args.setVendorId(vendorId);
        args.setItemId(itemId);
        args.setQuantity(quantity);
        args.setEstimate(estimate);
        args.setIsReminder(isReminder);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_markOrdersAsReversalInitiated();
      }
    }

    public void markOrdersAsNotAvailabke(long vendorId, long itemId, long quantity, long estimate, boolean isReminder, org.apache.thrift.async.AsyncMethodCallback<markOrdersAsNotAvailabke_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      markOrdersAsNotAvailabke_call method_call = new markOrdersAsNotAvailabke_call(vendorId, itemId, quantity, estimate, isReminder, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class markOrdersAsNotAvailabke_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long vendorId;
      private long itemId;
      private long quantity;
      private long estimate;
      private boolean isReminder;
      public markOrdersAsNotAvailabke_call(long vendorId, long itemId, long quantity, long estimate, boolean isReminder, org.apache.thrift.async.AsyncMethodCallback<markOrdersAsNotAvailabke_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.vendorId = vendorId;
        this.itemId = itemId;
        this.quantity = quantity;
        this.estimate = estimate;
        this.isReminder = isReminder;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("markOrdersAsNotAvailabke", org.apache.thrift.protocol.TMessageType.CALL, 0));
        markOrdersAsNotAvailabke_args args = new markOrdersAsNotAvailabke_args();
        args.setVendorId(vendorId);
        args.setItemId(itemId);
        args.setQuantity(quantity);
        args.setEstimate(estimate);
        args.setIsReminder(isReminder);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_markOrdersAsNotAvailabke();
      }
    }

    public void markOrdersAsTimeout(long vendorId, org.apache.thrift.async.AsyncMethodCallback<markOrdersAsTimeout_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      markOrdersAsTimeout_call method_call = new markOrdersAsTimeout_call(vendorId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class markOrdersAsTimeout_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long vendorId;
      public markOrdersAsTimeout_call(long vendorId, org.apache.thrift.async.AsyncMethodCallback<markOrdersAsTimeout_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.vendorId = vendorId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("markOrdersAsTimeout", org.apache.thrift.protocol.TMessageType.CALL, 0));
        markOrdersAsTimeout_args args = new markOrdersAsTimeout_args();
        args.setVendorId(vendorId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public Map<Integer,TimeoutSummary> getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_markOrdersAsTimeout();
      }
    }

    public void markOrderAsLostInTransit(long orderId, org.apache.thrift.async.AsyncMethodCallback<markOrderAsLostInTransit_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      markOrderAsLostInTransit_call method_call = new markOrderAsLostInTransit_call(orderId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class markOrderAsLostInTransit_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long orderId;
      public markOrderAsLostInTransit_call(long orderId, org.apache.thrift.async.AsyncMethodCallback<markOrderAsLostInTransit_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.orderId = orderId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("markOrderAsLostInTransit", org.apache.thrift.protocol.TMessageType.CALL, 0));
        markOrderAsLostInTransit_args args = new markOrderAsLostInTransit_args();
        args.setOrderId(orderId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public boolean getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_markOrderAsLostInTransit();
      }
    }

    public void getOrderForAwb(String awb, org.apache.thrift.async.AsyncMethodCallback<getOrderForAwb_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getOrderForAwb_call method_call = new getOrderForAwb_call(awb, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getOrderForAwb_call extends org.apache.thrift.async.TAsyncMethodCall {
      private String awb;
      public getOrderForAwb_call(String awb, org.apache.thrift.async.AsyncMethodCallback<getOrderForAwb_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.awb = awb;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getOrderForAwb", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getOrderForAwb_args args = new getOrderForAwb_args();
        args.setAwb(awb);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<Order> getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getOrderForAwb();
      }
    }

    public void getOrdersForProviderForStatus(long logistics_provider_id, List<OrderStatus> order_status_list, org.apache.thrift.async.AsyncMethodCallback<getOrdersForProviderForStatus_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getOrdersForProviderForStatus_call method_call = new getOrdersForProviderForStatus_call(logistics_provider_id, order_status_list, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getOrdersForProviderForStatus_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long logistics_provider_id;
      private List<OrderStatus> order_status_list;
      public getOrdersForProviderForStatus_call(long logistics_provider_id, List<OrderStatus> order_status_list, org.apache.thrift.async.AsyncMethodCallback<getOrdersForProviderForStatus_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.logistics_provider_id = logistics_provider_id;
        this.order_status_list = order_status_list;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getOrdersForProviderForStatus", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getOrdersForProviderForStatus_args args = new getOrdersForProviderForStatus_args();
        args.setLogistics_provider_id(logistics_provider_id);
        args.setOrder_status_list(order_status_list);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<Order> getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getOrdersForProviderForStatus();
      }
    }

    public void getBilledOrdersForVendor(long vendorId, long billingDateFrom, long billingDateTo, org.apache.thrift.async.AsyncMethodCallback<getBilledOrdersForVendor_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getBilledOrdersForVendor_call method_call = new getBilledOrdersForVendor_call(vendorId, billingDateFrom, billingDateTo, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getBilledOrdersForVendor_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long vendorId;
      private long billingDateFrom;
      private long billingDateTo;
      public getBilledOrdersForVendor_call(long vendorId, long billingDateFrom, long billingDateTo, org.apache.thrift.async.AsyncMethodCallback<getBilledOrdersForVendor_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.vendorId = vendorId;
        this.billingDateFrom = billingDateFrom;
        this.billingDateTo = billingDateTo;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getBilledOrdersForVendor", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getBilledOrdersForVendor_args args = new getBilledOrdersForVendor_args();
        args.setVendorId(vendorId);
        args.setBillingDateFrom(billingDateFrom);
        args.setBillingDateTo(billingDateTo);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<Order> getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getBilledOrdersForVendor();
      }
    }

    public void getSlippedSippingDateOrders(org.apache.thrift.async.AsyncMethodCallback<getSlippedSippingDateOrders_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getSlippedSippingDateOrders_call method_call = new getSlippedSippingDateOrders_call(resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getSlippedSippingDateOrders_call extends org.apache.thrift.async.TAsyncMethodCall {
      public getSlippedSippingDateOrders_call(org.apache.thrift.async.AsyncMethodCallback<getSlippedSippingDateOrders_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getSlippedSippingDateOrders", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getSlippedSippingDateOrders_args args = new getSlippedSippingDateOrders_args();
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<Order> getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getSlippedSippingDateOrders();
      }
    }

    public void getCancelledOrders(long cancelDateFrom, long cancelDateTo, org.apache.thrift.async.AsyncMethodCallback<getCancelledOrders_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getCancelledOrders_call method_call = new getCancelledOrders_call(cancelDateFrom, cancelDateTo, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getCancelledOrders_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long cancelDateFrom;
      private long cancelDateTo;
      public getCancelledOrders_call(long cancelDateFrom, long cancelDateTo, org.apache.thrift.async.AsyncMethodCallback<getCancelledOrders_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.cancelDateFrom = cancelDateFrom;
        this.cancelDateTo = cancelDateTo;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getCancelledOrders", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getCancelledOrders_args args = new getCancelledOrders_args();
        args.setCancelDateFrom(cancelDateFrom);
        args.setCancelDateTo(cancelDateTo);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<Order> getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getCancelledOrders();
      }
    }

    public void saveBluedartSettlements(Map<Long,Double> mapAWBAndAmount, org.apache.thrift.async.AsyncMethodCallback<saveBluedartSettlements_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      saveBluedartSettlements_call method_call = new saveBluedartSettlements_call(mapAWBAndAmount, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class saveBluedartSettlements_call extends org.apache.thrift.async.TAsyncMethodCall {
      private Map<Long,Double> mapAWBAndAmount;
      public saveBluedartSettlements_call(Map<Long,Double> mapAWBAndAmount, org.apache.thrift.async.AsyncMethodCallback<saveBluedartSettlements_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.mapAWBAndAmount = mapAWBAndAmount;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("saveBluedartSettlements", org.apache.thrift.protocol.TMessageType.CALL, 0));
        saveBluedartSettlements_args args = new saveBluedartSettlements_args();
        args.setMapAWBAndAmount(mapAWBAndAmount);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_saveBluedartSettlements();
      }
    }

    public void savePaymentSettlements(long settlementDate, long paymentGatewayId, long referenceId, double serviceTax, double otherCharges, double netCollection, org.apache.thrift.async.AsyncMethodCallback<savePaymentSettlements_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      savePaymentSettlements_call method_call = new savePaymentSettlements_call(settlementDate, paymentGatewayId, referenceId, serviceTax, otherCharges, netCollection, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class savePaymentSettlements_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long settlementDate;
      private long paymentGatewayId;
      private long referenceId;
      private double serviceTax;
      private double otherCharges;
      private double netCollection;
      public savePaymentSettlements_call(long settlementDate, long paymentGatewayId, long referenceId, double serviceTax, double otherCharges, double netCollection, org.apache.thrift.async.AsyncMethodCallback<savePaymentSettlements_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.settlementDate = settlementDate;
        this.paymentGatewayId = paymentGatewayId;
        this.referenceId = referenceId;
        this.serviceTax = serviceTax;
        this.otherCharges = otherCharges;
        this.netCollection = netCollection;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("savePaymentSettlements", org.apache.thrift.protocol.TMessageType.CALL, 0));
        savePaymentSettlements_args args = new savePaymentSettlements_args();
        args.setSettlementDate(settlementDate);
        args.setPaymentGatewayId(paymentGatewayId);
        args.setReferenceId(referenceId);
        args.setServiceTax(serviceTax);
        args.setOtherCharges(otherCharges);
        args.setNetCollection(netCollection);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_savePaymentSettlements();
      }
    }

    public void saveEBSSettlementSummary(long settlementId, long settlementDate, long transactionDateFrom, long transactionDateTo, double amount, org.apache.thrift.async.AsyncMethodCallback<saveEBSSettlementSummary_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      saveEBSSettlementSummary_call method_call = new saveEBSSettlementSummary_call(settlementId, settlementDate, transactionDateFrom, transactionDateTo, amount, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class saveEBSSettlementSummary_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long settlementId;
      private long settlementDate;
      private long transactionDateFrom;
      private long transactionDateTo;
      private double amount;
      public saveEBSSettlementSummary_call(long settlementId, long settlementDate, long transactionDateFrom, long transactionDateTo, double amount, org.apache.thrift.async.AsyncMethodCallback<saveEBSSettlementSummary_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.settlementId = settlementId;
        this.settlementDate = settlementDate;
        this.transactionDateFrom = transactionDateFrom;
        this.transactionDateTo = transactionDateTo;
        this.amount = amount;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("saveEBSSettlementSummary", org.apache.thrift.protocol.TMessageType.CALL, 0));
        saveEBSSettlementSummary_args args = new saveEBSSettlementSummary_args();
        args.setSettlementId(settlementId);
        args.setSettlementDate(settlementDate);
        args.setTransactionDateFrom(transactionDateFrom);
        args.setTransactionDateTo(transactionDateTo);
        args.setAmount(amount);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_saveEBSSettlementSummary();
      }
    }

    public void getSettlementForPrepaid(long referenceId, boolean isRefund, org.apache.thrift.async.AsyncMethodCallback<getSettlementForPrepaid_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getSettlementForPrepaid_call method_call = new getSettlementForPrepaid_call(referenceId, isRefund, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getSettlementForPrepaid_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long referenceId;
      private boolean isRefund;
      public getSettlementForPrepaid_call(long referenceId, boolean isRefund, org.apache.thrift.async.AsyncMethodCallback<getSettlementForPrepaid_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.referenceId = referenceId;
        this.isRefund = isRefund;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getSettlementForPrepaid", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getSettlementForPrepaid_args args = new getSettlementForPrepaid_args();
        args.setReferenceId(referenceId);
        args.setIsRefund(isRefund);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public PaymentSettlement getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getSettlementForPrepaid();
      }
    }

    public void getSettlementForCod(long orderId, boolean isRefund, org.apache.thrift.async.AsyncMethodCallback<getSettlementForCod_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getSettlementForCod_call method_call = new getSettlementForCod_call(orderId, isRefund, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getSettlementForCod_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long orderId;
      private boolean isRefund;
      public getSettlementForCod_call(long orderId, boolean isRefund, org.apache.thrift.async.AsyncMethodCallback<getSettlementForCod_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.orderId = orderId;
        this.isRefund = isRefund;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getSettlementForCod", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getSettlementForCod_args args = new getSettlementForCod_args();
        args.setOrderId(orderId);
        args.setIsRefund(isRefund);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public PaymentSettlement getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getSettlementForCod();
      }
    }

    public void getEBSSettlementSummaries(org.apache.thrift.async.AsyncMethodCallback<getEBSSettlementSummaries_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getEBSSettlementSummaries_call method_call = new getEBSSettlementSummaries_call(resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getEBSSettlementSummaries_call extends org.apache.thrift.async.TAsyncMethodCall {
      public getEBSSettlementSummaries_call(org.apache.thrift.async.AsyncMethodCallback<getEBSSettlementSummaries_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getEBSSettlementSummaries", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getEBSSettlementSummaries_args args = new getEBSSettlementSummaries_args();
        args.write(prot);
        prot.writeMessageEnd();
      }

      public Map<Long,String> getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getEBSSettlementSummaries();
      }
    }

    public void markEBSSettlementUploaded(long settlementId, org.apache.thrift.async.AsyncMethodCallback<markEBSSettlementUploaded_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      markEBSSettlementUploaded_call method_call = new markEBSSettlementUploaded_call(settlementId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class markEBSSettlementUploaded_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long settlementId;
      public markEBSSettlementUploaded_call(long settlementId, org.apache.thrift.async.AsyncMethodCallback<markEBSSettlementUploaded_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.settlementId = settlementId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("markEBSSettlementUploaded", org.apache.thrift.protocol.TMessageType.CALL, 0));
        markEBSSettlementUploaded_args args = new markEBSSettlementUploaded_args();
        args.setSettlementId(settlementId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_markEBSSettlementUploaded();
      }
    }

    public void getEBSSettlementDate(long settlementId, org.apache.thrift.async.AsyncMethodCallback<getEBSSettlementDate_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getEBSSettlementDate_call method_call = new getEBSSettlementDate_call(settlementId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getEBSSettlementDate_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long settlementId;
      public getEBSSettlementDate_call(long settlementId, org.apache.thrift.async.AsyncMethodCallback<getEBSSettlementDate_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.settlementId = settlementId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getEBSSettlementDate", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getEBSSettlementDate_args args = new getEBSSettlementDate_args();
        args.setSettlementId(settlementId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public long getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getEBSSettlementDate();
      }
    }

    public void getSettlementsByDate(long settlementDateFrom, long settlementDateTo, boolean isRefund, org.apache.thrift.async.AsyncMethodCallback<getSettlementsByDate_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getSettlementsByDate_call method_call = new getSettlementsByDate_call(settlementDateFrom, settlementDateTo, isRefund, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getSettlementsByDate_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long settlementDateFrom;
      private long settlementDateTo;
      private boolean isRefund;
      public getSettlementsByDate_call(long settlementDateFrom, long settlementDateTo, boolean isRefund, org.apache.thrift.async.AsyncMethodCallback<getSettlementsByDate_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.settlementDateFrom = settlementDateFrom;
        this.settlementDateTo = settlementDateTo;
        this.isRefund = isRefund;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getSettlementsByDate", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getSettlementsByDate_args args = new getSettlementsByDate_args();
        args.setSettlementDateFrom(settlementDateFrom);
        args.setSettlementDateTo(settlementDateTo);
        args.setIsRefund(isRefund);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<PaymentSettlement> getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getSettlementsByDate();
      }
    }

    public void getReshippedOrderIds(List<Long> orderIds, org.apache.thrift.async.AsyncMethodCallback<getReshippedOrderIds_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getReshippedOrderIds_call method_call = new getReshippedOrderIds_call(orderIds, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getReshippedOrderIds_call extends org.apache.thrift.async.TAsyncMethodCall {
      private List<Long> orderIds;
      public getReshippedOrderIds_call(List<Long> orderIds, org.apache.thrift.async.AsyncMethodCallback<getReshippedOrderIds_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.orderIds = orderIds;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getReshippedOrderIds", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getReshippedOrderIds_args args = new getReshippedOrderIds_args();
        args.setOrderIds(orderIds);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<Long> getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getReshippedOrderIds();
      }
    }

    public void getBilledOrders(long vendorId, boolean onlyVendorNotPaid, long billingDateFrom, long billingDateTo, org.apache.thrift.async.AsyncMethodCallback<getBilledOrders_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getBilledOrders_call method_call = new getBilledOrders_call(vendorId, onlyVendorNotPaid, billingDateFrom, billingDateTo, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getBilledOrders_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long vendorId;
      private boolean onlyVendorNotPaid;
      private long billingDateFrom;
      private long billingDateTo;
      public getBilledOrders_call(long vendorId, boolean onlyVendorNotPaid, long billingDateFrom, long billingDateTo, org.apache.thrift.async.AsyncMethodCallback<getBilledOrders_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.vendorId = vendorId;
        this.onlyVendorNotPaid = onlyVendorNotPaid;
        this.billingDateFrom = billingDateFrom;
        this.billingDateTo = billingDateTo;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getBilledOrders", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getBilledOrders_args args = new getBilledOrders_args();
        args.setVendorId(vendorId);
        args.setOnlyVendorNotPaid(onlyVendorNotPaid);
        args.setBillingDateFrom(billingDateFrom);
        args.setBillingDateTo(billingDateTo);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<Order> getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getBilledOrders();
      }
    }

    public void getStatusDistributionOfOrders(long startDate, long endDate, org.apache.thrift.async.AsyncMethodCallback<getStatusDistributionOfOrders_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getStatusDistributionOfOrders_call method_call = new getStatusDistributionOfOrders_call(startDate, endDate, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getStatusDistributionOfOrders_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long startDate;
      private long endDate;
      public getStatusDistributionOfOrders_call(long startDate, long endDate, org.apache.thrift.async.AsyncMethodCallback<getStatusDistributionOfOrders_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.startDate = startDate;
        this.endDate = endDate;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getStatusDistributionOfOrders", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getStatusDistributionOfOrders_args args = new getStatusDistributionOfOrders_args();
        args.setStartDate(startDate);
        args.setEndDate(endDate);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public Map<Long,Long> getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getStatusDistributionOfOrders();
      }
    }

    public void getOrderIdsForStatus(long status, long startDatetime, long endDatetime, org.apache.thrift.async.AsyncMethodCallback<getOrderIdsForStatus_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getOrderIdsForStatus_call method_call = new getOrderIdsForStatus_call(status, startDatetime, endDatetime, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getOrderIdsForStatus_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long status;
      private long startDatetime;
      private long endDatetime;
      public getOrderIdsForStatus_call(long status, long startDatetime, long endDatetime, org.apache.thrift.async.AsyncMethodCallback<getOrderIdsForStatus_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.status = status;
        this.startDatetime = startDatetime;
        this.endDatetime = endDatetime;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getOrderIdsForStatus", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getOrderIdsForStatus_args args = new getOrderIdsForStatus_args();
        args.setStatus(status);
        args.setStartDatetime(startDatetime);
        args.setEndDatetime(endDatetime);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<Long> getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getOrderIdsForStatus();
      }
    }

    public void updateCODAgent(String agent, long orderId, org.apache.thrift.async.AsyncMethodCallback<updateCODAgent_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      updateCODAgent_call method_call = new updateCODAgent_call(agent, orderId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class updateCODAgent_call extends org.apache.thrift.async.TAsyncMethodCall {
      private String agent;
      private long orderId;
      public updateCODAgent_call(String agent, long orderId, org.apache.thrift.async.AsyncMethodCallback<updateCODAgent_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.agent = agent;
        this.orderId = orderId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateCODAgent", org.apache.thrift.protocol.TMessageType.CALL, 0));
        updateCODAgent_args args = new updateCODAgent_args();
        args.setAgent(agent);
        args.setOrderId(orderId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_updateCODAgent();
      }
    }

    public void updateOrderAsPaidToVendor(long orderId, org.apache.thrift.async.AsyncMethodCallback<updateOrderAsPaidToVendor_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      updateOrderAsPaidToVendor_call method_call = new updateOrderAsPaidToVendor_call(orderId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class updateOrderAsPaidToVendor_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long orderId;
      public updateOrderAsPaidToVendor_call(long orderId, org.apache.thrift.async.AsyncMethodCallback<updateOrderAsPaidToVendor_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.orderId = orderId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateOrderAsPaidToVendor", org.apache.thrift.protocol.TMessageType.CALL, 0));
        updateOrderAsPaidToVendor_args args = new updateOrderAsPaidToVendor_args();
        args.setOrderId(orderId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_updateOrderAsPaidToVendor();
      }
    }

    public void updateOrderOnlyAsPaidToVendor(long orderId, org.apache.thrift.async.AsyncMethodCallback<updateOrderOnlyAsPaidToVendor_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      updateOrderOnlyAsPaidToVendor_call method_call = new updateOrderOnlyAsPaidToVendor_call(orderId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class updateOrderOnlyAsPaidToVendor_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long orderId;
      public updateOrderOnlyAsPaidToVendor_call(long orderId, org.apache.thrift.async.AsyncMethodCallback<updateOrderOnlyAsPaidToVendor_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.orderId = orderId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateOrderOnlyAsPaidToVendor", org.apache.thrift.protocol.TMessageType.CALL, 0));
        updateOrderOnlyAsPaidToVendor_args args = new updateOrderOnlyAsPaidToVendor_args();
        args.setOrderId(orderId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_updateOrderOnlyAsPaidToVendor();
      }
    }

    public void getRefundedOrdersMarkedPaid(org.apache.thrift.async.AsyncMethodCallback<getRefundedOrdersMarkedPaid_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getRefundedOrdersMarkedPaid_call method_call = new getRefundedOrdersMarkedPaid_call(resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getRefundedOrdersMarkedPaid_call extends org.apache.thrift.async.TAsyncMethodCall {
      public getRefundedOrdersMarkedPaid_call(org.apache.thrift.async.AsyncMethodCallback<getRefundedOrdersMarkedPaid_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getRefundedOrdersMarkedPaid", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getRefundedOrdersMarkedPaid_args args = new getRefundedOrdersMarkedPaid_args();
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<Order> getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getRefundedOrdersMarkedPaid();
      }
    }

    public void getAllVerificationAgents(long minOrderId, long maxOrderId, org.apache.thrift.async.AsyncMethodCallback<getAllVerificationAgents_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getAllVerificationAgents_call method_call = new getAllVerificationAgents_call(minOrderId, maxOrderId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getAllVerificationAgents_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long minOrderId;
      private long maxOrderId;
      public getAllVerificationAgents_call(long minOrderId, long maxOrderId, org.apache.thrift.async.AsyncMethodCallback<getAllVerificationAgents_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.minOrderId = minOrderId;
        this.maxOrderId = maxOrderId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAllVerificationAgents", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getAllVerificationAgents_args args = new getAllVerificationAgents_args();
        args.setMinOrderId(minOrderId);
        args.setMaxOrderId(maxOrderId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<CODVerificationAgent> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getAllVerificationAgents();
      }
    }

    public void getAllAttributesForOrderId(long orderId, org.apache.thrift.async.AsyncMethodCallback<getAllAttributesForOrderId_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getAllAttributesForOrderId_call method_call = new getAllAttributesForOrderId_call(orderId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getAllAttributesForOrderId_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long orderId;
      public getAllAttributesForOrderId_call(long orderId, org.apache.thrift.async.AsyncMethodCallback<getAllAttributesForOrderId_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.orderId = orderId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAllAttributesForOrderId", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getAllAttributesForOrderId_args args = new getAllAttributesForOrderId_args();
        args.setOrderId(orderId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<Attribute> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getAllAttributesForOrderId();
      }
    }

    public void setOrderAttributes(long orderId, List<Attribute> attributes, org.apache.thrift.async.AsyncMethodCallback<setOrderAttributes_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      setOrderAttributes_call method_call = new setOrderAttributes_call(orderId, attributes, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class setOrderAttributes_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long orderId;
      private List<Attribute> attributes;
      public setOrderAttributes_call(long orderId, List<Attribute> attributes, org.apache.thrift.async.AsyncMethodCallback<setOrderAttributes_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.orderId = orderId;
        this.attributes = attributes;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("setOrderAttributes", org.apache.thrift.protocol.TMessageType.CALL, 0));
        setOrderAttributes_args args = new setOrderAttributes_args();
        args.setOrderId(orderId);
        args.setAttributes(attributes);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_setOrderAttributes();
      }
    }

    public void setOrderAttributeForTransaction(long transactionId, Attribute attribute, org.apache.thrift.async.AsyncMethodCallback<setOrderAttributeForTransaction_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      setOrderAttributeForTransaction_call method_call = new setOrderAttributeForTransaction_call(transactionId, attribute, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class setOrderAttributeForTransaction_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long transactionId;
      private Attribute attribute;
      public setOrderAttributeForTransaction_call(long transactionId, Attribute attribute, org.apache.thrift.async.AsyncMethodCallback<setOrderAttributeForTransaction_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.transactionId = transactionId;
        this.attribute = attribute;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("setOrderAttributeForTransaction", org.apache.thrift.protocol.TMessageType.CALL, 0));
        setOrderAttributeForTransaction_args args = new setOrderAttributeForTransaction_args();
        args.setTransactionId(transactionId);
        args.setAttribute(attribute);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_setOrderAttributeForTransaction();
      }
    }

    public void getReceivePendingOrders(long storeId, org.apache.thrift.async.AsyncMethodCallback<getReceivePendingOrders_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getReceivePendingOrders_call method_call = new getReceivePendingOrders_call(storeId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getReceivePendingOrders_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long storeId;
      public getReceivePendingOrders_call(long storeId, org.apache.thrift.async.AsyncMethodCallback<getReceivePendingOrders_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.storeId = storeId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getReceivePendingOrders", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getReceivePendingOrders_args args = new getReceivePendingOrders_args();
        args.setStoreId(storeId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<Order> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getReceivePendingOrders();
      }
    }

    public void getReceivedAtStoreOrders(long storeId, org.apache.thrift.async.AsyncMethodCallback<getReceivedAtStoreOrders_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getReceivedAtStoreOrders_call method_call = new getReceivedAtStoreOrders_call(storeId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getReceivedAtStoreOrders_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long storeId;
      public getReceivedAtStoreOrders_call(long storeId, org.apache.thrift.async.AsyncMethodCallback<getReceivedAtStoreOrders_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.storeId = storeId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getReceivedAtStoreOrders", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getReceivedAtStoreOrders_args args = new getReceivedAtStoreOrders_args();
        args.setStoreId(storeId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<Order> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getReceivedAtStoreOrders();
      }
    }

    public void getOrdersCollectionAtStore(long storeId, long fromDate, long toDate, boolean onlyCod, org.apache.thrift.async.AsyncMethodCallback<getOrdersCollectionAtStore_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getOrdersCollectionAtStore_call method_call = new getOrdersCollectionAtStore_call(storeId, fromDate, toDate, onlyCod, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getOrdersCollectionAtStore_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long storeId;
      private long fromDate;
      private long toDate;
      private boolean onlyCod;
      public getOrdersCollectionAtStore_call(long storeId, long fromDate, long toDate, boolean onlyCod, org.apache.thrift.async.AsyncMethodCallback<getOrdersCollectionAtStore_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.storeId = storeId;
        this.fromDate = fromDate;
        this.toDate = toDate;
        this.onlyCod = onlyCod;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getOrdersCollectionAtStore", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getOrdersCollectionAtStore_args args = new getOrdersCollectionAtStore_args();
        args.setStoreId(storeId);
        args.setFromDate(fromDate);
        args.setToDate(toDate);
        args.setOnlyCod(onlyCod);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<Order> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getOrdersCollectionAtStore();
      }
    }

    public void getOrderAttributeValue(long orderId, String attributeName, org.apache.thrift.async.AsyncMethodCallback<getOrderAttributeValue_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getOrderAttributeValue_call method_call = new getOrderAttributeValue_call(orderId, attributeName, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getOrderAttributeValue_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long orderId;
      private String attributeName;
      public getOrderAttributeValue_call(long orderId, String attributeName, org.apache.thrift.async.AsyncMethodCallback<getOrderAttributeValue_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.orderId = orderId;
        this.attributeName = attributeName;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getOrderAttributeValue", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getOrderAttributeValue_args args = new getOrderAttributeValue_args();
        args.setOrderId(orderId);
        args.setAttributeName(attributeName);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public String getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getOrderAttributeValue();
      }
    }

    public void changeJacketNumber(long orderId, long jacketNumber, org.apache.thrift.async.AsyncMethodCallback<changeJacketNumber_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      changeJacketNumber_call method_call = new changeJacketNumber_call(orderId, jacketNumber, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class changeJacketNumber_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long orderId;
      private long jacketNumber;
      public changeJacketNumber_call(long orderId, long jacketNumber, org.apache.thrift.async.AsyncMethodCallback<changeJacketNumber_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.orderId = orderId;
        this.jacketNumber = jacketNumber;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("changeJacketNumber", org.apache.thrift.protocol.TMessageType.CALL, 0));
        changeJacketNumber_args args = new changeJacketNumber_args();
        args.setOrderId(orderId);
        args.setJacketNumber(jacketNumber);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public boolean getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_changeJacketNumber();
      }
    }

    public void markOrderAsRtoInTransit(long orderId, org.apache.thrift.async.AsyncMethodCallback<markOrderAsRtoInTransit_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      markOrderAsRtoInTransit_call method_call = new markOrderAsRtoInTransit_call(orderId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class markOrderAsRtoInTransit_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long orderId;
      public markOrderAsRtoInTransit_call(long orderId, org.apache.thrift.async.AsyncMethodCallback<markOrderAsRtoInTransit_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.orderId = orderId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("markOrderAsRtoInTransit", org.apache.thrift.protocol.TMessageType.CALL, 0));
        markOrderAsRtoInTransit_args args = new markOrderAsRtoInTransit_args();
        args.setOrderId(orderId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public boolean getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_markOrderAsRtoInTransit();
      }
    }

    public void acceptOrderForItem(long itemId, long quantity, long fulfilmentWarehouseId, long billingWarehouseId, org.apache.thrift.async.AsyncMethodCallback<acceptOrderForItem_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      acceptOrderForItem_call method_call = new acceptOrderForItem_call(itemId, quantity, fulfilmentWarehouseId, billingWarehouseId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class acceptOrderForItem_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long itemId;
      private long quantity;
      private long fulfilmentWarehouseId;
      private long billingWarehouseId;
      public acceptOrderForItem_call(long itemId, long quantity, long fulfilmentWarehouseId, long billingWarehouseId, org.apache.thrift.async.AsyncMethodCallback<acceptOrderForItem_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.itemId = itemId;
        this.quantity = quantity;
        this.fulfilmentWarehouseId = fulfilmentWarehouseId;
        this.billingWarehouseId = billingWarehouseId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("acceptOrderForItem", org.apache.thrift.protocol.TMessageType.CALL, 0));
        acceptOrderForItem_args args = new acceptOrderForItem_args();
        args.setItemId(itemId);
        args.setQuantity(quantity);
        args.setFulfilmentWarehouseId(fulfilmentWarehouseId);
        args.setBillingWarehouseId(billingWarehouseId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_acceptOrderForItem();
      }
    }

    public void createRechargeOrder(RechargeOrder rechargeOrder, org.apache.thrift.async.AsyncMethodCallback<createRechargeOrder_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      createRechargeOrder_call method_call = new createRechargeOrder_call(rechargeOrder, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class createRechargeOrder_call extends org.apache.thrift.async.TAsyncMethodCall {
      private RechargeOrder rechargeOrder;
      public createRechargeOrder_call(RechargeOrder rechargeOrder, org.apache.thrift.async.AsyncMethodCallback<createRechargeOrder_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.rechargeOrder = rechargeOrder;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("createRechargeOrder", org.apache.thrift.protocol.TMessageType.CALL, 0));
        createRechargeOrder_args args = new createRechargeOrder_args();
        args.setRechargeOrder(rechargeOrder);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public RechargeOrder getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_createRechargeOrder();
      }
    }

    public void getRechargeOrder(long rechargeRrderId, org.apache.thrift.async.AsyncMethodCallback<getRechargeOrder_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getRechargeOrder_call method_call = new getRechargeOrder_call(rechargeRrderId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getRechargeOrder_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long rechargeRrderId;
      public getRechargeOrder_call(long rechargeRrderId, org.apache.thrift.async.AsyncMethodCallback<getRechargeOrder_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.rechargeRrderId = rechargeRrderId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getRechargeOrder", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getRechargeOrder_args args = new getRechargeOrder_args();
        args.setRechargeRrderId(rechargeRrderId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public RechargeOrder getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getRechargeOrder();
      }
    }

    public void getRechargeOrders(long userId, org.apache.thrift.async.AsyncMethodCallback<getRechargeOrders_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getRechargeOrders_call method_call = new getRechargeOrders_call(userId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getRechargeOrders_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long userId;
      public getRechargeOrders_call(long userId, org.apache.thrift.async.AsyncMethodCallback<getRechargeOrders_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.userId = userId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getRechargeOrders", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getRechargeOrders_args args = new getRechargeOrders_args();
        args.setUserId(userId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<RechargeOrder> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getRechargeOrders();
      }
    }

    public void updateRechargeOrderStatus(long rechargeOrderId, RechargeOrderStatus rechargeOrderStatus, org.apache.thrift.async.AsyncMethodCallback<updateRechargeOrderStatus_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      updateRechargeOrderStatus_call method_call = new updateRechargeOrderStatus_call(rechargeOrderId, rechargeOrderStatus, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class updateRechargeOrderStatus_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long rechargeOrderId;
      private RechargeOrderStatus rechargeOrderStatus;
      public updateRechargeOrderStatus_call(long rechargeOrderId, RechargeOrderStatus rechargeOrderStatus, org.apache.thrift.async.AsyncMethodCallback<updateRechargeOrderStatus_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.rechargeOrderId = rechargeOrderId;
        this.rechargeOrderStatus = rechargeOrderStatus;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateRechargeOrderStatus", org.apache.thrift.protocol.TMessageType.CALL, 0));
        updateRechargeOrderStatus_args args = new updateRechargeOrderStatus_args();
        args.setRechargeOrderId(rechargeOrderId);
        args.setRechargeOrderStatus(rechargeOrderStatus);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public boolean getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_updateRechargeOrderStatus();
      }
    }

    public void activateRechargeTxn(long rechargeOrderId, org.apache.thrift.async.AsyncMethodCallback<activateRechargeTxn_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      activateRechargeTxn_call method_call = new activateRechargeTxn_call(rechargeOrderId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class activateRechargeTxn_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long rechargeOrderId;
      public activateRechargeTxn_call(long rechargeOrderId, org.apache.thrift.async.AsyncMethodCallback<activateRechargeTxn_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.rechargeOrderId = rechargeOrderId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("activateRechargeTxn", org.apache.thrift.protocol.TMessageType.CALL, 0));
        activateRechargeTxn_args args = new activateRechargeTxn_args();
        args.setRechargeOrderId(rechargeOrderId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public boolean getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_activateRechargeTxn();
      }
    }

    public void getUserWallet(long userId, org.apache.thrift.async.AsyncMethodCallback<getUserWallet_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getUserWallet_call method_call = new getUserWallet_call(userId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getUserWallet_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long userId;
      public getUserWallet_call(long userId, org.apache.thrift.async.AsyncMethodCallback<getUserWallet_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.userId = userId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getUserWallet", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getUserWallet_args args = new getUserWallet_args();
        args.setUserId(userId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public UserWallet getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getUserWallet();
      }
    }

    public void getUserWalletHistory(long userId, org.apache.thrift.async.AsyncMethodCallback<getUserWalletHistory_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getUserWalletHistory_call method_call = new getUserWalletHistory_call(userId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getUserWalletHistory_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long userId;
      public getUserWalletHistory_call(long userId, org.apache.thrift.async.AsyncMethodCallback<getUserWalletHistory_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.userId = userId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getUserWalletHistory", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getUserWalletHistory_args args = new getUserWalletHistory_args();
        args.setUserId(userId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<UserWalletHistory> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getUserWalletHistory();
      }
    }

    public void getLatestUserWalletHistory(long userId, long offset, long limit, org.apache.thrift.async.AsyncMethodCallback<getLatestUserWalletHistory_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getLatestUserWalletHistory_call method_call = new getLatestUserWalletHistory_call(userId, offset, limit, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getLatestUserWalletHistory_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long userId;
      private long offset;
      private long limit;
      public getLatestUserWalletHistory_call(long userId, long offset, long limit, org.apache.thrift.async.AsyncMethodCallback<getLatestUserWalletHistory_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.userId = userId;
        this.offset = offset;
        this.limit = limit;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getLatestUserWalletHistory", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getLatestUserWalletHistory_args args = new getLatestUserWalletHistory_args();
        args.setUserId(userId);
        args.setOffset(offset);
        args.setLimit(limit);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<UserWalletHistory> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getLatestUserWalletHistory();
      }
    }

    public void getRechargeOrdersForTransaction(long txnId, org.apache.thrift.async.AsyncMethodCallback<getRechargeOrdersForTransaction_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getRechargeOrdersForTransaction_call method_call = new getRechargeOrdersForTransaction_call(txnId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getRechargeOrdersForTransaction_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long txnId;
      public getRechargeOrdersForTransaction_call(long txnId, org.apache.thrift.async.AsyncMethodCallback<getRechargeOrdersForTransaction_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.txnId = txnId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getRechargeOrdersForTransaction", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getRechargeOrdersForTransaction_args args = new getRechargeOrdersForTransaction_args();
        args.setTxnId(txnId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public RechargeOrder getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getRechargeOrdersForTransaction();
      }
    }

    public void getServiceProviders(RechargeType rechargeType, boolean onlyActive, org.apache.thrift.async.AsyncMethodCallback<getServiceProviders_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getServiceProviders_call method_call = new getServiceProviders_call(rechargeType, onlyActive, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getServiceProviders_call extends org.apache.thrift.async.TAsyncMethodCall {
      private RechargeType rechargeType;
      private boolean onlyActive;
      public getServiceProviders_call(RechargeType rechargeType, boolean onlyActive, org.apache.thrift.async.AsyncMethodCallback<getServiceProviders_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.rechargeType = rechargeType;
        this.onlyActive = onlyActive;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getServiceProviders", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getServiceProviders_args args = new getServiceProviders_args();
        args.setRechargeType(rechargeType);
        args.setOnlyActive(onlyActive);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public Map<Long,String> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getServiceProviders();
      }
    }

    public void getServiceProviderForDevice(RechargeType rechargeType, String deviceNumber, org.apache.thrift.async.AsyncMethodCallback<getServiceProviderForDevice_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getServiceProviderForDevice_call method_call = new getServiceProviderForDevice_call(rechargeType, deviceNumber, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getServiceProviderForDevice_call extends org.apache.thrift.async.TAsyncMethodCall {
      private RechargeType rechargeType;
      private String deviceNumber;
      public getServiceProviderForDevice_call(RechargeType rechargeType, String deviceNumber, org.apache.thrift.async.AsyncMethodCallback<getServiceProviderForDevice_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.rechargeType = rechargeType;
        this.deviceNumber = deviceNumber;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getServiceProviderForDevice", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getServiceProviderForDevice_args args = new getServiceProviderForDevice_args();
        args.setRechargeType(rechargeType);
        args.setDeviceNumber(deviceNumber);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public DeviceNumberInfo getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getServiceProviderForDevice();
      }
    }

    public void validateRecharge(RechargeType rechargeType, String deviceNumber, long userSelectedProviderId, String clientAddress, org.apache.thrift.async.AsyncMethodCallback<validateRecharge_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      validateRecharge_call method_call = new validateRecharge_call(rechargeType, deviceNumber, userSelectedProviderId, clientAddress, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class validateRecharge_call extends org.apache.thrift.async.TAsyncMethodCall {
      private RechargeType rechargeType;
      private String deviceNumber;
      private long userSelectedProviderId;
      private String clientAddress;
      public validateRecharge_call(RechargeType rechargeType, String deviceNumber, long userSelectedProviderId, String clientAddress, org.apache.thrift.async.AsyncMethodCallback<validateRecharge_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.rechargeType = rechargeType;
        this.deviceNumber = deviceNumber;
        this.userSelectedProviderId = userSelectedProviderId;
        this.clientAddress = clientAddress;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("validateRecharge", org.apache.thrift.protocol.TMessageType.CALL, 0));
        validateRecharge_args args = new validateRecharge_args();
        args.setRechargeType(rechargeType);
        args.setDeviceNumber(deviceNumber);
        args.setUserSelectedProviderId(userSelectedProviderId);
        args.setClientAddress(clientAddress);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public String getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_validateRecharge();
      }
    }

    public void getRechargeOrdersForDevice(String deviceNumber, org.apache.thrift.async.AsyncMethodCallback<getRechargeOrdersForDevice_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getRechargeOrdersForDevice_call method_call = new getRechargeOrdersForDevice_call(deviceNumber, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getRechargeOrdersForDevice_call extends org.apache.thrift.async.TAsyncMethodCall {
      private String deviceNumber;
      public getRechargeOrdersForDevice_call(String deviceNumber, org.apache.thrift.async.AsyncMethodCallback<getRechargeOrdersForDevice_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.deviceNumber = deviceNumber;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getRechargeOrdersForDevice", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getRechargeOrdersForDevice_args args = new getRechargeOrdersForDevice_args();
        args.setDeviceNumber(deviceNumber);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<RechargeOrder> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getRechargeOrdersForDevice();
      }
    }

    public void creditBatch(long batchId, String userAmount, org.apache.thrift.async.AsyncMethodCallback<creditBatch_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      creditBatch_call method_call = new creditBatch_call(batchId, userAmount, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class creditBatch_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long batchId;
      private String userAmount;
      public creditBatch_call(long batchId, String userAmount, org.apache.thrift.async.AsyncMethodCallback<creditBatch_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.batchId = batchId;
        this.userAmount = userAmount;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("creditBatch", org.apache.thrift.protocol.TMessageType.CALL, 0));
        creditBatch_args args = new creditBatch_args();
        args.setBatchId(batchId);
        args.setUserAmount(userAmount);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_creditBatch();
      }
    }

    public void getRechargeStatistics(org.apache.thrift.async.AsyncMethodCallback<getRechargeStatistics_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getRechargeStatistics_call method_call = new getRechargeStatistics_call(resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getRechargeStatistics_call extends org.apache.thrift.async.TAsyncMethodCall {
      public getRechargeStatistics_call(org.apache.thrift.async.AsyncMethodCallback<getRechargeStatistics_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getRechargeStatistics", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getRechargeStatistics_args args = new getRechargeStatistics_args();
        args.write(prot);
        prot.writeMessageEnd();
      }

      public RechargeStatistics getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getRechargeStatistics();
      }
    }

    public void getRechargeOrdersForStatus(long status, org.apache.thrift.async.AsyncMethodCallback<getRechargeOrdersForStatus_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getRechargeOrdersForStatus_call method_call = new getRechargeOrdersForStatus_call(status, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getRechargeOrdersForStatus_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long status;
      public getRechargeOrdersForStatus_call(long status, org.apache.thrift.async.AsyncMethodCallback<getRechargeOrdersForStatus_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.status = status;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getRechargeOrdersForStatus", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getRechargeOrdersForStatus_args args = new getRechargeOrdersForStatus_args();
        args.setStatus(status);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<RechargeOrder> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getRechargeOrdersForStatus();
      }
    }

    public void getPlansForOperator(long operatorId, org.apache.thrift.async.AsyncMethodCallback<getPlansForOperator_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getPlansForOperator_call method_call = new getPlansForOperator_call(operatorId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getPlansForOperator_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long operatorId;
      public getPlansForOperator_call(long operatorId, org.apache.thrift.async.AsyncMethodCallback<getPlansForOperator_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.operatorId = operatorId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getPlansForOperator", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getPlansForOperator_args args = new getPlansForOperator_args();
        args.setOperatorId(operatorId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<RechargePlan> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getPlansForOperator();
      }
    }

    public void getRechargeDenominations(long operatorId, String circleCode, DenominationType denominationType, org.apache.thrift.async.AsyncMethodCallback<getRechargeDenominations_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getRechargeDenominations_call method_call = new getRechargeDenominations_call(operatorId, circleCode, denominationType, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getRechargeDenominations_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long operatorId;
      private String circleCode;
      private DenominationType denominationType;
      public getRechargeDenominations_call(long operatorId, String circleCode, DenominationType denominationType, org.apache.thrift.async.AsyncMethodCallback<getRechargeDenominations_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.operatorId = operatorId;
        this.circleCode = circleCode;
        this.denominationType = denominationType;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getRechargeDenominations", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getRechargeDenominations_args args = new getRechargeDenominations_args();
        args.setOperatorId(operatorId);
        args.setCircleCode(circleCode);
        args.setDenominationType(denominationType);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<RechargeDenomination> getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getRechargeDenominations();
      }
    }

    public void updateAvailabilityStatus(long operatorId, long circleId, boolean isAvailable, org.apache.thrift.async.AsyncMethodCallback<updateAvailabilityStatus_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      updateAvailabilityStatus_call method_call = new updateAvailabilityStatus_call(operatorId, circleId, isAvailable, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class updateAvailabilityStatus_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long operatorId;
      private long circleId;
      private boolean isAvailable;
      public updateAvailabilityStatus_call(long operatorId, long circleId, boolean isAvailable, org.apache.thrift.async.AsyncMethodCallback<updateAvailabilityStatus_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.operatorId = operatorId;
        this.circleId = circleId;
        this.isAvailable = isAvailable;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateAvailabilityStatus", org.apache.thrift.protocol.TMessageType.CALL, 0));
        updateAvailabilityStatus_args args = new updateAvailabilityStatus_args();
        args.setOperatorId(operatorId);
        args.setCircleId(circleId);
        args.setIsAvailable(isAvailable);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_updateAvailabilityStatus();
      }
    }

    public void getAvailableEmiSchemes(org.apache.thrift.async.AsyncMethodCallback<getAvailableEmiSchemes_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getAvailableEmiSchemes_call method_call = new getAvailableEmiSchemes_call(resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getAvailableEmiSchemes_call extends org.apache.thrift.async.TAsyncMethodCall {
      public getAvailableEmiSchemes_call(org.apache.thrift.async.AsyncMethodCallback<getAvailableEmiSchemes_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAvailableEmiSchemes", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getAvailableEmiSchemes_args args = new getAvailableEmiSchemes_args();
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<EmiScheme> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getAvailableEmiSchemes();
      }
    }

    public void getMiscCharges(long transactionId, org.apache.thrift.async.AsyncMethodCallback<getMiscCharges_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getMiscCharges_call method_call = new getMiscCharges_call(transactionId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getMiscCharges_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long transactionId;
      public getMiscCharges_call(long transactionId, org.apache.thrift.async.AsyncMethodCallback<getMiscCharges_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.transactionId = transactionId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getMiscCharges", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getMiscCharges_args args = new getMiscCharges_args();
        args.setTransactionId(transactionId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public Map<Long,Double> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getMiscCharges();
      }
    }

    public void refundRechargeOrder(long rechargeOrderId, org.apache.thrift.async.AsyncMethodCallback<refundRechargeOrder_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      refundRechargeOrder_call method_call = new refundRechargeOrder_call(rechargeOrderId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class refundRechargeOrder_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long rechargeOrderId;
      public refundRechargeOrder_call(long rechargeOrderId, org.apache.thrift.async.AsyncMethodCallback<refundRechargeOrder_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.rechargeOrderId = rechargeOrderId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("refundRechargeOrder", org.apache.thrift.protocol.TMessageType.CALL, 0));
        refundRechargeOrder_args args = new refundRechargeOrder_args();
        args.setRechargeOrderId(rechargeOrderId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public boolean getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_refundRechargeOrder();
      }
    }

    public void getPhysicalOrders(long fromDate, long toDate, org.apache.thrift.async.AsyncMethodCallback<getPhysicalOrders_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getPhysicalOrders_call method_call = new getPhysicalOrders_call(fromDate, toDate, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getPhysicalOrders_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long fromDate;
      private long toDate;
      public getPhysicalOrders_call(long fromDate, long toDate, org.apache.thrift.async.AsyncMethodCallback<getPhysicalOrders_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.fromDate = fromDate;
        this.toDate = toDate;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getPhysicalOrders", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getPhysicalOrders_args args = new getPhysicalOrders_args();
        args.setFromDate(fromDate);
        args.setToDate(toDate);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<Order> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getPhysicalOrders();
      }
    }

    public void getDocument(long docType, long docSource, org.apache.thrift.async.AsyncMethodCallback<getDocument_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getDocument_call method_call = new getDocument_call(docType, docSource, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getDocument_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long docType;
      private long docSource;
      public getDocument_call(long docType, long docSource, org.apache.thrift.async.AsyncMethodCallback<getDocument_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.docType = docType;
        this.docSource = docSource;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getDocument", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getDocument_args args = new getDocument_args();
        args.setDocType(docType);
        args.setDocSource(docSource);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public ByteBuffer getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getDocument();
      }
    }

    public void changeShippingAddress(long orderId, String line1, String line2, String city, String state, String pin, org.apache.thrift.async.AsyncMethodCallback<changeShippingAddress_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      changeShippingAddress_call method_call = new changeShippingAddress_call(orderId, line1, line2, city, state, pin, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class changeShippingAddress_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long orderId;
      private String line1;
      private String line2;
      private String city;
      private String state;
      private String pin;
      public changeShippingAddress_call(long orderId, String line1, String line2, String city, String state, String pin, org.apache.thrift.async.AsyncMethodCallback<changeShippingAddress_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.orderId = orderId;
        this.line1 = line1;
        this.line2 = line2;
        this.city = city;
        this.state = state;
        this.pin = pin;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("changeShippingAddress", org.apache.thrift.protocol.TMessageType.CALL, 0));
        changeShippingAddress_args args = new changeShippingAddress_args();
        args.setOrderId(orderId);
        args.setLine1(line1);
        args.setLine2(line2);
        args.setCity(city);
        args.setState(state);
        args.setPin(pin);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public boolean getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_changeShippingAddress();
      }
    }

    public void retrieveInvoice(long orderId, long userId, org.apache.thrift.async.AsyncMethodCallback<retrieveInvoice_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      retrieveInvoice_call method_call = new retrieveInvoice_call(orderId, userId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class retrieveInvoice_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long orderId;
      private long userId;
      public retrieveInvoice_call(long orderId, long userId, org.apache.thrift.async.AsyncMethodCallback<retrieveInvoice_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.orderId = orderId;
        this.userId = userId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("retrieveInvoice", org.apache.thrift.protocol.TMessageType.CALL, 0));
        retrieveInvoice_args args = new retrieveInvoice_args();
        args.setOrderId(orderId);
        args.setUserId(userId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public ByteBuffer getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_retrieveInvoice();
      }
    }

    public void receiveUpdatesForRedExpress(String awbNumber, org.apache.thrift.async.AsyncMethodCallback<receiveUpdatesForRedExpress_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      receiveUpdatesForRedExpress_call method_call = new receiveUpdatesForRedExpress_call(awbNumber, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class receiveUpdatesForRedExpress_call extends org.apache.thrift.async.TAsyncMethodCall {
      private String awbNumber;
      public receiveUpdatesForRedExpress_call(String awbNumber, org.apache.thrift.async.AsyncMethodCallback<receiveUpdatesForRedExpress_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.awbNumber = awbNumber;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("receiveUpdatesForRedExpress", org.apache.thrift.protocol.TMessageType.CALL, 0));
        receiveUpdatesForRedExpress_args args = new receiveUpdatesForRedExpress_args();
        args.setAwbNumber(awbNumber);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<String> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_receiveUpdatesForRedExpress();
      }
    }

    public void createRechargeTransaction(RechargeTransaction thriftRechargeTransaction, org.apache.thrift.async.AsyncMethodCallback<createRechargeTransaction_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      createRechargeTransaction_call method_call = new createRechargeTransaction_call(thriftRechargeTransaction, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class createRechargeTransaction_call extends org.apache.thrift.async.TAsyncMethodCall {
      private RechargeTransaction thriftRechargeTransaction;
      public createRechargeTransaction_call(RechargeTransaction thriftRechargeTransaction, org.apache.thrift.async.AsyncMethodCallback<createRechargeTransaction_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.thriftRechargeTransaction = thriftRechargeTransaction;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("createRechargeTransaction", org.apache.thrift.protocol.TMessageType.CALL, 0));
        createRechargeTransaction_args args = new createRechargeTransaction_args();
        args.setThriftRechargeTransaction(thriftRechargeTransaction);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public RechargeTransaction getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_createRechargeTransaction();
      }
    }

    public void getRechargeTransactions(long storeId, org.apache.thrift.async.AsyncMethodCallback<getRechargeTransactions_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getRechargeTransactions_call method_call = new getRechargeTransactions_call(storeId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getRechargeTransactions_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long storeId;
      public getRechargeTransactions_call(long storeId, org.apache.thrift.async.AsyncMethodCallback<getRechargeTransactions_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.storeId = storeId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getRechargeTransactions", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getRechargeTransactions_args args = new getRechargeTransactions_args();
        args.setStoreId(storeId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<RechargeTransaction> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getRechargeTransactions();
      }
    }

    public void getRechargeTrans(long storeId, long startDate, long endDate, RechargeOrderStatus status, org.apache.thrift.async.AsyncMethodCallback<getRechargeTrans_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getRechargeTrans_call method_call = new getRechargeTrans_call(storeId, startDate, endDate, status, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getRechargeTrans_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long storeId;
      private long startDate;
      private long endDate;
      private RechargeOrderStatus status;
      public getRechargeTrans_call(long storeId, long startDate, long endDate, RechargeOrderStatus status, org.apache.thrift.async.AsyncMethodCallback<getRechargeTrans_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.storeId = storeId;
        this.startDate = startDate;
        this.endDate = endDate;
        this.status = status;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getRechargeTrans", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getRechargeTrans_args args = new getRechargeTrans_args();
        args.setStoreId(storeId);
        args.setStartDate(startDate);
        args.setEndDate(endDate);
        args.setStatus(status);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<RechargeTransaction> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getRechargeTrans();
      }
    }

    public void getRechargeTransaction(long rechargeId, org.apache.thrift.async.AsyncMethodCallback<getRechargeTransaction_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getRechargeTransaction_call method_call = new getRechargeTransaction_call(rechargeId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getRechargeTransaction_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long rechargeId;
      public getRechargeTransaction_call(long rechargeId, org.apache.thrift.async.AsyncMethodCallback<getRechargeTransaction_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.rechargeId = rechargeId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getRechargeTransaction", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getRechargeTransaction_args args = new getRechargeTransaction_args();
        args.setRechargeId(rechargeId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public RechargeTransaction getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getRechargeTransaction();
      }
    }

    public void getFRCs(long circleId, long operatorId, org.apache.thrift.async.AsyncMethodCallback<getFRCs_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getFRCs_call method_call = new getFRCs_call(circleId, operatorId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getFRCs_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long circleId;
      private long operatorId;
      public getFRCs_call(long circleId, long operatorId, org.apache.thrift.async.AsyncMethodCallback<getFRCs_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.circleId = circleId;
        this.operatorId = operatorId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getFRCs", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getFRCs_args args = new getFRCs_args();
        args.setCircleId(circleId);
        args.setOperatorId(operatorId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<FRC> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getFRCs();
      }
    }

    public void getHotspotStore(long id, String hotspotid, org.apache.thrift.async.AsyncMethodCallback<getHotspotStore_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getHotspotStore_call method_call = new getHotspotStore_call(id, hotspotid, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getHotspotStore_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long id;
      private String hotspotid;
      public getHotspotStore_call(long id, String hotspotid, org.apache.thrift.async.AsyncMethodCallback<getHotspotStore_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.id = id;
        this.hotspotid = hotspotid;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getHotspotStore", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getHotspotStore_args args = new getHotspotStore_args();
        args.setId(id);
        args.setHotspotid(hotspotid);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public HotspotStore getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getHotspotStore();
      }
    }

    public void getTelecomCircle(long id, String code, org.apache.thrift.async.AsyncMethodCallback<getTelecomCircle_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getTelecomCircle_call method_call = new getTelecomCircle_call(id, code, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getTelecomCircle_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long id;
      private String code;
      public getTelecomCircle_call(long id, String code, org.apache.thrift.async.AsyncMethodCallback<getTelecomCircle_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.id = id;
        this.code = code;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getTelecomCircle", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getTelecomCircle_args args = new getTelecomCircle_args();
        args.setId(id);
        args.setCode(code);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public TelecomCircle getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getTelecomCircle();
      }
    }

    public void retrieveHotspotRechargeInvoice(long rechargeId, org.apache.thrift.async.AsyncMethodCallback<retrieveHotspotRechargeInvoice_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      retrieveHotspotRechargeInvoice_call method_call = new retrieveHotspotRechargeInvoice_call(rechargeId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class retrieveHotspotRechargeInvoice_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long rechargeId;
      public retrieveHotspotRechargeInvoice_call(long rechargeId, org.apache.thrift.async.AsyncMethodCallback<retrieveHotspotRechargeInvoice_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.rechargeId = rechargeId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("retrieveHotspotRechargeInvoice", org.apache.thrift.protocol.TMessageType.CALL, 0));
        retrieveHotspotRechargeInvoice_args args = new retrieveHotspotRechargeInvoice_args();
        args.setRechargeId(rechargeId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public ByteBuffer getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_retrieveHotspotRechargeInvoice();
      }
    }

    public void splitFreebieOrder(long orderId, String splitReason, long shippingDate, org.apache.thrift.async.AsyncMethodCallback<splitFreebieOrder_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      splitFreebieOrder_call method_call = new splitFreebieOrder_call(orderId, splitReason, shippingDate, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class splitFreebieOrder_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long orderId;
      private String splitReason;
      private long shippingDate;
      public splitFreebieOrder_call(long orderId, String splitReason, long shippingDate, org.apache.thrift.async.AsyncMethodCallback<splitFreebieOrder_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.orderId = orderId;
        this.splitReason = splitReason;
        this.shippingDate = shippingDate;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("splitFreebieOrder", org.apache.thrift.protocol.TMessageType.CALL, 0));
        splitFreebieOrder_args args = new splitFreebieOrder_args();
        args.setOrderId(orderId);
        args.setSplitReason(splitReason);
        args.setShippingDate(shippingDate);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public Order getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_splitFreebieOrder();
      }
    }

    public void getRechargeTransactionsByNumber(String number, long storeId, org.apache.thrift.async.AsyncMethodCallback<getRechargeTransactionsByNumber_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getRechargeTransactionsByNumber_call method_call = new getRechargeTransactionsByNumber_call(number, storeId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getRechargeTransactionsByNumber_call extends org.apache.thrift.async.TAsyncMethodCall {
      private String number;
      private long storeId;
      public getRechargeTransactionsByNumber_call(String number, long storeId, org.apache.thrift.async.AsyncMethodCallback<getRechargeTransactionsByNumber_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.number = number;
        this.storeId = storeId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getRechargeTransactionsByNumber", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getRechargeTransactionsByNumber_args args = new getRechargeTransactionsByNumber_args();
        args.setNumber(number);
        args.setStoreId(storeId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<RechargeTransaction> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getRechargeTransactionsByNumber();
      }
    }

    public void updateHotspotStorePassword(long storeId, String password, org.apache.thrift.async.AsyncMethodCallback<updateHotspotStorePassword_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      updateHotspotStorePassword_call method_call = new updateHotspotStorePassword_call(storeId, password, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class updateHotspotStorePassword_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long storeId;
      private String password;
      public updateHotspotStorePassword_call(long storeId, String password, org.apache.thrift.async.AsyncMethodCallback<updateHotspotStorePassword_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.storeId = storeId;
        this.password = password;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateHotspotStorePassword", org.apache.thrift.protocol.TMessageType.CALL, 0));
        updateHotspotStorePassword_args args = new updateHotspotStorePassword_args();
        args.setStoreId(storeId);
        args.setPassword(password);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public boolean getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_updateHotspotStorePassword();
      }
    }

    public void topupCompanyWallet(long companyId, long amount, org.apache.thrift.async.AsyncMethodCallback<topupCompanyWallet_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      topupCompanyWallet_call method_call = new topupCompanyWallet_call(companyId, amount, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class topupCompanyWallet_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long companyId;
      private long amount;
      public topupCompanyWallet_call(long companyId, long amount, org.apache.thrift.async.AsyncMethodCallback<topupCompanyWallet_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.companyId = companyId;
        this.amount = amount;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("topupCompanyWallet", org.apache.thrift.protocol.TMessageType.CALL, 0));
        topupCompanyWallet_args args = new topupCompanyWallet_args();
        args.setCompanyId(companyId);
        args.setAmount(amount);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public long getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_topupCompanyWallet();
      }
    }

    public void getWalletBalanceForCompany(long companyId, org.apache.thrift.async.AsyncMethodCallback<getWalletBalanceForCompany_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getWalletBalanceForCompany_call method_call = new getWalletBalanceForCompany_call(companyId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getWalletBalanceForCompany_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long companyId;
      public getWalletBalanceForCompany_call(long companyId, org.apache.thrift.async.AsyncMethodCallback<getWalletBalanceForCompany_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.companyId = companyId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getWalletBalanceForCompany", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getWalletBalanceForCompany_args args = new getWalletBalanceForCompany_args();
        args.setCompanyId(companyId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public long getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getWalletBalanceForCompany();
      }
    }

    public void getSaholicRechargeBalance(org.apache.thrift.async.AsyncMethodCallback<getSaholicRechargeBalance_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getSaholicRechargeBalance_call method_call = new getSaholicRechargeBalance_call(resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getSaholicRechargeBalance_call extends org.apache.thrift.async.TAsyncMethodCall {
      public getSaholicRechargeBalance_call(org.apache.thrift.async.AsyncMethodCallback<getSaholicRechargeBalance_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getSaholicRechargeBalance", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getSaholicRechargeBalance_args args = new getSaholicRechargeBalance_args();
        args.write(prot);
        prot.writeMessageEnd();
      }

      public long getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getSaholicRechargeBalance();
      }
    }

    public void getSourceDetail(long source, org.apache.thrift.async.AsyncMethodCallback<getSourceDetail_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getSourceDetail_call method_call = new getSourceDetail_call(source, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getSourceDetail_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long source;
      public getSourceDetail_call(long source, org.apache.thrift.async.AsyncMethodCallback<getSourceDetail_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.source = source;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getSourceDetail", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getSourceDetail_args args = new getSourceDetail_args();
        args.setSource(source);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public SourceDetail getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getSourceDetail();
      }
    }

    public void getAllCircles(org.apache.thrift.async.AsyncMethodCallback<getAllCircles_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getAllCircles_call method_call = new getAllCircles_call(resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getAllCircles_call extends org.apache.thrift.async.TAsyncMethodCall {
      public getAllCircles_call(org.apache.thrift.async.AsyncMethodCallback<getAllCircles_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAllCircles", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getAllCircles_args args = new getAllCircles_args();
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<TelecomCircle> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getAllCircles();
      }
    }

    public void deleteFrcs(List<Long> frcIdsToDelete, org.apache.thrift.async.AsyncMethodCallback<deleteFrcs_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      deleteFrcs_call method_call = new deleteFrcs_call(frcIdsToDelete, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class deleteFrcs_call extends org.apache.thrift.async.TAsyncMethodCall {
      private List<Long> frcIdsToDelete;
      public deleteFrcs_call(List<Long> frcIdsToDelete, org.apache.thrift.async.AsyncMethodCallback<deleteFrcs_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.frcIdsToDelete = frcIdsToDelete;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteFrcs", org.apache.thrift.protocol.TMessageType.CALL, 0));
        deleteFrcs_args args = new deleteFrcs_args();
        args.setFrcIdsToDelete(frcIdsToDelete);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public boolean getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_deleteFrcs();
      }
    }

    public void addAmazonOrder(AmazonOrder amazonOrder, org.apache.thrift.async.AsyncMethodCallback<addAmazonOrder_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      addAmazonOrder_call method_call = new addAmazonOrder_call(amazonOrder, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class addAmazonOrder_call extends org.apache.thrift.async.TAsyncMethodCall {
      private AmazonOrder amazonOrder;
      public addAmazonOrder_call(AmazonOrder amazonOrder, org.apache.thrift.async.AsyncMethodCallback<addAmazonOrder_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.amazonOrder = amazonOrder;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addAmazonOrder", org.apache.thrift.protocol.TMessageType.CALL, 0));
        addAmazonOrder_args args = new addAmazonOrder_args();
        args.setAmazonOrder(amazonOrder);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_addAmazonOrder();
      }
    }

    public void updateAmazonOrderStatus(long orderId, String status, org.apache.thrift.async.AsyncMethodCallback<updateAmazonOrderStatus_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      updateAmazonOrderStatus_call method_call = new updateAmazonOrderStatus_call(orderId, status, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class updateAmazonOrderStatus_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long orderId;
      private String status;
      public updateAmazonOrderStatus_call(long orderId, String status, org.apache.thrift.async.AsyncMethodCallback<updateAmazonOrderStatus_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.orderId = orderId;
        this.status = status;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateAmazonOrderStatus", org.apache.thrift.protocol.TMessageType.CALL, 0));
        updateAmazonOrderStatus_args args = new updateAmazonOrderStatus_args();
        args.setOrderId(orderId);
        args.setStatus(status);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public boolean getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_updateAmazonOrderStatus();
      }
    }

    public void getAmazonOrdersShipped(org.apache.thrift.async.AsyncMethodCallback<getAmazonOrdersShipped_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getAmazonOrdersShipped_call method_call = new getAmazonOrdersShipped_call(resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getAmazonOrdersShipped_call extends org.apache.thrift.async.TAsyncMethodCall {
      public getAmazonOrdersShipped_call(org.apache.thrift.async.AsyncMethodCallback<getAmazonOrdersShipped_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAmazonOrdersShipped", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getAmazonOrdersShipped_args args = new getAmazonOrdersShipped_args();
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<Order> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getAmazonOrdersShipped();
      }
    }

    public void getAmazonOrdersCancelled(long interval, org.apache.thrift.async.AsyncMethodCallback<getAmazonOrdersCancelled_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getAmazonOrdersCancelled_call method_call = new getAmazonOrdersCancelled_call(interval, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getAmazonOrdersCancelled_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long interval;
      public getAmazonOrdersCancelled_call(long interval, org.apache.thrift.async.AsyncMethodCallback<getAmazonOrdersCancelled_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.interval = interval;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAmazonOrdersCancelled", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getAmazonOrdersCancelled_args args = new getAmazonOrdersCancelled_args();
        args.setInterval(interval);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<Order> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getAmazonOrdersCancelled();
      }
    }

    public void getAmazonOrder(long orderId, org.apache.thrift.async.AsyncMethodCallback<getAmazonOrder_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getAmazonOrder_call method_call = new getAmazonOrder_call(orderId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getAmazonOrder_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long orderId;
      public getAmazonOrder_call(long orderId, org.apache.thrift.async.AsyncMethodCallback<getAmazonOrder_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.orderId = orderId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAmazonOrder", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getAmazonOrder_args args = new getAmazonOrder_args();
        args.setOrderId(orderId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public AmazonOrder getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getAmazonOrder();
      }
    }

    public void getAmazonOrderByAmazonOrderId(String amazonOrderId, org.apache.thrift.async.AsyncMethodCallback<getAmazonOrderByAmazonOrderId_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getAmazonOrderByAmazonOrderId_call method_call = new getAmazonOrderByAmazonOrderId_call(amazonOrderId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getAmazonOrderByAmazonOrderId_call extends org.apache.thrift.async.TAsyncMethodCall {
      private String amazonOrderId;
      public getAmazonOrderByAmazonOrderId_call(String amazonOrderId, org.apache.thrift.async.AsyncMethodCallback<getAmazonOrderByAmazonOrderId_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.amazonOrderId = amazonOrderId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAmazonOrderByAmazonOrderId", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getAmazonOrderByAmazonOrderId_args args = new getAmazonOrderByAmazonOrderId_args();
        args.setAmazonOrderId(amazonOrderId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<AmazonOrder> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getAmazonOrderByAmazonOrderId();
      }
    }

    public void getOrdersForStore(long id, long storeId, long startDate, long endDate, List<OrderStatus> statuses, org.apache.thrift.async.AsyncMethodCallback<getOrdersForStore_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getOrdersForStore_call method_call = new getOrdersForStore_call(id, storeId, startDate, endDate, statuses, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getOrdersForStore_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long id;
      private long storeId;
      private long startDate;
      private long endDate;
      private List<OrderStatus> statuses;
      public getOrdersForStore_call(long id, long storeId, long startDate, long endDate, List<OrderStatus> statuses, org.apache.thrift.async.AsyncMethodCallback<getOrdersForStore_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.id = id;
        this.storeId = storeId;
        this.startDate = startDate;
        this.endDate = endDate;
        this.statuses = statuses;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getOrdersForStore", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getOrdersForStore_args args = new getOrdersForStore_args();
        args.setId(id);
        args.setStoreId(storeId);
        args.setStartDate(startDate);
        args.setEndDate(endDate);
        args.setStatuses(statuses);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<Order> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getOrdersForStore();
      }
    }

    public void getStoreOrderAdvanceInvoice(long orderId, long storeId, org.apache.thrift.async.AsyncMethodCallback<getStoreOrderAdvanceInvoice_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getStoreOrderAdvanceInvoice_call method_call = new getStoreOrderAdvanceInvoice_call(orderId, storeId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getStoreOrderAdvanceInvoice_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long orderId;
      private long storeId;
      public getStoreOrderAdvanceInvoice_call(long orderId, long storeId, org.apache.thrift.async.AsyncMethodCallback<getStoreOrderAdvanceInvoice_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.orderId = orderId;
        this.storeId = storeId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getStoreOrderAdvanceInvoice", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getStoreOrderAdvanceInvoice_args args = new getStoreOrderAdvanceInvoice_args();
        args.setOrderId(orderId);
        args.setStoreId(storeId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public ByteBuffer getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getStoreOrderAdvanceInvoice();
      }
    }

    public void addFrc(long circleId, long operatorId, long denomination, long maxDiscount, org.apache.thrift.async.AsyncMethodCallback<addFrc_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      addFrc_call method_call = new addFrc_call(circleId, operatorId, denomination, maxDiscount, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class addFrc_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long circleId;
      private long operatorId;
      private long denomination;
      private long maxDiscount;
      public addFrc_call(long circleId, long operatorId, long denomination, long maxDiscount, org.apache.thrift.async.AsyncMethodCallback<addFrc_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.circleId = circleId;
        this.operatorId = operatorId;
        this.denomination = denomination;
        this.maxDiscount = maxDiscount;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addFrc", org.apache.thrift.protocol.TMessageType.CALL, 0));
        addFrc_args args = new addFrc_args();
        args.setCircleId(circleId);
        args.setOperatorId(operatorId);
        args.setDenomination(denomination);
        args.setMaxDiscount(maxDiscount);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public boolean getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_addFrc();
      }
    }

    public void addSeries(long circle, long operatorId, long series, org.apache.thrift.async.AsyncMethodCallback<addSeries_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      addSeries_call method_call = new addSeries_call(circle, operatorId, series, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class addSeries_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long circle;
      private long operatorId;
      private long series;
      public addSeries_call(long circle, long operatorId, long series, org.apache.thrift.async.AsyncMethodCallback<addSeries_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.circle = circle;
        this.operatorId = operatorId;
        this.series = series;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addSeries", org.apache.thrift.protocol.TMessageType.CALL, 0));
        addSeries_args args = new addSeries_args();
        args.setCircle(circle);
        args.setOperatorId(operatorId);
        args.setSeries(series);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public String getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_addSeries();
      }
    }

    public void saveStoreOrderDetail(StoreOrderDetail storeOrderDetail, org.apache.thrift.async.AsyncMethodCallback<saveStoreOrderDetail_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      saveStoreOrderDetail_call method_call = new saveStoreOrderDetail_call(storeOrderDetail, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class saveStoreOrderDetail_call extends org.apache.thrift.async.TAsyncMethodCall {
      private StoreOrderDetail storeOrderDetail;
      public saveStoreOrderDetail_call(StoreOrderDetail storeOrderDetail, org.apache.thrift.async.AsyncMethodCallback<saveStoreOrderDetail_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.storeOrderDetail = storeOrderDetail;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("saveStoreOrderDetail", org.apache.thrift.protocol.TMessageType.CALL, 0));
        saveStoreOrderDetail_args args = new saveStoreOrderDetail_args();
        args.setStoreOrderDetail(storeOrderDetail);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public boolean getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_saveStoreOrderDetail();
      }
    }

    public void getStoreOrderDetail(long orderId, long storeId, org.apache.thrift.async.AsyncMethodCallback<getStoreOrderDetail_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getStoreOrderDetail_call method_call = new getStoreOrderDetail_call(orderId, storeId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getStoreOrderDetail_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long orderId;
      private long storeId;
      public getStoreOrderDetail_call(long orderId, long storeId, org.apache.thrift.async.AsyncMethodCallback<getStoreOrderDetail_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.orderId = orderId;
        this.storeId = storeId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getStoreOrderDetail", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getStoreOrderDetail_args args = new getStoreOrderDetail_args();
        args.setOrderId(orderId);
        args.setStoreId(storeId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public StoreOrderDetail getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getStoreOrderDetail();
      }
    }

    public void getAllEdcBanks(org.apache.thrift.async.AsyncMethodCallback<getAllEdcBanks_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getAllEdcBanks_call method_call = new getAllEdcBanks_call(resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getAllEdcBanks_call extends org.apache.thrift.async.TAsyncMethodCall {
      public getAllEdcBanks_call(org.apache.thrift.async.AsyncMethodCallback<getAllEdcBanks_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAllEdcBanks", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getAllEdcBanks_args args = new getAllEdcBanks_args();
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<String> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getAllEdcBanks();
      }
    }

    public void saveRefundAmountsForStoreOrder(long orderId, long storeId, double cashRefundAmount, double cardRefundAmount, org.apache.thrift.async.AsyncMethodCallback<saveRefundAmountsForStoreOrder_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      saveRefundAmountsForStoreOrder_call method_call = new saveRefundAmountsForStoreOrder_call(orderId, storeId, cashRefundAmount, cardRefundAmount, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class saveRefundAmountsForStoreOrder_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long orderId;
      private long storeId;
      private double cashRefundAmount;
      private double cardRefundAmount;
      public saveRefundAmountsForStoreOrder_call(long orderId, long storeId, double cashRefundAmount, double cardRefundAmount, org.apache.thrift.async.AsyncMethodCallback<saveRefundAmountsForStoreOrder_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.orderId = orderId;
        this.storeId = storeId;
        this.cashRefundAmount = cashRefundAmount;
        this.cardRefundAmount = cardRefundAmount;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("saveRefundAmountsForStoreOrder", org.apache.thrift.protocol.TMessageType.CALL, 0));
        saveRefundAmountsForStoreOrder_args args = new saveRefundAmountsForStoreOrder_args();
        args.setOrderId(orderId);
        args.setStoreId(storeId);
        args.setCashRefundAmount(cashRefundAmount);
        args.setCardRefundAmount(cardRefundAmount);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public boolean getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_saveRefundAmountsForStoreOrder();
      }
    }

    public void getCollectionsForStore(long storeId, long startDate, long endDate, org.apache.thrift.async.AsyncMethodCallback<getCollectionsForStore_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getCollectionsForStore_call method_call = new getCollectionsForStore_call(storeId, startDate, endDate, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getCollectionsForStore_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long storeId;
      private long startDate;
      private long endDate;
      public getCollectionsForStore_call(long storeId, long startDate, long endDate, org.apache.thrift.async.AsyncMethodCallback<getCollectionsForStore_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.storeId = storeId;
        this.startDate = startDate;
        this.endDate = endDate;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getCollectionsForStore", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getCollectionsForStore_args args = new getCollectionsForStore_args();
        args.setStoreId(storeId);
        args.setStartDate(startDate);
        args.setEndDate(endDate);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<StoreOrderCollection> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getCollectionsForStore();
      }
    }

    public void getAmazonOrdersToAcknowledge(OrderSource source, org.apache.thrift.async.AsyncMethodCallback<getAmazonOrdersToAcknowledge_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getAmazonOrdersToAcknowledge_call method_call = new getAmazonOrdersToAcknowledge_call(source, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getAmazonOrdersToAcknowledge_call extends org.apache.thrift.async.TAsyncMethodCall {
      private OrderSource source;
      public getAmazonOrdersToAcknowledge_call(OrderSource source, org.apache.thrift.async.AsyncMethodCallback<getAmazonOrdersToAcknowledge_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.source = source;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAmazonOrdersToAcknowledge", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getAmazonOrdersToAcknowledge_args args = new getAmazonOrdersToAcknowledge_args();
        args.setSource(source);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<AmazonOrdersToAcknowledge> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getAmazonOrdersToAcknowledge();
      }
    }

    public void changeAmazonOrderStatus(String amazonOrderCode, String status, org.apache.thrift.async.AsyncMethodCallback<changeAmazonOrderStatus_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      changeAmazonOrderStatus_call method_call = new changeAmazonOrderStatus_call(amazonOrderCode, status, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class changeAmazonOrderStatus_call extends org.apache.thrift.async.TAsyncMethodCall {
      private String amazonOrderCode;
      private String status;
      public changeAmazonOrderStatus_call(String amazonOrderCode, String status, org.apache.thrift.async.AsyncMethodCallback<changeAmazonOrderStatus_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.amazonOrderCode = amazonOrderCode;
        this.status = status;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("changeAmazonOrderStatus", org.apache.thrift.protocol.TMessageType.CALL, 0));
        changeAmazonOrderStatus_args args = new changeAmazonOrderStatus_args();
        args.setAmazonOrderCode(amazonOrderCode);
        args.setStatus(status);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_changeAmazonOrderStatus();
      }
    }

    public void updateTimestampForAmazonOrder(Map<Long,Map<String,String>> amazonOrderDelivery, org.apache.thrift.async.AsyncMethodCallback<updateTimestampForAmazonOrder_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      updateTimestampForAmazonOrder_call method_call = new updateTimestampForAmazonOrder_call(amazonOrderDelivery, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class updateTimestampForAmazonOrder_call extends org.apache.thrift.async.TAsyncMethodCall {
      private Map<Long,Map<String,String>> amazonOrderDelivery;
      public updateTimestampForAmazonOrder_call(Map<Long,Map<String,String>> amazonOrderDelivery, org.apache.thrift.async.AsyncMethodCallback<updateTimestampForAmazonOrder_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.amazonOrderDelivery = amazonOrderDelivery;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateTimestampForAmazonOrder", org.apache.thrift.protocol.TMessageType.CALL, 0));
        updateTimestampForAmazonOrder_args args = new updateTimestampForAmazonOrder_args();
        args.setAmazonOrderDelivery(amazonOrderDelivery);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public boolean getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_updateTimestampForAmazonOrder();
      }
    }

    public void updateSourceDetailTimestamp(long id, long lastUpdatedOn, org.apache.thrift.async.AsyncMethodCallback<updateSourceDetailTimestamp_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      updateSourceDetailTimestamp_call method_call = new updateSourceDetailTimestamp_call(id, lastUpdatedOn, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class updateSourceDetailTimestamp_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long id;
      private long lastUpdatedOn;
      public updateSourceDetailTimestamp_call(long id, long lastUpdatedOn, org.apache.thrift.async.AsyncMethodCallback<updateSourceDetailTimestamp_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.id = id;
        this.lastUpdatedOn = lastUpdatedOn;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateSourceDetailTimestamp", org.apache.thrift.protocol.TMessageType.CALL, 0));
        updateSourceDetailTimestamp_args args = new updateSourceDetailTimestamp_args();
        args.setId(id);
        args.setLastUpdatedOn(lastUpdatedOn);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public boolean getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_updateSourceDetailTimestamp();
      }
    }

    public void getOrdersByMobileNumber(String mobileNumber, org.apache.thrift.async.AsyncMethodCallback<getOrdersByMobileNumber_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getOrdersByMobileNumber_call method_call = new getOrdersByMobileNumber_call(mobileNumber, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getOrdersByMobileNumber_call extends org.apache.thrift.async.TAsyncMethodCall {
      private String mobileNumber;
      public getOrdersByMobileNumber_call(String mobileNumber, org.apache.thrift.async.AsyncMethodCallback<getOrdersByMobileNumber_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.mobileNumber = mobileNumber;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getOrdersByMobileNumber", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getOrdersByMobileNumber_args args = new getOrdersByMobileNumber_args();
        args.setMobileNumber(mobileNumber);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<Order> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getOrdersByMobileNumber();
      }
    }

    public void getOrdersByAmazonOrderCode(String amazonId, org.apache.thrift.async.AsyncMethodCallback<getOrdersByAmazonOrderCode_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getOrdersByAmazonOrderCode_call method_call = new getOrdersByAmazonOrderCode_call(amazonId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getOrdersByAmazonOrderCode_call extends org.apache.thrift.async.TAsyncMethodCall {
      private String amazonId;
      public getOrdersByAmazonOrderCode_call(String amazonId, org.apache.thrift.async.AsyncMethodCallback<getOrdersByAmazonOrderCode_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.amazonId = amazonId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getOrdersByAmazonOrderCode", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getOrdersByAmazonOrderCode_args args = new getOrdersByAmazonOrderCode_args();
        args.setAmazonId(amazonId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<Order> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getOrdersByAmazonOrderCode();
      }
    }

    public void convertStoreToNormal(long orderId, org.apache.thrift.async.AsyncMethodCallback<convertStoreToNormal_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      convertStoreToNormal_call method_call = new convertStoreToNormal_call(orderId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class convertStoreToNormal_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long orderId;
      public convertStoreToNormal_call(long orderId, org.apache.thrift.async.AsyncMethodCallback<convertStoreToNormal_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.orderId = orderId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("convertStoreToNormal", org.apache.thrift.protocol.TMessageType.CALL, 0));
        convertStoreToNormal_args args = new convertStoreToNormal_args();
        args.setOrderId(orderId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public boolean getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_convertStoreToNormal();
      }
    }

    public void updateFreebieItem(long orderId, long newFreebieItemId, org.apache.thrift.async.AsyncMethodCallback<updateFreebieItem_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      updateFreebieItem_call method_call = new updateFreebieItem_call(orderId, newFreebieItemId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class updateFreebieItem_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long orderId;
      private long newFreebieItemId;
      public updateFreebieItem_call(long orderId, long newFreebieItemId, org.apache.thrift.async.AsyncMethodCallback<updateFreebieItem_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.orderId = orderId;
        this.newFreebieItemId = newFreebieItemId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateFreebieItem", org.apache.thrift.protocol.TMessageType.CALL, 0));
        updateFreebieItem_args args = new updateFreebieItem_args();
        args.setOrderId(orderId);
        args.setNewFreebieItemId(newFreebieItemId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public Order getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_updateFreebieItem();
      }
    }

    public void getHotspotServiceMatrices(org.apache.thrift.async.AsyncMethodCallback<getHotspotServiceMatrices_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getHotspotServiceMatrices_call method_call = new getHotspotServiceMatrices_call(resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getHotspotServiceMatrices_call extends org.apache.thrift.async.TAsyncMethodCall {
      public getHotspotServiceMatrices_call(org.apache.thrift.async.AsyncMethodCallback<getHotspotServiceMatrices_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getHotspotServiceMatrices", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getHotspotServiceMatrices_args args = new getHotspotServiceMatrices_args();
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<HotspotServiceMatrix> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getHotspotServiceMatrices();
      }
    }

    public void updateOrderAWB(long orderId, String airwayBillNo, org.apache.thrift.async.AsyncMethodCallback<updateOrderAWB_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      updateOrderAWB_call method_call = new updateOrderAWB_call(orderId, airwayBillNo, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class updateOrderAWB_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long orderId;
      private String airwayBillNo;
      public updateOrderAWB_call(long orderId, String airwayBillNo, org.apache.thrift.async.AsyncMethodCallback<updateOrderAWB_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.orderId = orderId;
        this.airwayBillNo = airwayBillNo;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateOrderAWB", org.apache.thrift.protocol.TMessageType.CALL, 0));
        updateOrderAWB_args args = new updateOrderAWB_args();
        args.setOrderId(orderId);
        args.setAirwayBillNo(airwayBillNo);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public Order getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_updateOrderAWB();
      }
    }

    public void getOrdersByVendor(List<Long> vendors, List<OrderStatus> statuses, org.apache.thrift.async.AsyncMethodCallback<getOrdersByVendor_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getOrdersByVendor_call method_call = new getOrdersByVendor_call(vendors, statuses, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getOrdersByVendor_call extends org.apache.thrift.async.TAsyncMethodCall {
      private List<Long> vendors;
      private List<OrderStatus> statuses;
      public getOrdersByVendor_call(List<Long> vendors, List<OrderStatus> statuses, org.apache.thrift.async.AsyncMethodCallback<getOrdersByVendor_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.vendors = vendors;
        this.statuses = statuses;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getOrdersByVendor", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getOrdersByVendor_args args = new getOrdersByVendor_args();
        args.setVendors(vendors);
        args.setStatuses(statuses);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<Order> getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getOrdersByVendor();
      }
    }

    public void createEbayOrder(EbayOrder ebayOrder, org.apache.thrift.async.AsyncMethodCallback<createEbayOrder_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      createEbayOrder_call method_call = new createEbayOrder_call(ebayOrder, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class createEbayOrder_call extends org.apache.thrift.async.TAsyncMethodCall {
      private EbayOrder ebayOrder;
      public createEbayOrder_call(EbayOrder ebayOrder, org.apache.thrift.async.AsyncMethodCallback<createEbayOrder_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.ebayOrder = ebayOrder;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("createEbayOrder", org.apache.thrift.protocol.TMessageType.CALL, 0));
        createEbayOrder_args args = new createEbayOrder_args();
        args.setEbayOrder(ebayOrder);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_createEbayOrder();
      }
    }

    public void getEbayOrderByOrderId(long orderId, org.apache.thrift.async.AsyncMethodCallback<getEbayOrderByOrderId_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getEbayOrderByOrderId_call method_call = new getEbayOrderByOrderId_call(orderId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getEbayOrderByOrderId_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long orderId;
      public getEbayOrderByOrderId_call(long orderId, org.apache.thrift.async.AsyncMethodCallback<getEbayOrderByOrderId_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.orderId = orderId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getEbayOrderByOrderId", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getEbayOrderByOrderId_args args = new getEbayOrderByOrderId_args();
        args.setOrderId(orderId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public EbayOrder getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getEbayOrderByOrderId();
      }
    }

    public void getEbayOrderBySalesRecNumber(long salesRecordNumber, org.apache.thrift.async.AsyncMethodCallback<getEbayOrderBySalesRecNumber_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getEbayOrderBySalesRecNumber_call method_call = new getEbayOrderBySalesRecNumber_call(salesRecordNumber, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getEbayOrderBySalesRecNumber_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long salesRecordNumber;
      public getEbayOrderBySalesRecNumber_call(long salesRecordNumber, org.apache.thrift.async.AsyncMethodCallback<getEbayOrderBySalesRecNumber_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.salesRecordNumber = salesRecordNumber;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getEbayOrderBySalesRecNumber", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getEbayOrderBySalesRecNumber_args args = new getEbayOrderBySalesRecNumber_args();
        args.setSalesRecordNumber(salesRecordNumber);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public EbayOrder getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getEbayOrderBySalesRecNumber();
      }
    }

    public void getEbayOrder(long salesRecordNumber, String listingId, String paisapayId, org.apache.thrift.async.AsyncMethodCallback<getEbayOrder_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getEbayOrder_call method_call = new getEbayOrder_call(salesRecordNumber, listingId, paisapayId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getEbayOrder_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long salesRecordNumber;
      private String listingId;
      private String paisapayId;
      public getEbayOrder_call(long salesRecordNumber, String listingId, String paisapayId, org.apache.thrift.async.AsyncMethodCallback<getEbayOrder_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.salesRecordNumber = salesRecordNumber;
        this.listingId = listingId;
        this.paisapayId = paisapayId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getEbayOrder", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getEbayOrder_args args = new getEbayOrder_args();
        args.setSalesRecordNumber(salesRecordNumber);
        args.setListingId(listingId);
        args.setPaisapayId(paisapayId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<EbayOrder> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getEbayOrder();
      }
    }

    public void updateEbayOrder(EbayOrder ebayOrder, org.apache.thrift.async.AsyncMethodCallback<updateEbayOrder_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      updateEbayOrder_call method_call = new updateEbayOrder_call(ebayOrder, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class updateEbayOrder_call extends org.apache.thrift.async.TAsyncMethodCall {
      private EbayOrder ebayOrder;
      public updateEbayOrder_call(EbayOrder ebayOrder, org.apache.thrift.async.AsyncMethodCallback<updateEbayOrder_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.ebayOrder = ebayOrder;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateEbayOrder", org.apache.thrift.protocol.TMessageType.CALL, 0));
        updateEbayOrder_args args = new updateEbayOrder_args();
        args.setEbayOrder(ebayOrder);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_updateEbayOrder();
      }
    }

    public void ebayOrderExists(long salesRecNumber, String ebayListingId, org.apache.thrift.async.AsyncMethodCallback<ebayOrderExists_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      ebayOrderExists_call method_call = new ebayOrderExists_call(salesRecNumber, ebayListingId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class ebayOrderExists_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long salesRecNumber;
      private String ebayListingId;
      public ebayOrderExists_call(long salesRecNumber, String ebayListingId, org.apache.thrift.async.AsyncMethodCallback<ebayOrderExists_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.salesRecNumber = salesRecNumber;
        this.ebayListingId = ebayListingId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("ebayOrderExists", org.apache.thrift.protocol.TMessageType.CALL, 0));
        ebayOrderExists_args args = new ebayOrderExists_args();
        args.setSalesRecNumber(salesRecNumber);
        args.setEbayListingId(ebayListingId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public boolean getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_ebayOrderExists();
      }
    }

    public void updateOrderForEbay(Order order, org.apache.thrift.async.AsyncMethodCallback<updateOrderForEbay_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      updateOrderForEbay_call method_call = new updateOrderForEbay_call(order, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class updateOrderForEbay_call extends org.apache.thrift.async.TAsyncMethodCall {
      private Order order;
      public updateOrderForEbay_call(Order order, org.apache.thrift.async.AsyncMethodCallback<updateOrderForEbay_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.order = order;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateOrderForEbay", org.apache.thrift.protocol.TMessageType.CALL, 0));
        updateOrderForEbay_args args = new updateOrderForEbay_args();
        args.setOrder(order);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_updateOrderForEbay();
      }
    }

    public void splitEbayOrder(long orderId, long splitOrderQty, long splitOrderItemId, boolean usePowerShip, org.apache.thrift.async.AsyncMethodCallback<splitEbayOrder_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      splitEbayOrder_call method_call = new splitEbayOrder_call(orderId, splitOrderQty, splitOrderItemId, usePowerShip, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class splitEbayOrder_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long orderId;
      private long splitOrderQty;
      private long splitOrderItemId;
      private boolean usePowerShip;
      public splitEbayOrder_call(long orderId, long splitOrderQty, long splitOrderItemId, boolean usePowerShip, org.apache.thrift.async.AsyncMethodCallback<splitEbayOrder_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.orderId = orderId;
        this.splitOrderQty = splitOrderQty;
        this.splitOrderItemId = splitOrderItemId;
        this.usePowerShip = usePowerShip;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("splitEbayOrder", org.apache.thrift.protocol.TMessageType.CALL, 0));
        splitEbayOrder_args args = new splitEbayOrder_args();
        args.setOrderId(orderId);
        args.setSplitOrderQty(splitOrderQty);
        args.setSplitOrderItemId(splitOrderItemId);
        args.setUsePowerShip(usePowerShip);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public Order getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_splitEbayOrder();
      }
    }

    public void addOrUpdateAmazonFbaSalesSnapshot(AmazonFbaSalesSnapshot amazonfbasalessnapshot, org.apache.thrift.async.AsyncMethodCallback<addOrUpdateAmazonFbaSalesSnapshot_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      addOrUpdateAmazonFbaSalesSnapshot_call method_call = new addOrUpdateAmazonFbaSalesSnapshot_call(amazonfbasalessnapshot, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class addOrUpdateAmazonFbaSalesSnapshot_call extends org.apache.thrift.async.TAsyncMethodCall {
      private AmazonFbaSalesSnapshot amazonfbasalessnapshot;
      public addOrUpdateAmazonFbaSalesSnapshot_call(AmazonFbaSalesSnapshot amazonfbasalessnapshot, org.apache.thrift.async.AsyncMethodCallback<addOrUpdateAmazonFbaSalesSnapshot_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.amazonfbasalessnapshot = amazonfbasalessnapshot;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addOrUpdateAmazonFbaSalesSnapshot", org.apache.thrift.protocol.TMessageType.CALL, 0));
        addOrUpdateAmazonFbaSalesSnapshot_args args = new addOrUpdateAmazonFbaSalesSnapshot_args();
        args.setAmazonfbasalessnapshot(amazonfbasalessnapshot);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_addOrUpdateAmazonFbaSalesSnapshot();
      }
    }

    public void getAmazonFbaSalesSnapshotForDays(int days, org.apache.thrift.async.AsyncMethodCallback<getAmazonFbaSalesSnapshotForDays_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getAmazonFbaSalesSnapshotForDays_call method_call = new getAmazonFbaSalesSnapshotForDays_call(days, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getAmazonFbaSalesSnapshotForDays_call extends org.apache.thrift.async.TAsyncMethodCall {
      private int days;
      public getAmazonFbaSalesSnapshotForDays_call(int days, org.apache.thrift.async.AsyncMethodCallback<getAmazonFbaSalesSnapshotForDays_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.days = days;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAmazonFbaSalesSnapshotForDays", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getAmazonFbaSalesSnapshotForDays_args args = new getAmazonFbaSalesSnapshotForDays_args();
        args.setDays(days);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<AmazonFbaSalesSnapshot> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getAmazonFbaSalesSnapshotForDays();
      }
    }

    public void getAmazonFbaSalesLatestSnapshotForItem(long item_id, org.apache.thrift.async.AsyncMethodCallback<getAmazonFbaSalesLatestSnapshotForItem_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getAmazonFbaSalesLatestSnapshotForItem_call method_call = new getAmazonFbaSalesLatestSnapshotForItem_call(item_id, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getAmazonFbaSalesLatestSnapshotForItem_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long item_id;
      public getAmazonFbaSalesLatestSnapshotForItem_call(long item_id, org.apache.thrift.async.AsyncMethodCallback<getAmazonFbaSalesLatestSnapshotForItem_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.item_id = item_id;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAmazonFbaSalesLatestSnapshotForItem", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getAmazonFbaSalesLatestSnapshotForItem_args args = new getAmazonFbaSalesLatestSnapshotForItem_args();
        args.setItem_id(item_id);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public AmazonFbaSalesSnapshot getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getAmazonFbaSalesLatestSnapshotForItem();
      }
    }

    public void createSnapdealOrder(SnapdealOrder snapdealOrder, org.apache.thrift.async.AsyncMethodCallback<createSnapdealOrder_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      createSnapdealOrder_call method_call = new createSnapdealOrder_call(snapdealOrder, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class createSnapdealOrder_call extends org.apache.thrift.async.TAsyncMethodCall {
      private SnapdealOrder snapdealOrder;
      public createSnapdealOrder_call(SnapdealOrder snapdealOrder, org.apache.thrift.async.AsyncMethodCallback<createSnapdealOrder_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.snapdealOrder = snapdealOrder;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("createSnapdealOrder", org.apache.thrift.protocol.TMessageType.CALL, 0));
        createSnapdealOrder_args args = new createSnapdealOrder_args();
        args.setSnapdealOrder(snapdealOrder);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_createSnapdealOrder();
      }
    }

    public void getSnapdealOrder(long orderId, String referenceCode, String subrderId, org.apache.thrift.async.AsyncMethodCallback<getSnapdealOrder_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getSnapdealOrder_call method_call = new getSnapdealOrder_call(orderId, referenceCode, subrderId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getSnapdealOrder_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long orderId;
      private String referenceCode;
      private String subrderId;
      public getSnapdealOrder_call(long orderId, String referenceCode, String subrderId, org.apache.thrift.async.AsyncMethodCallback<getSnapdealOrder_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.orderId = orderId;
        this.referenceCode = referenceCode;
        this.subrderId = subrderId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getSnapdealOrder", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getSnapdealOrder_args args = new getSnapdealOrder_args();
        args.setOrderId(orderId);
        args.setReferenceCode(referenceCode);
        args.setSubrderId(subrderId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<SnapdealOrder> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getSnapdealOrder();
      }
    }

    public void snapdealOrderExists(String subOrderId, String referenceCode, org.apache.thrift.async.AsyncMethodCallback<snapdealOrderExists_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      snapdealOrderExists_call method_call = new snapdealOrderExists_call(subOrderId, referenceCode, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class snapdealOrderExists_call extends org.apache.thrift.async.TAsyncMethodCall {
      private String subOrderId;
      private String referenceCode;
      public snapdealOrderExists_call(String subOrderId, String referenceCode, org.apache.thrift.async.AsyncMethodCallback<snapdealOrderExists_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.subOrderId = subOrderId;
        this.referenceCode = referenceCode;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("snapdealOrderExists", org.apache.thrift.protocol.TMessageType.CALL, 0));
        snapdealOrderExists_args args = new snapdealOrderExists_args();
        args.setSubOrderId(subOrderId);
        args.setReferenceCode(referenceCode);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public boolean getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_snapdealOrderExists();
      }
    }

    public void updateLatestFbaPricesForItem(FbaItemPrices fbaitemprices, org.apache.thrift.async.AsyncMethodCallback<updateLatestFbaPricesForItem_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      updateLatestFbaPricesForItem_call method_call = new updateLatestFbaPricesForItem_call(fbaitemprices, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class updateLatestFbaPricesForItem_call extends org.apache.thrift.async.TAsyncMethodCall {
      private FbaItemPrices fbaitemprices;
      public updateLatestFbaPricesForItem_call(FbaItemPrices fbaitemprices, org.apache.thrift.async.AsyncMethodCallback<updateLatestFbaPricesForItem_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.fbaitemprices = fbaitemprices;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateLatestFbaPricesForItem", org.apache.thrift.protocol.TMessageType.CALL, 0));
        updateLatestFbaPricesForItem_args args = new updateLatestFbaPricesForItem_args();
        args.setFbaitemprices(fbaitemprices);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_updateLatestFbaPricesForItem();
      }
    }

    public void flipkartOrderExists(String flipkartOrderId, String flipkartSubOrderId, org.apache.thrift.async.AsyncMethodCallback<flipkartOrderExists_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      flipkartOrderExists_call method_call = new flipkartOrderExists_call(flipkartOrderId, flipkartSubOrderId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class flipkartOrderExists_call extends org.apache.thrift.async.TAsyncMethodCall {
      private String flipkartOrderId;
      private String flipkartSubOrderId;
      public flipkartOrderExists_call(String flipkartOrderId, String flipkartSubOrderId, org.apache.thrift.async.AsyncMethodCallback<flipkartOrderExists_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.flipkartOrderId = flipkartOrderId;
        this.flipkartSubOrderId = flipkartSubOrderId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("flipkartOrderExists", org.apache.thrift.protocol.TMessageType.CALL, 0));
        flipkartOrderExists_args args = new flipkartOrderExists_args();
        args.setFlipkartOrderId(flipkartOrderId);
        args.setFlipkartSubOrderId(flipkartSubOrderId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public boolean getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_flipkartOrderExists();
      }
    }

    public void createFlipkartOrder(FlipkartOrder flipkartOrder, org.apache.thrift.async.AsyncMethodCallback<createFlipkartOrder_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      createFlipkartOrder_call method_call = new createFlipkartOrder_call(flipkartOrder, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class createFlipkartOrder_call extends org.apache.thrift.async.TAsyncMethodCall {
      private FlipkartOrder flipkartOrder;
      public createFlipkartOrder_call(FlipkartOrder flipkartOrder, org.apache.thrift.async.AsyncMethodCallback<createFlipkartOrder_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.flipkartOrder = flipkartOrder;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("createFlipkartOrder", org.apache.thrift.protocol.TMessageType.CALL, 0));
        createFlipkartOrder_args args = new createFlipkartOrder_args();
        args.setFlipkartOrder(flipkartOrder);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_createFlipkartOrder();
      }
    }

    public void getFlipkartOrder(long orderId, org.apache.thrift.async.AsyncMethodCallback<getFlipkartOrder_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getFlipkartOrder_call method_call = new getFlipkartOrder_call(orderId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getFlipkartOrder_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long orderId;
      public getFlipkartOrder_call(long orderId, org.apache.thrift.async.AsyncMethodCallback<getFlipkartOrder_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.orderId = orderId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getFlipkartOrder", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getFlipkartOrder_args args = new getFlipkartOrder_args();
        args.setOrderId(orderId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public FlipkartOrder getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getFlipkartOrder();
      }
    }

    public void getFlipkartOrderByOrderItemId(String flipkartOrderItemId, org.apache.thrift.async.AsyncMethodCallback<getFlipkartOrderByOrderItemId_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getFlipkartOrderByOrderItemId_call method_call = new getFlipkartOrderByOrderItemId_call(flipkartOrderItemId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getFlipkartOrderByOrderItemId_call extends org.apache.thrift.async.TAsyncMethodCall {
      private String flipkartOrderItemId;
      public getFlipkartOrderByOrderItemId_call(String flipkartOrderItemId, org.apache.thrift.async.AsyncMethodCallback<getFlipkartOrderByOrderItemId_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.flipkartOrderItemId = flipkartOrderItemId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getFlipkartOrderByOrderItemId", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getFlipkartOrderByOrderItemId_args args = new getFlipkartOrderByOrderItemId_args();
        args.setFlipkartOrderItemId(flipkartOrderItemId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public FlipkartOrder getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getFlipkartOrderByOrderItemId();
      }
    }

    public void updateFlipkartOrderDatesAndAWB(String flipkartOrderId, String flipkartSubOrderId, long date, String awb, org.apache.thrift.async.AsyncMethodCallback<updateFlipkartOrderDatesAndAWB_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      updateFlipkartOrderDatesAndAWB_call method_call = new updateFlipkartOrderDatesAndAWB_call(flipkartOrderId, flipkartSubOrderId, date, awb, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class updateFlipkartOrderDatesAndAWB_call extends org.apache.thrift.async.TAsyncMethodCall {
      private String flipkartOrderId;
      private String flipkartSubOrderId;
      private long date;
      private String awb;
      public updateFlipkartOrderDatesAndAWB_call(String flipkartOrderId, String flipkartSubOrderId, long date, String awb, org.apache.thrift.async.AsyncMethodCallback<updateFlipkartOrderDatesAndAWB_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.flipkartOrderId = flipkartOrderId;
        this.flipkartSubOrderId = flipkartSubOrderId;
        this.date = date;
        this.awb = awb;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateFlipkartOrderDatesAndAWB", org.apache.thrift.protocol.TMessageType.CALL, 0));
        updateFlipkartOrderDatesAndAWB_args args = new updateFlipkartOrderDatesAndAWB_args();
        args.setFlipkartOrderId(flipkartOrderId);
        args.setFlipkartSubOrderId(flipkartSubOrderId);
        args.setDate(date);
        args.setAwb(awb);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_updateFlipkartOrderDatesAndAWB();
      }
    }

    public void getOrdersCreatedAfterTimestampForSource(long timestamp, long source, org.apache.thrift.async.AsyncMethodCallback<getOrdersCreatedAfterTimestampForSource_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getOrdersCreatedAfterTimestampForSource_call method_call = new getOrdersCreatedAfterTimestampForSource_call(timestamp, source, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getOrdersCreatedAfterTimestampForSource_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long timestamp;
      private long source;
      public getOrdersCreatedAfterTimestampForSource_call(long timestamp, long source, org.apache.thrift.async.AsyncMethodCallback<getOrdersCreatedAfterTimestampForSource_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.timestamp = timestamp;
        this.source = source;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getOrdersCreatedAfterTimestampForSource", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getOrdersCreatedAfterTimestampForSource_args args = new getOrdersCreatedAfterTimestampForSource_args();
        args.setTimestamp(timestamp);
        args.setSource(source);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public Map<Long,Long> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getOrdersCreatedAfterTimestampForSource();
      }
    }

    public void getOrderForAirwayBillNo(String airwaybillNo, org.apache.thrift.async.AsyncMethodCallback<getOrderForAirwayBillNo_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getOrderForAirwayBillNo_call method_call = new getOrderForAirwayBillNo_call(airwaybillNo, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getOrderForAirwayBillNo_call extends org.apache.thrift.async.TAsyncMethodCall {
      private String airwaybillNo;
      public getOrderForAirwayBillNo_call(String airwaybillNo, org.apache.thrift.async.AsyncMethodCallback<getOrderForAirwayBillNo_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.airwaybillNo = airwaybillNo;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getOrderForAirwayBillNo", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getOrderForAirwayBillNo_args args = new getOrderForAirwayBillNo_args();
        args.setAirwaybillNo(airwaybillNo);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<Order> getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getOrderForAirwayBillNo();
      }
    }

    public void getMinCreatedTimeStampUndeliveredOrdersForSource(int source, org.apache.thrift.async.AsyncMethodCallback<getMinCreatedTimeStampUndeliveredOrdersForSource_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getMinCreatedTimeStampUndeliveredOrdersForSource_call method_call = new getMinCreatedTimeStampUndeliveredOrdersForSource_call(source, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getMinCreatedTimeStampUndeliveredOrdersForSource_call extends org.apache.thrift.async.TAsyncMethodCall {
      private int source;
      public getMinCreatedTimeStampUndeliveredOrdersForSource_call(int source, org.apache.thrift.async.AsyncMethodCallback<getMinCreatedTimeStampUndeliveredOrdersForSource_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.source = source;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getMinCreatedTimeStampUndeliveredOrdersForSource", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getMinCreatedTimeStampUndeliveredOrdersForSource_args args = new getMinCreatedTimeStampUndeliveredOrdersForSource_args();
        args.setSource(source);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public long getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getMinCreatedTimeStampUndeliveredOrdersForSource();
      }
    }

    public void updateSnapdealOrdersStatus(Map<String,List<List<String>>> orders, org.apache.thrift.async.AsyncMethodCallback<updateSnapdealOrdersStatus_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      updateSnapdealOrdersStatus_call method_call = new updateSnapdealOrdersStatus_call(orders, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class updateSnapdealOrdersStatus_call extends org.apache.thrift.async.TAsyncMethodCall {
      private Map<String,List<List<String>>> orders;
      public updateSnapdealOrdersStatus_call(Map<String,List<List<String>>> orders, org.apache.thrift.async.AsyncMethodCallback<updateSnapdealOrdersStatus_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.orders = orders;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateSnapdealOrdersStatus", org.apache.thrift.protocol.TMessageType.CALL, 0));
        updateSnapdealOrdersStatus_args args = new updateSnapdealOrdersStatus_args();
        args.setOrders(orders);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_updateSnapdealOrdersStatus();
      }
    }

    public void updateFlipkartOrdersStatus(List<List<String>> delivered_orders, org.apache.thrift.async.AsyncMethodCallback<updateFlipkartOrdersStatus_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      updateFlipkartOrdersStatus_call method_call = new updateFlipkartOrdersStatus_call(delivered_orders, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class updateFlipkartOrdersStatus_call extends org.apache.thrift.async.TAsyncMethodCall {
      private List<List<String>> delivered_orders;
      public updateFlipkartOrdersStatus_call(List<List<String>> delivered_orders, org.apache.thrift.async.AsyncMethodCallback<updateFlipkartOrdersStatus_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.delivered_orders = delivered_orders;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateFlipkartOrdersStatus", org.apache.thrift.protocol.TMessageType.CALL, 0));
        updateFlipkartOrdersStatus_args args = new updateFlipkartOrdersStatus_args();
        args.setDelivered_orders(delivered_orders);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_updateFlipkartOrdersStatus();
      }
    }

    public void bulkAddOrUpdateAmazonFbaSalesSnapshot(List<AmazonFbaSalesSnapshot> amazonfbasalessnapshotlist, org.apache.thrift.async.AsyncMethodCallback<bulkAddOrUpdateAmazonFbaSalesSnapshot_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      bulkAddOrUpdateAmazonFbaSalesSnapshot_call method_call = new bulkAddOrUpdateAmazonFbaSalesSnapshot_call(amazonfbasalessnapshotlist, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class bulkAddOrUpdateAmazonFbaSalesSnapshot_call extends org.apache.thrift.async.TAsyncMethodCall {
      private List<AmazonFbaSalesSnapshot> amazonfbasalessnapshotlist;
      public bulkAddOrUpdateAmazonFbaSalesSnapshot_call(List<AmazonFbaSalesSnapshot> amazonfbasalessnapshotlist, org.apache.thrift.async.AsyncMethodCallback<bulkAddOrUpdateAmazonFbaSalesSnapshot_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.amazonfbasalessnapshotlist = amazonfbasalessnapshotlist;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("bulkAddOrUpdateAmazonFbaSalesSnapshot", org.apache.thrift.protocol.TMessageType.CALL, 0));
        bulkAddOrUpdateAmazonFbaSalesSnapshot_args args = new bulkAddOrUpdateAmazonFbaSalesSnapshot_args();
        args.setAmazonfbasalessnapshotlist(amazonfbasalessnapshotlist);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_bulkAddOrUpdateAmazonFbaSalesSnapshot();
      }
    }

    public void getCreatedOrdersForFlipkart(List<String> flipkartorderids, org.apache.thrift.async.AsyncMethodCallback<getCreatedOrdersForFlipkart_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getCreatedOrdersForFlipkart_call method_call = new getCreatedOrdersForFlipkart_call(flipkartorderids, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getCreatedOrdersForFlipkart_call extends org.apache.thrift.async.TAsyncMethodCall {
      private List<String> flipkartorderids;
      public getCreatedOrdersForFlipkart_call(List<String> flipkartorderids, org.apache.thrift.async.AsyncMethodCallback<getCreatedOrdersForFlipkart_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.flipkartorderids = flipkartorderids;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getCreatedOrdersForFlipkart", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getCreatedOrdersForFlipkart_args args = new getCreatedOrdersForFlipkart_args();
        args.setFlipkartorderids(flipkartorderids);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public Map<Long,Long> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getCreatedOrdersForFlipkart();
      }
    }

    public void isPrivateDealTransaction(long transactionId, org.apache.thrift.async.AsyncMethodCallback<isPrivateDealTransaction_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      isPrivateDealTransaction_call method_call = new isPrivateDealTransaction_call(transactionId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class isPrivateDealTransaction_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long transactionId;
      public isPrivateDealTransaction_call(long transactionId, org.apache.thrift.async.AsyncMethodCallback<isPrivateDealTransaction_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.transactionId = transactionId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("isPrivateDealTransaction", org.apache.thrift.protocol.TMessageType.CALL, 0));
        isPrivateDealTransaction_args args = new isPrivateDealTransaction_args();
        args.setTransactionId(transactionId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public boolean getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_isPrivateDealTransaction();
      }
    }

    public void getAmazonFbaSalesLatestSnapshotForItemLocationWise(long item_id, long location, org.apache.thrift.async.AsyncMethodCallback<getAmazonFbaSalesLatestSnapshotForItemLocationWise_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getAmazonFbaSalesLatestSnapshotForItemLocationWise_call method_call = new getAmazonFbaSalesLatestSnapshotForItemLocationWise_call(item_id, location, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getAmazonFbaSalesLatestSnapshotForItemLocationWise_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long item_id;
      private long location;
      public getAmazonFbaSalesLatestSnapshotForItemLocationWise_call(long item_id, long location, org.apache.thrift.async.AsyncMethodCallback<getAmazonFbaSalesLatestSnapshotForItemLocationWise_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.item_id = item_id;
        this.location = location;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAmazonFbaSalesLatestSnapshotForItemLocationWise", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getAmazonFbaSalesLatestSnapshotForItemLocationWise_args args = new getAmazonFbaSalesLatestSnapshotForItemLocationWise_args();
        args.setItem_id(item_id);
        args.setLocation(location);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public AmazonFbaSalesSnapshot getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getAmazonFbaSalesLatestSnapshotForItemLocationWise();
      }
    }

    public void changeEasyshipMfnOrderTxnStatus(long transactionId, TransactionStatus status, String description, long pickUp, OrderType orderType, OrderSource source, long shipTimestamp, long deliveryTimeStamp, org.apache.thrift.async.AsyncMethodCallback<changeEasyshipMfnOrderTxnStatus_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      changeEasyshipMfnOrderTxnStatus_call method_call = new changeEasyshipMfnOrderTxnStatus_call(transactionId, status, description, pickUp, orderType, source, shipTimestamp, deliveryTimeStamp, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class changeEasyshipMfnOrderTxnStatus_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long transactionId;
      private TransactionStatus status;
      private String description;
      private long pickUp;
      private OrderType orderType;
      private OrderSource source;
      private long shipTimestamp;
      private long deliveryTimeStamp;
      public changeEasyshipMfnOrderTxnStatus_call(long transactionId, TransactionStatus status, String description, long pickUp, OrderType orderType, OrderSource source, long shipTimestamp, long deliveryTimeStamp, org.apache.thrift.async.AsyncMethodCallback<changeEasyshipMfnOrderTxnStatus_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.transactionId = transactionId;
        this.status = status;
        this.description = description;
        this.pickUp = pickUp;
        this.orderType = orderType;
        this.source = source;
        this.shipTimestamp = shipTimestamp;
        this.deliveryTimeStamp = deliveryTimeStamp;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("changeEasyshipMfnOrderTxnStatus", org.apache.thrift.protocol.TMessageType.CALL, 0));
        changeEasyshipMfnOrderTxnStatus_args args = new changeEasyshipMfnOrderTxnStatus_args();
        args.setTransactionId(transactionId);
        args.setStatus(status);
        args.setDescription(description);
        args.setPickUp(pickUp);
        args.setOrderType(orderType);
        args.setSource(source);
        args.setShipTimestamp(shipTimestamp);
        args.setDeliveryTimeStamp(deliveryTimeStamp);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public boolean getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_changeEasyshipMfnOrderTxnStatus();
      }
    }

    public void updateAmazonFbaOrdersReturns(List<AmazonFbaOrderReturns> fbaOrderReturns, org.apache.thrift.async.AsyncMethodCallback<updateAmazonFbaOrdersReturns_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      updateAmazonFbaOrdersReturns_call method_call = new updateAmazonFbaOrdersReturns_call(fbaOrderReturns, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class updateAmazonFbaOrdersReturns_call extends org.apache.thrift.async.TAsyncMethodCall {
      private List<AmazonFbaOrderReturns> fbaOrderReturns;
      public updateAmazonFbaOrdersReturns_call(List<AmazonFbaOrderReturns> fbaOrderReturns, org.apache.thrift.async.AsyncMethodCallback<updateAmazonFbaOrdersReturns_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.fbaOrderReturns = fbaOrderReturns;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateAmazonFbaOrdersReturns", org.apache.thrift.protocol.TMessageType.CALL, 0));
        updateAmazonFbaOrdersReturns_args args = new updateAmazonFbaOrdersReturns_args();
        args.setFbaOrderReturns(fbaOrderReturns);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_updateAmazonFbaOrdersReturns();
      }
    }

    public void getAllAmazonFbaOrderReturnsByCurrentTime(long insertionTimestamp, org.apache.thrift.async.AsyncMethodCallback<getAllAmazonFbaOrderReturnsByCurrentTime_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getAllAmazonFbaOrderReturnsByCurrentTime_call method_call = new getAllAmazonFbaOrderReturnsByCurrentTime_call(insertionTimestamp, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getAllAmazonFbaOrderReturnsByCurrentTime_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long insertionTimestamp;
      public getAllAmazonFbaOrderReturnsByCurrentTime_call(long insertionTimestamp, org.apache.thrift.async.AsyncMethodCallback<getAllAmazonFbaOrderReturnsByCurrentTime_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.insertionTimestamp = insertionTimestamp;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAllAmazonFbaOrderReturnsByCurrentTime", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getAllAmazonFbaOrderReturnsByCurrentTime_args args = new getAllAmazonFbaOrderReturnsByCurrentTime_args();
        args.setInsertionTimestamp(insertionTimestamp);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<AmazonFbaOrderReturns> getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getAllAmazonFbaOrderReturnsByCurrentTime();
      }
    }

    public void getTotalSaleReturnsFbaSkusCurentTime(long insertionTimestamp, org.apache.thrift.async.AsyncMethodCallback<getTotalSaleReturnsFbaSkusCurentTime_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getTotalSaleReturnsFbaSkusCurentTime_call method_call = new getTotalSaleReturnsFbaSkusCurentTime_call(insertionTimestamp, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getTotalSaleReturnsFbaSkusCurentTime_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long insertionTimestamp;
      public getTotalSaleReturnsFbaSkusCurentTime_call(long insertionTimestamp, org.apache.thrift.async.AsyncMethodCallback<getTotalSaleReturnsFbaSkusCurentTime_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.insertionTimestamp = insertionTimestamp;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getTotalSaleReturnsFbaSkusCurentTime", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getTotalSaleReturnsFbaSkusCurentTime_args args = new getTotalSaleReturnsFbaSkusCurentTime_args();
        args.setInsertionTimestamp(insertionTimestamp);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public Map<Long,Map<String,Long>> getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getTotalSaleReturnsFbaSkusCurentTime();
      }
    }

    public void getVerificationPendingOrdersFK(org.apache.thrift.async.AsyncMethodCallback<getVerificationPendingOrdersFK_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getVerificationPendingOrdersFK_call method_call = new getVerificationPendingOrdersFK_call(resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getVerificationPendingOrdersFK_call extends org.apache.thrift.async.TAsyncMethodCall {
      public getVerificationPendingOrdersFK_call(org.apache.thrift.async.AsyncMethodCallback<getVerificationPendingOrdersFK_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getVerificationPendingOrdersFK", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getVerificationPendingOrdersFK_args args = new getVerificationPendingOrdersFK_args();
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<FlipkartOrder> getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getVerificationPendingOrdersFK();
      }
    }

    public void getFAOrderByFkOrderId(String fkOrderId, String fkOrderItemId, org.apache.thrift.async.AsyncMethodCallback<getFAOrderByFkOrderId_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getFAOrderByFkOrderId_call method_call = new getFAOrderByFkOrderId_call(fkOrderId, fkOrderItemId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getFAOrderByFkOrderId_call extends org.apache.thrift.async.TAsyncMethodCall {
      private String fkOrderId;
      private String fkOrderItemId;
      public getFAOrderByFkOrderId_call(String fkOrderId, String fkOrderItemId, org.apache.thrift.async.AsyncMethodCallback<getFAOrderByFkOrderId_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.fkOrderId = fkOrderId;
        this.fkOrderItemId = fkOrderItemId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getFAOrderByFkOrderId", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getFAOrderByFkOrderId_args args = new getFAOrderByFkOrderId_args();
        args.setFkOrderId(fkOrderId);
        args.setFkOrderItemId(fkOrderItemId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public FlipkartAdvantageOrder getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getFAOrderByFkOrderId();
      }
    }

    public void getAllFAOrdersList(String status, org.apache.thrift.async.AsyncMethodCallback<getAllFAOrdersList_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getAllFAOrdersList_call method_call = new getAllFAOrdersList_call(status, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getAllFAOrdersList_call extends org.apache.thrift.async.TAsyncMethodCall {
      private String status;
      public getAllFAOrdersList_call(String status, org.apache.thrift.async.AsyncMethodCallback<getAllFAOrdersList_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.status = status;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAllFAOrdersList", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getAllFAOrdersList_args args = new getAllFAOrdersList_args();
        args.setStatus(status);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<FlipkartAdvantageOrder> getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getAllFAOrdersList();
      }
    }

    public void addUpdateFaOrdersBulk(List<FlipkartAdvantageOrder> faOrdersList, org.apache.thrift.async.AsyncMethodCallback<addUpdateFaOrdersBulk_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      addUpdateFaOrdersBulk_call method_call = new addUpdateFaOrdersBulk_call(faOrdersList, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class addUpdateFaOrdersBulk_call extends org.apache.thrift.async.TAsyncMethodCall {
      private List<FlipkartAdvantageOrder> faOrdersList;
      public addUpdateFaOrdersBulk_call(List<FlipkartAdvantageOrder> faOrdersList, org.apache.thrift.async.AsyncMethodCallback<addUpdateFaOrdersBulk_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.faOrdersList = faOrdersList;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addUpdateFaOrdersBulk", org.apache.thrift.protocol.TMessageType.CALL, 0));
        addUpdateFaOrdersBulk_args args = new addUpdateFaOrdersBulk_args();
        args.setFaOrdersList(faOrdersList);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_addUpdateFaOrdersBulk();
      }
    }

    public void addInvoiceDetailsToOrders(long transactionId, long customerId, org.apache.thrift.async.AsyncMethodCallback<addInvoiceDetailsToOrders_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      addInvoiceDetailsToOrders_call method_call = new addInvoiceDetailsToOrders_call(transactionId, customerId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class addInvoiceDetailsToOrders_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long transactionId;
      private long customerId;
      public addInvoiceDetailsToOrders_call(long transactionId, long customerId, org.apache.thrift.async.AsyncMethodCallback<addInvoiceDetailsToOrders_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.transactionId = transactionId;
        this.customerId = customerId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addInvoiceDetailsToOrders", org.apache.thrift.protocol.TMessageType.CALL, 0));
        addInvoiceDetailsToOrders_args args = new addInvoiceDetailsToOrders_args();
        args.setTransactionId(transactionId);
        args.setCustomerId(customerId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_addInvoiceDetailsToOrders();
      }
    }

    public void flipkartFaOrderExists(String fkOrderId, String fkOrderItemId, org.apache.thrift.async.AsyncMethodCallback<flipkartFaOrderExists_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      flipkartFaOrderExists_call method_call = new flipkartFaOrderExists_call(fkOrderId, fkOrderItemId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class flipkartFaOrderExists_call extends org.apache.thrift.async.TAsyncMethodCall {
      private String fkOrderId;
      private String fkOrderItemId;
      public flipkartFaOrderExists_call(String fkOrderId, String fkOrderItemId, org.apache.thrift.async.AsyncMethodCallback<flipkartFaOrderExists_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.fkOrderId = fkOrderId;
        this.fkOrderItemId = fkOrderItemId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("flipkartFaOrderExists", org.apache.thrift.protocol.TMessageType.CALL, 0));
        flipkartFaOrderExists_args args = new flipkartFaOrderExists_args();
        args.setFkOrderId(fkOrderId);
        args.setFkOrderItemId(fkOrderItemId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public boolean getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_flipkartFaOrderExists();
      }
    }

    public void getRcgOrderStatus(long rechargeOrderId, boolean isFinal, org.apache.thrift.async.AsyncMethodCallback<getRcgOrderStatus_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getRcgOrderStatus_call method_call = new getRcgOrderStatus_call(rechargeOrderId, isFinal, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getRcgOrderStatus_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long rechargeOrderId;
      private boolean isFinal;
      public getRcgOrderStatus_call(long rechargeOrderId, boolean isFinal, org.apache.thrift.async.AsyncMethodCallback<getRcgOrderStatus_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.rechargeOrderId = rechargeOrderId;
        this.isFinal = isFinal;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getRcgOrderStatus", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getRcgOrderStatus_args args = new getRcgOrderStatus_args();
        args.setRechargeOrderId(rechargeOrderId);
        args.setIsFinal(isFinal);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public RechargeOrder getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getRcgOrderStatus();
      }
    }

    public void getRcgTransactionStatus(long rechargeTransactionId, boolean isFinal, org.apache.thrift.async.AsyncMethodCallback<getRcgTransactionStatus_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getRcgTransactionStatus_call method_call = new getRcgTransactionStatus_call(rechargeTransactionId, isFinal, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getRcgTransactionStatus_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long rechargeTransactionId;
      private boolean isFinal;
      public getRcgTransactionStatus_call(long rechargeTransactionId, boolean isFinal, org.apache.thrift.async.AsyncMethodCallback<getRcgTransactionStatus_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.rechargeTransactionId = rechargeTransactionId;
        this.isFinal = isFinal;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getRcgTransactionStatus", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getRcgTransactionStatus_args args = new getRcgTransactionStatus_args();
        args.setRechargeTransactionId(rechargeTransactionId);
        args.setIsFinal(isFinal);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public RechargeTransaction getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getRcgTransactionStatus();
      }
    }

    public void bulkAddOrUpdateFlipkartFaSalesSnapshot(List<FlipkartFaSalesSnapshot> flipkartfasalessnapshotlist, org.apache.thrift.async.AsyncMethodCallback<bulkAddOrUpdateFlipkartFaSalesSnapshot_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      bulkAddOrUpdateFlipkartFaSalesSnapshot_call method_call = new bulkAddOrUpdateFlipkartFaSalesSnapshot_call(flipkartfasalessnapshotlist, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class bulkAddOrUpdateFlipkartFaSalesSnapshot_call extends org.apache.thrift.async.TAsyncMethodCall {
      private List<FlipkartFaSalesSnapshot> flipkartfasalessnapshotlist;
      public bulkAddOrUpdateFlipkartFaSalesSnapshot_call(List<FlipkartFaSalesSnapshot> flipkartfasalessnapshotlist, org.apache.thrift.async.AsyncMethodCallback<bulkAddOrUpdateFlipkartFaSalesSnapshot_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.flipkartfasalessnapshotlist = flipkartfasalessnapshotlist;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("bulkAddOrUpdateFlipkartFaSalesSnapshot", org.apache.thrift.protocol.TMessageType.CALL, 0));
        bulkAddOrUpdateFlipkartFaSalesSnapshot_args args = new bulkAddOrUpdateFlipkartFaSalesSnapshot_args();
        args.setFlipkartfasalessnapshotlist(flipkartfasalessnapshotlist);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_bulkAddOrUpdateFlipkartFaSalesSnapshot();
      }
    }

    public void getFlipkartFaSalesSnapshotForDays(int days, org.apache.thrift.async.AsyncMethodCallback<getFlipkartFaSalesSnapshotForDays_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getFlipkartFaSalesSnapshotForDays_call method_call = new getFlipkartFaSalesSnapshotForDays_call(days, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getFlipkartFaSalesSnapshotForDays_call extends org.apache.thrift.async.TAsyncMethodCall {
      private int days;
      public getFlipkartFaSalesSnapshotForDays_call(int days, org.apache.thrift.async.AsyncMethodCallback<getFlipkartFaSalesSnapshotForDays_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.days = days;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getFlipkartFaSalesSnapshotForDays", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getFlipkartFaSalesSnapshotForDays_args args = new getFlipkartFaSalesSnapshotForDays_args();
        args.setDays(days);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<FlipkartFaSalesSnapshot> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getFlipkartFaSalesSnapshotForDays();
      }
    }

    public void getFlipkartFaSalesSnapshotBySkuAndSaleDate(long item_id, long dateOfSale, org.apache.thrift.async.AsyncMethodCallback<getFlipkartFaSalesSnapshotBySkuAndSaleDate_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getFlipkartFaSalesSnapshotBySkuAndSaleDate_call method_call = new getFlipkartFaSalesSnapshotBySkuAndSaleDate_call(item_id, dateOfSale, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getFlipkartFaSalesSnapshotBySkuAndSaleDate_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long item_id;
      private long dateOfSale;
      public getFlipkartFaSalesSnapshotBySkuAndSaleDate_call(long item_id, long dateOfSale, org.apache.thrift.async.AsyncMethodCallback<getFlipkartFaSalesSnapshotBySkuAndSaleDate_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.item_id = item_id;
        this.dateOfSale = dateOfSale;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getFlipkartFaSalesSnapshotBySkuAndSaleDate", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getFlipkartFaSalesSnapshotBySkuAndSaleDate_args args = new getFlipkartFaSalesSnapshotBySkuAndSaleDate_args();
        args.setItem_id(item_id);
        args.setDateOfSale(dateOfSale);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public FlipkartFaSalesSnapshot getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getFlipkartFaSalesSnapshotBySkuAndSaleDate();
      }
    }

    public void acceptPackageOrders(List<Long> orders, org.apache.thrift.async.AsyncMethodCallback<acceptPackageOrders_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      acceptPackageOrders_call method_call = new acceptPackageOrders_call(orders, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class acceptPackageOrders_call extends org.apache.thrift.async.TAsyncMethodCall {
      private List<Long> orders;
      public acceptPackageOrders_call(List<Long> orders, org.apache.thrift.async.AsyncMethodCallback<acceptPackageOrders_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.orders = orders;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("acceptPackageOrders", org.apache.thrift.protocol.TMessageType.CALL, 0));
        acceptPackageOrders_args args = new acceptPackageOrders_args();
        args.setOrders(orders);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public boolean getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_acceptPackageOrders();
      }
    }

    public void getGroupOrdersByLogisticsTxnId(String logisticsTxnId, org.apache.thrift.async.AsyncMethodCallback<getGroupOrdersByLogisticsTxnId_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getGroupOrdersByLogisticsTxnId_call method_call = new getGroupOrdersByLogisticsTxnId_call(logisticsTxnId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getGroupOrdersByLogisticsTxnId_call extends org.apache.thrift.async.TAsyncMethodCall {
      private String logisticsTxnId;
      public getGroupOrdersByLogisticsTxnId_call(String logisticsTxnId, org.apache.thrift.async.AsyncMethodCallback<getGroupOrdersByLogisticsTxnId_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.logisticsTxnId = logisticsTxnId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getGroupOrdersByLogisticsTxnId", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getGroupOrdersByLogisticsTxnId_args args = new getGroupOrdersByLogisticsTxnId_args();
        args.setLogisticsTxnId(logisticsTxnId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<Order> getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getGroupOrdersByLogisticsTxnId();
      }
    }

    public void addBillingDetailsForGrouppedOrders(List<Long> order_ids, String invoice_number, Map<Long,List<String>> itemNumbersMap, Map<Long,List<String>> serialNumbersMap, Map<Long,List<Long>> freebieWarehouseIdMap, String billed_by, long jacketNumber, long billingType, boolean authorize, String invoiceType, org.apache.thrift.async.AsyncMethodCallback<addBillingDetailsForGrouppedOrders_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      addBillingDetailsForGrouppedOrders_call method_call = new addBillingDetailsForGrouppedOrders_call(order_ids, invoice_number, itemNumbersMap, serialNumbersMap, freebieWarehouseIdMap, billed_by, jacketNumber, billingType, authorize, invoiceType, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class addBillingDetailsForGrouppedOrders_call extends org.apache.thrift.async.TAsyncMethodCall {
      private List<Long> order_ids;
      private String invoice_number;
      private Map<Long,List<String>> itemNumbersMap;
      private Map<Long,List<String>> serialNumbersMap;
      private Map<Long,List<Long>> freebieWarehouseIdMap;
      private String billed_by;
      private long jacketNumber;
      private long billingType;
      private boolean authorize;
      private String invoiceType;
      public addBillingDetailsForGrouppedOrders_call(List<Long> order_ids, String invoice_number, Map<Long,List<String>> itemNumbersMap, Map<Long,List<String>> serialNumbersMap, Map<Long,List<Long>> freebieWarehouseIdMap, String billed_by, long jacketNumber, long billingType, boolean authorize, String invoiceType, org.apache.thrift.async.AsyncMethodCallback<addBillingDetailsForGrouppedOrders_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.order_ids = order_ids;
        this.invoice_number = invoice_number;
        this.itemNumbersMap = itemNumbersMap;
        this.serialNumbersMap = serialNumbersMap;
        this.freebieWarehouseIdMap = freebieWarehouseIdMap;
        this.billed_by = billed_by;
        this.jacketNumber = jacketNumber;
        this.billingType = billingType;
        this.authorize = authorize;
        this.invoiceType = invoiceType;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addBillingDetailsForGrouppedOrders", org.apache.thrift.protocol.TMessageType.CALL, 0));
        addBillingDetailsForGrouppedOrders_args args = new addBillingDetailsForGrouppedOrders_args();
        args.setOrder_ids(order_ids);
        args.setInvoice_number(invoice_number);
        args.setItemNumbersMap(itemNumbersMap);
        args.setSerialNumbersMap(serialNumbersMap);
        args.setFreebieWarehouseIdMap(freebieWarehouseIdMap);
        args.setBilled_by(billed_by);
        args.setJacketNumber(jacketNumber);
        args.setBillingType(billingType);
        args.setAuthorize(authorize);
        args.setInvoiceType(invoiceType);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public boolean getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_addBillingDetailsForGrouppedOrders();
      }
    }

    public void getInvoiceFormatLogisticsTxnId(long transactionId, long shipementSeq, org.apache.thrift.async.AsyncMethodCallback<getInvoiceFormatLogisticsTxnId_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getInvoiceFormatLogisticsTxnId_call method_call = new getInvoiceFormatLogisticsTxnId_call(transactionId, shipementSeq, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getInvoiceFormatLogisticsTxnId_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long transactionId;
      private long shipementSeq;
      public getInvoiceFormatLogisticsTxnId_call(long transactionId, long shipementSeq, org.apache.thrift.async.AsyncMethodCallback<getInvoiceFormatLogisticsTxnId_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.transactionId = transactionId;
        this.shipementSeq = shipementSeq;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getInvoiceFormatLogisticsTxnId", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getInvoiceFormatLogisticsTxnId_args args = new getInvoiceFormatLogisticsTxnId_args();
        args.setTransactionId(transactionId);
        args.setShipementSeq(shipementSeq);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public String getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getInvoiceFormatLogisticsTxnId();
      }
    }

    public void createHomeShopOrder(HsOrder snapdealOrder, org.apache.thrift.async.AsyncMethodCallback<createHomeShopOrder_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      createHomeShopOrder_call method_call = new createHomeShopOrder_call(snapdealOrder, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class createHomeShopOrder_call extends org.apache.thrift.async.TAsyncMethodCall {
      private HsOrder snapdealOrder;
      public createHomeShopOrder_call(HsOrder snapdealOrder, org.apache.thrift.async.AsyncMethodCallback<createHomeShopOrder_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.snapdealOrder = snapdealOrder;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("createHomeShopOrder", org.apache.thrift.protocol.TMessageType.CALL, 0));
        createHomeShopOrder_args args = new createHomeShopOrder_args();
        args.setSnapdealOrder(snapdealOrder);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_createHomeShopOrder();
      }
    }

    public void getHomeShopOrder(long orderId, String hsOrderNo, String hsSubOrderNo, org.apache.thrift.async.AsyncMethodCallback<getHomeShopOrder_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getHomeShopOrder_call method_call = new getHomeShopOrder_call(orderId, hsOrderNo, hsSubOrderNo, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getHomeShopOrder_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long orderId;
      private String hsOrderNo;
      private String hsSubOrderNo;
      public getHomeShopOrder_call(long orderId, String hsOrderNo, String hsSubOrderNo, org.apache.thrift.async.AsyncMethodCallback<getHomeShopOrder_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.orderId = orderId;
        this.hsOrderNo = hsOrderNo;
        this.hsSubOrderNo = hsSubOrderNo;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getHomeShopOrder", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getHomeShopOrder_args args = new getHomeShopOrder_args();
        args.setOrderId(orderId);
        args.setHsOrderNo(hsOrderNo);
        args.setHsSubOrderNo(hsSubOrderNo);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<HsOrder> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getHomeShopOrder();
      }
    }

    public void homeShopOrderExists(String hsOrderNo, String hsSubOrderNo, org.apache.thrift.async.AsyncMethodCallback<homeShopOrderExists_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      homeShopOrderExists_call method_call = new homeShopOrderExists_call(hsOrderNo, hsSubOrderNo, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class homeShopOrderExists_call extends org.apache.thrift.async.TAsyncMethodCall {
      private String hsOrderNo;
      private String hsSubOrderNo;
      public homeShopOrderExists_call(String hsOrderNo, String hsSubOrderNo, org.apache.thrift.async.AsyncMethodCallback<homeShopOrderExists_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.hsOrderNo = hsOrderNo;
        this.hsSubOrderNo = hsSubOrderNo;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("homeShopOrderExists", org.apache.thrift.protocol.TMessageType.CALL, 0));
        homeShopOrderExists_args args = new homeShopOrderExists_args();
        args.setHsOrderNo(hsOrderNo);
        args.setHsSubOrderNo(hsSubOrderNo);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public boolean getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_homeShopOrderExists();
      }
    }

    public void splitBulkOrder(long orderId, long splitOrderQty, org.apache.thrift.async.AsyncMethodCallback<splitBulkOrder_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      splitBulkOrder_call method_call = new splitBulkOrder_call(orderId, splitOrderQty, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class splitBulkOrder_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long orderId;
      private long splitOrderQty;
      public splitBulkOrder_call(long orderId, long splitOrderQty, org.apache.thrift.async.AsyncMethodCallback<splitBulkOrder_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.orderId = orderId;
        this.splitOrderQty = splitOrderQty;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("splitBulkOrder", org.apache.thrift.protocol.TMessageType.CALL, 0));
        splitBulkOrder_args args = new splitBulkOrder_args();
        args.setOrderId(orderId);
        args.setSplitOrderQty(splitOrderQty);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public Order getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_splitBulkOrder();
      }
    }

    public void moveOrdersToCorrectWarehouse(org.apache.thrift.async.AsyncMethodCallback<moveOrdersToCorrectWarehouse_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      moveOrdersToCorrectWarehouse_call method_call = new moveOrdersToCorrectWarehouse_call(resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class moveOrdersToCorrectWarehouse_call extends org.apache.thrift.async.TAsyncMethodCall {
      public moveOrdersToCorrectWarehouse_call(org.apache.thrift.async.AsyncMethodCallback<moveOrdersToCorrectWarehouse_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("moveOrdersToCorrectWarehouse", org.apache.thrift.protocol.TMessageType.CALL, 0));
        moveOrdersToCorrectWarehouse_args args = new moveOrdersToCorrectWarehouse_args();
        args.write(prot);
        prot.writeMessageEnd();
      }

      public String getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_moveOrdersToCorrectWarehouse();
      }
    }

    public void getCreditorInfo(long id, String name, org.apache.thrift.async.AsyncMethodCallback<getCreditorInfo_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getCreditorInfo_call method_call = new getCreditorInfo_call(id, name, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getCreditorInfo_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long id;
      private String name;
      public getCreditorInfo_call(long id, String name, org.apache.thrift.async.AsyncMethodCallback<getCreditorInfo_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.id = id;
        this.name = name;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getCreditorInfo", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getCreditorInfo_args args = new getCreditorInfo_args();
        args.setId(id);
        args.setName(name);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public Creditor getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getCreditorInfo();
      }
    }

    public void updateCreditorInfo(Creditor creditor, org.apache.thrift.async.AsyncMethodCallback<updateCreditorInfo_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      updateCreditorInfo_call method_call = new updateCreditorInfo_call(creditor, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class updateCreditorInfo_call extends org.apache.thrift.async.TAsyncMethodCall {
      private Creditor creditor;
      public updateCreditorInfo_call(Creditor creditor, org.apache.thrift.async.AsyncMethodCallback<updateCreditorInfo_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.creditor = creditor;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateCreditorInfo", org.apache.thrift.protocol.TMessageType.CALL, 0));
        updateCreditorInfo_args args = new updateCreditorInfo_args();
        args.setCreditor(creditor);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public boolean getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_updateCreditorInfo();
      }
    }

    public void getUserSanctionDetails(long userId, org.apache.thrift.async.AsyncMethodCallback<getUserSanctionDetails_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getUserSanctionDetails_call method_call = new getUserSanctionDetails_call(userId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getUserSanctionDetails_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long userId;
      public getUserSanctionDetails_call(long userId, org.apache.thrift.async.AsyncMethodCallback<getUserSanctionDetails_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.userId = userId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getUserSanctionDetails", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getUserSanctionDetails_args args = new getUserSanctionDetails_args();
        args.setUserId(userId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<UserSanction> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getUserSanctionDetails();
      }
    }

    public void getUserSanctionDetailsForCreditor(long userId, long creditorId, org.apache.thrift.async.AsyncMethodCallback<getUserSanctionDetailsForCreditor_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getUserSanctionDetailsForCreditor_call method_call = new getUserSanctionDetailsForCreditor_call(userId, creditorId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getUserSanctionDetailsForCreditor_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long userId;
      private long creditorId;
      public getUserSanctionDetailsForCreditor_call(long userId, long creditorId, org.apache.thrift.async.AsyncMethodCallback<getUserSanctionDetailsForCreditor_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.userId = userId;
        this.creditorId = creditorId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getUserSanctionDetailsForCreditor", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getUserSanctionDetailsForCreditor_args args = new getUserSanctionDetailsForCreditor_args();
        args.setUserId(userId);
        args.setCreditorId(creditorId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public UserSanction getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getUserSanctionDetailsForCreditor();
      }
    }

    public void updateUserSanction(UserSanction userSanaction, org.apache.thrift.async.AsyncMethodCallback<updateUserSanction_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      updateUserSanction_call method_call = new updateUserSanction_call(userSanaction, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class updateUserSanction_call extends org.apache.thrift.async.TAsyncMethodCall {
      private UserSanction userSanaction;
      public updateUserSanction_call(UserSanction userSanaction, org.apache.thrift.async.AsyncMethodCallback<updateUserSanction_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.userSanaction = userSanaction;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateUserSanction", org.apache.thrift.protocol.TMessageType.CALL, 0));
        updateUserSanction_args args = new updateUserSanction_args();
        args.setUserSanaction(userSanaction);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public boolean getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_updateUserSanction();
      }
    }

    public void getCreditHistoryRecordsForTransaction(long paymentId, CreditTxnType creditTxnType, org.apache.thrift.async.AsyncMethodCallback<getCreditHistoryRecordsForTransaction_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getCreditHistoryRecordsForTransaction_call method_call = new getCreditHistoryRecordsForTransaction_call(paymentId, creditTxnType, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getCreditHistoryRecordsForTransaction_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long paymentId;
      private CreditTxnType creditTxnType;
      public getCreditHistoryRecordsForTransaction_call(long paymentId, CreditTxnType creditTxnType, org.apache.thrift.async.AsyncMethodCallback<getCreditHistoryRecordsForTransaction_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.paymentId = paymentId;
        this.creditTxnType = creditTxnType;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getCreditHistoryRecordsForTransaction", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getCreditHistoryRecordsForTransaction_args args = new getCreditHistoryRecordsForTransaction_args();
        args.setPaymentId(paymentId);
        args.setCreditTxnType(creditTxnType);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<CreditHistory> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getCreditHistoryRecordsForTransaction();
      }
    }

    public void getCreditHistoryRecordsForUserAndCreditor(long userId, long creditorId, CreditTxnType creditTxnType, org.apache.thrift.async.AsyncMethodCallback<getCreditHistoryRecordsForUserAndCreditor_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getCreditHistoryRecordsForUserAndCreditor_call method_call = new getCreditHistoryRecordsForUserAndCreditor_call(userId, creditorId, creditTxnType, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getCreditHistoryRecordsForUserAndCreditor_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long userId;
      private long creditorId;
      private CreditTxnType creditTxnType;
      public getCreditHistoryRecordsForUserAndCreditor_call(long userId, long creditorId, CreditTxnType creditTxnType, org.apache.thrift.async.AsyncMethodCallback<getCreditHistoryRecordsForUserAndCreditor_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.userId = userId;
        this.creditorId = creditorId;
        this.creditTxnType = creditTxnType;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getCreditHistoryRecordsForUserAndCreditor", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getCreditHistoryRecordsForUserAndCreditor_args args = new getCreditHistoryRecordsForUserAndCreditor_args();
        args.setUserId(userId);
        args.setCreditorId(creditorId);
        args.setCreditTxnType(creditTxnType);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<CreditHistory> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getCreditHistoryRecordsForUserAndCreditor();
      }
    }

    public void processCreditTransaction(long paymentId, long userId, long creditorId, List<CreditHistory> creditTxns, org.apache.thrift.async.AsyncMethodCallback<processCreditTransaction_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      processCreditTransaction_call method_call = new processCreditTransaction_call(paymentId, userId, creditorId, creditTxns, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class processCreditTransaction_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long paymentId;
      private long userId;
      private long creditorId;
      private List<CreditHistory> creditTxns;
      public processCreditTransaction_call(long paymentId, long userId, long creditorId, List<CreditHistory> creditTxns, org.apache.thrift.async.AsyncMethodCallback<processCreditTransaction_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.paymentId = paymentId;
        this.userId = userId;
        this.creditorId = creditorId;
        this.creditTxns = creditTxns;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("processCreditTransaction", org.apache.thrift.protocol.TMessageType.CALL, 0));
        processCreditTransaction_args args = new processCreditTransaction_args();
        args.setPaymentId(paymentId);
        args.setUserId(userId);
        args.setCreditorId(creditorId);
        args.setCreditTxns(creditTxns);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public boolean getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_processCreditTransaction();
      }
    }

    public void getLoanPayableForUserToCreditor(long userId, long creditorId, long dueDate, org.apache.thrift.async.AsyncMethodCallback<getLoanPayableForUserToCreditor_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getLoanPayableForUserToCreditor_call method_call = new getLoanPayableForUserToCreditor_call(userId, creditorId, dueDate, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getLoanPayableForUserToCreditor_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long userId;
      private long creditorId;
      private long dueDate;
      public getLoanPayableForUserToCreditor_call(long userId, long creditorId, long dueDate, org.apache.thrift.async.AsyncMethodCallback<getLoanPayableForUserToCreditor_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.userId = userId;
        this.creditorId = creditorId;
        this.dueDate = dueDate;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getLoanPayableForUserToCreditor", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getLoanPayableForUserToCreditor_args args = new getLoanPayableForUserToCreditor_args();
        args.setUserId(userId);
        args.setCreditorId(creditorId);
        args.setDueDate(dueDate);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public double getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getLoanPayableForUserToCreditor();
      }
    }

    public void getLoanHistoryRecordsForTransaction(long paymentId, CreditTxnType creditTxnType, org.apache.thrift.async.AsyncMethodCallback<getLoanHistoryRecordsForTransaction_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getLoanHistoryRecordsForTransaction_call method_call = new getLoanHistoryRecordsForTransaction_call(paymentId, creditTxnType, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getLoanHistoryRecordsForTransaction_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long paymentId;
      private CreditTxnType creditTxnType;
      public getLoanHistoryRecordsForTransaction_call(long paymentId, CreditTxnType creditTxnType, org.apache.thrift.async.AsyncMethodCallback<getLoanHistoryRecordsForTransaction_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.paymentId = paymentId;
        this.creditTxnType = creditTxnType;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getLoanHistoryRecordsForTransaction", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getLoanHistoryRecordsForTransaction_args args = new getLoanHistoryRecordsForTransaction_args();
        args.setPaymentId(paymentId);
        args.setCreditTxnType(creditTxnType);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<LoanHistory> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getLoanHistoryRecordsForTransaction();
      }
    }

    public void getLoanHistoryRecordsForUserAndCreditor(long userId, long creditorId, CreditTxnType creditTxnType, org.apache.thrift.async.AsyncMethodCallback<getLoanHistoryRecordsForUserAndCreditor_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getLoanHistoryRecordsForUserAndCreditor_call method_call = new getLoanHistoryRecordsForUserAndCreditor_call(userId, creditorId, creditTxnType, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getLoanHistoryRecordsForUserAndCreditor_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long userId;
      private long creditorId;
      private CreditTxnType creditTxnType;
      public getLoanHistoryRecordsForUserAndCreditor_call(long userId, long creditorId, CreditTxnType creditTxnType, org.apache.thrift.async.AsyncMethodCallback<getLoanHistoryRecordsForUserAndCreditor_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.userId = userId;
        this.creditorId = creditorId;
        this.creditTxnType = creditTxnType;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getLoanHistoryRecordsForUserAndCreditor", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getLoanHistoryRecordsForUserAndCreditor_args args = new getLoanHistoryRecordsForUserAndCreditor_args();
        args.setUserId(userId);
        args.setCreditorId(creditorId);
        args.setCreditTxnType(creditTxnType);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<LoanHistory> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getLoanHistoryRecordsForUserAndCreditor();
      }
    }

    public void processLoanTransaction(long paymentId, long userId, long creditorId, List<LoanHistory> creditTxns, org.apache.thrift.async.AsyncMethodCallback<processLoanTransaction_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      processLoanTransaction_call method_call = new processLoanTransaction_call(paymentId, userId, creditorId, creditTxns, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class processLoanTransaction_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long paymentId;
      private long userId;
      private long creditorId;
      private List<LoanHistory> creditTxns;
      public processLoanTransaction_call(long paymentId, long userId, long creditorId, List<LoanHistory> creditTxns, org.apache.thrift.async.AsyncMethodCallback<processLoanTransaction_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.paymentId = paymentId;
        this.userId = userId;
        this.creditorId = creditorId;
        this.creditTxns = creditTxns;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("processLoanTransaction", org.apache.thrift.protocol.TMessageType.CALL, 0));
        processLoanTransaction_args args = new processLoanTransaction_args();
        args.setPaymentId(paymentId);
        args.setUserId(userId);
        args.setCreditorId(creditorId);
        args.setCreditTxns(creditTxns);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public boolean getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_processLoanTransaction();
      }
    }

    public void getLimitedCreditHistoryRecords(long paymentId, long userId, long creditorId, long limit, long offset, org.apache.thrift.async.AsyncMethodCallback<getLimitedCreditHistoryRecords_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getLimitedCreditHistoryRecords_call method_call = new getLimitedCreditHistoryRecords_call(paymentId, userId, creditorId, limit, offset, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getLimitedCreditHistoryRecords_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long paymentId;
      private long userId;
      private long creditorId;
      private long limit;
      private long offset;
      public getLimitedCreditHistoryRecords_call(long paymentId, long userId, long creditorId, long limit, long offset, org.apache.thrift.async.AsyncMethodCallback<getLimitedCreditHistoryRecords_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.paymentId = paymentId;
        this.userId = userId;
        this.creditorId = creditorId;
        this.limit = limit;
        this.offset = offset;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getLimitedCreditHistoryRecords", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getLimitedCreditHistoryRecords_args args = new getLimitedCreditHistoryRecords_args();
        args.setPaymentId(paymentId);
        args.setUserId(userId);
        args.setCreditorId(creditorId);
        args.setLimit(limit);
        args.setOffset(offset);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public PaginatedCreditHistory getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getLimitedCreditHistoryRecords();
      }
    }

    public void getLimitedLoanHistoryRecords(long paymentId, long userId, long creditorId, long limit, long offset, org.apache.thrift.async.AsyncMethodCallback<getLimitedLoanHistoryRecords_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getLimitedLoanHistoryRecords_call method_call = new getLimitedLoanHistoryRecords_call(paymentId, userId, creditorId, limit, offset, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getLimitedLoanHistoryRecords_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long paymentId;
      private long userId;
      private long creditorId;
      private long limit;
      private long offset;
      public getLimitedLoanHistoryRecords_call(long paymentId, long userId, long creditorId, long limit, long offset, org.apache.thrift.async.AsyncMethodCallback<getLimitedLoanHistoryRecords_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.paymentId = paymentId;
        this.userId = userId;
        this.creditorId = creditorId;
        this.limit = limit;
        this.offset = offset;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getLimitedLoanHistoryRecords", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getLimitedLoanHistoryRecords_args args = new getLimitedLoanHistoryRecords_args();
        args.setPaymentId(paymentId);
        args.setUserId(userId);
        args.setCreditorId(creditorId);
        args.setLimit(limit);
        args.setOffset(offset);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public PaginatedLoanHistory getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getLimitedLoanHistoryRecords();
      }
    }

    public void getUserSanctionsDetailsAsPerLimit(long userId, long creditorId, long limit, long offset, String sort, org.apache.thrift.async.AsyncMethodCallback<getUserSanctionsDetailsAsPerLimit_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getUserSanctionsDetailsAsPerLimit_call method_call = new getUserSanctionsDetailsAsPerLimit_call(userId, creditorId, limit, offset, sort, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getUserSanctionsDetailsAsPerLimit_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long userId;
      private long creditorId;
      private long limit;
      private long offset;
      private String sort;
      public getUserSanctionsDetailsAsPerLimit_call(long userId, long creditorId, long limit, long offset, String sort, org.apache.thrift.async.AsyncMethodCallback<getUserSanctionsDetailsAsPerLimit_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.userId = userId;
        this.creditorId = creditorId;
        this.limit = limit;
        this.offset = offset;
        this.sort = sort;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getUserSanctionsDetailsAsPerLimit", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getUserSanctionsDetailsAsPerLimit_args args = new getUserSanctionsDetailsAsPerLimit_args();
        args.setUserId(userId);
        args.setCreditorId(creditorId);
        args.setLimit(limit);
        args.setOffset(offset);
        args.setSort(sort);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public PaginatedUserSanction getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getUserSanctionsDetailsAsPerLimit();
      }
    }

    public void getOutstandingPayments(String fetchType, long userId, long limit, org.apache.thrift.async.AsyncMethodCallback<getOutstandingPayments_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getOutstandingPayments_call method_call = new getOutstandingPayments_call(fetchType, userId, limit, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getOutstandingPayments_call extends org.apache.thrift.async.TAsyncMethodCall {
      private String fetchType;
      private long userId;
      private long limit;
      public getOutstandingPayments_call(String fetchType, long userId, long limit, org.apache.thrift.async.AsyncMethodCallback<getOutstandingPayments_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.fetchType = fetchType;
        this.userId = userId;
        this.limit = limit;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getOutstandingPayments", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getOutstandingPayments_args args = new getOutstandingPayments_args();
        args.setFetchType(fetchType);
        args.setUserId(userId);
        args.setLimit(limit);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<OutstandingPayments> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getOutstandingPayments();
      }
    }

    public void markPaymentSettled(long userId, long paymentId, double totalAmount, long repaymentDate, org.apache.thrift.async.AsyncMethodCallback<markPaymentSettled_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      markPaymentSettled_call method_call = new markPaymentSettled_call(userId, paymentId, totalAmount, repaymentDate, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class markPaymentSettled_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long userId;
      private long paymentId;
      private double totalAmount;
      private long repaymentDate;
      public markPaymentSettled_call(long userId, long paymentId, double totalAmount, long repaymentDate, org.apache.thrift.async.AsyncMethodCallback<markPaymentSettled_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.userId = userId;
        this.paymentId = paymentId;
        this.totalAmount = totalAmount;
        this.repaymentDate = repaymentDate;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("markPaymentSettled", org.apache.thrift.protocol.TMessageType.CALL, 0));
        markPaymentSettled_args args = new markPaymentSettled_args();
        args.setUserId(userId);
        args.setPaymentId(paymentId);
        args.setTotalAmount(totalAmount);
        args.setRepaymentDate(repaymentDate);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public Map<Boolean,String> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_markPaymentSettled();
      }
    }

    public void getReturnOrderInfo(long id, org.apache.thrift.async.AsyncMethodCallback<getReturnOrderInfo_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getReturnOrderInfo_call method_call = new getReturnOrderInfo_call(id, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getReturnOrderInfo_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long id;
      public getReturnOrderInfo_call(long id, org.apache.thrift.async.AsyncMethodCallback<getReturnOrderInfo_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.id = id;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getReturnOrderInfo", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getReturnOrderInfo_args args = new getReturnOrderInfo_args();
        args.setId(id);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public ReturnOrderInfo getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getReturnOrderInfo();
      }
    }

    public void getReturnOrderInfoList(List<Long> order_ids, org.apache.thrift.async.AsyncMethodCallback<getReturnOrderInfoList_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getReturnOrderInfoList_call method_call = new getReturnOrderInfoList_call(order_ids, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getReturnOrderInfoList_call extends org.apache.thrift.async.TAsyncMethodCall {
      private List<Long> order_ids;
      public getReturnOrderInfoList_call(List<Long> order_ids, org.apache.thrift.async.AsyncMethodCallback<getReturnOrderInfoList_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.order_ids = order_ids;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getReturnOrderInfoList", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getReturnOrderInfoList_args args = new getReturnOrderInfoList_args();
        args.setOrder_ids(order_ids);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public Map<Long,List<ReturnOrderInfo>> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getReturnOrderInfoList();
      }
    }

    public void getReturnOrderInfoListAsByStatus(List<Long> order_ids, List<String> statuses, org.apache.thrift.async.AsyncMethodCallback<getReturnOrderInfoListAsByStatus_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getReturnOrderInfoListAsByStatus_call method_call = new getReturnOrderInfoListAsByStatus_call(order_ids, statuses, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getReturnOrderInfoListAsByStatus_call extends org.apache.thrift.async.TAsyncMethodCall {
      private List<Long> order_ids;
      private List<String> statuses;
      public getReturnOrderInfoListAsByStatus_call(List<Long> order_ids, List<String> statuses, org.apache.thrift.async.AsyncMethodCallback<getReturnOrderInfoListAsByStatus_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.order_ids = order_ids;
        this.statuses = statuses;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getReturnOrderInfoListAsByStatus", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getReturnOrderInfoListAsByStatus_args args = new getReturnOrderInfoListAsByStatus_args();
        args.setOrder_ids(order_ids);
        args.setStatuses(statuses);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public Map<Long,List<ReturnOrderInfo>> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getReturnOrderInfoListAsByStatus();
      }
    }

    public void updateReturnOrderInfo(ReturnOrderInfo returnInfo, org.apache.thrift.async.AsyncMethodCallback<updateReturnOrderInfo_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      updateReturnOrderInfo_call method_call = new updateReturnOrderInfo_call(returnInfo, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class updateReturnOrderInfo_call extends org.apache.thrift.async.TAsyncMethodCall {
      private ReturnOrderInfo returnInfo;
      public updateReturnOrderInfo_call(ReturnOrderInfo returnInfo, org.apache.thrift.async.AsyncMethodCallback<updateReturnOrderInfo_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.returnInfo = returnInfo;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateReturnOrderInfo", org.apache.thrift.protocol.TMessageType.CALL, 0));
        updateReturnOrderInfo_args args = new updateReturnOrderInfo_args();
        args.setReturnInfo(returnInfo);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public boolean getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_updateReturnOrderInfo();
      }
    }

    public void bulkUpdateReturnOrderInfo(Map<Long,List<ReturnOrderInfo>> orderReturnInfosMap, org.apache.thrift.async.AsyncMethodCallback<bulkUpdateReturnOrderInfo_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      bulkUpdateReturnOrderInfo_call method_call = new bulkUpdateReturnOrderInfo_call(orderReturnInfosMap, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class bulkUpdateReturnOrderInfo_call extends org.apache.thrift.async.TAsyncMethodCall {
      private Map<Long,List<ReturnOrderInfo>> orderReturnInfosMap;
      public bulkUpdateReturnOrderInfo_call(Map<Long,List<ReturnOrderInfo>> orderReturnInfosMap, org.apache.thrift.async.AsyncMethodCallback<bulkUpdateReturnOrderInfo_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.orderReturnInfosMap = orderReturnInfosMap;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("bulkUpdateReturnOrderInfo", org.apache.thrift.protocol.TMessageType.CALL, 0));
        bulkUpdateReturnOrderInfo_args args = new bulkUpdateReturnOrderInfo_args();
        args.setOrderReturnInfosMap(orderReturnInfosMap);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public Map<Long,Boolean> getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_bulkUpdateReturnOrderInfo();
      }
    }

    public void getReturnOrdersAsPerWarehouseId(long warehouseId, org.apache.thrift.async.AsyncMethodCallback<getReturnOrdersAsPerWarehouseId_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getReturnOrdersAsPerWarehouseId_call method_call = new getReturnOrdersAsPerWarehouseId_call(warehouseId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getReturnOrdersAsPerWarehouseId_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long warehouseId;
      public getReturnOrdersAsPerWarehouseId_call(long warehouseId, org.apache.thrift.async.AsyncMethodCallback<getReturnOrdersAsPerWarehouseId_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.warehouseId = warehouseId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getReturnOrdersAsPerWarehouseId", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getReturnOrdersAsPerWarehouseId_args args = new getReturnOrdersAsPerWarehouseId_args();
        args.setWarehouseId(warehouseId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<ReturnOrderInfo> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getReturnOrdersAsPerWarehouseId();
      }
    }

    public void createReturnTransaction(ReturnTransaction returnTransaction, String itemCondition, boolean overrideWarranty, org.apache.thrift.async.AsyncMethodCallback<createReturnTransaction_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      createReturnTransaction_call method_call = new createReturnTransaction_call(returnTransaction, itemCondition, overrideWarranty, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class createReturnTransaction_call extends org.apache.thrift.async.TAsyncMethodCall {
      private ReturnTransaction returnTransaction;
      private String itemCondition;
      private boolean overrideWarranty;
      public createReturnTransaction_call(ReturnTransaction returnTransaction, String itemCondition, boolean overrideWarranty, org.apache.thrift.async.AsyncMethodCallback<createReturnTransaction_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.returnTransaction = returnTransaction;
        this.itemCondition = itemCondition;
        this.overrideWarranty = overrideWarranty;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("createReturnTransaction", org.apache.thrift.protocol.TMessageType.CALL, 0));
        createReturnTransaction_args args = new createReturnTransaction_args();
        args.setReturnTransaction(returnTransaction);
        args.setItemCondition(itemCondition);
        args.setOverrideWarranty(overrideWarranty);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public ReturnTransaction getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_createReturnTransaction();
      }
    }

    public void getReturnTransaction(long id, org.apache.thrift.async.AsyncMethodCallback<getReturnTransaction_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getReturnTransaction_call method_call = new getReturnTransaction_call(id, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getReturnTransaction_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long id;
      public getReturnTransaction_call(long id, org.apache.thrift.async.AsyncMethodCallback<getReturnTransaction_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.id = id;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getReturnTransaction", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getReturnTransaction_args args = new getReturnTransaction_args();
        args.setId(id);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public ReturnTransaction getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getReturnTransaction();
      }
    }

    public void getReturnOrdersForReturnTransaction(long returnTransactionId, org.apache.thrift.async.AsyncMethodCallback<getReturnOrdersForReturnTransaction_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getReturnOrdersForReturnTransaction_call method_call = new getReturnOrdersForReturnTransaction_call(returnTransactionId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getReturnOrdersForReturnTransaction_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long returnTransactionId;
      public getReturnOrdersForReturnTransaction_call(long returnTransactionId, org.apache.thrift.async.AsyncMethodCallback<getReturnOrdersForReturnTransaction_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.returnTransactionId = returnTransactionId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getReturnOrdersForReturnTransaction", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getReturnOrdersForReturnTransaction_args args = new getReturnOrdersForReturnTransaction_args();
        args.setReturnTransactionId(returnTransactionId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<ReturnOrderInfo> getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getReturnOrdersForReturnTransaction();
      }
    }

    public void changeReturnTransactionStatus(long returnTransactionId, ReturnTransactionStatus status, List<Long> returnOrderIds, org.apache.thrift.async.AsyncMethodCallback<changeReturnTransactionStatus_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      changeReturnTransactionStatus_call method_call = new changeReturnTransactionStatus_call(returnTransactionId, status, returnOrderIds, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class changeReturnTransactionStatus_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long returnTransactionId;
      private ReturnTransactionStatus status;
      private List<Long> returnOrderIds;
      public changeReturnTransactionStatus_call(long returnTransactionId, ReturnTransactionStatus status, List<Long> returnOrderIds, org.apache.thrift.async.AsyncMethodCallback<changeReturnTransactionStatus_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.returnTransactionId = returnTransactionId;
        this.status = status;
        this.returnOrderIds = returnOrderIds;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("changeReturnTransactionStatus", org.apache.thrift.protocol.TMessageType.CALL, 0));
        changeReturnTransactionStatus_args args = new changeReturnTransactionStatus_args();
        args.setReturnTransactionId(returnTransactionId);
        args.setStatus(status);
        args.setReturnOrderIds(returnOrderIds);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public boolean getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_changeReturnTransactionStatus();
      }
    }

    public void createReturnPickupRequest(List<Long> returnOrderIds, org.apache.thrift.async.AsyncMethodCallback<createReturnPickupRequest_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      createReturnPickupRequest_call method_call = new createReturnPickupRequest_call(returnOrderIds, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class createReturnPickupRequest_call extends org.apache.thrift.async.TAsyncMethodCall {
      private List<Long> returnOrderIds;
      public createReturnPickupRequest_call(List<Long> returnOrderIds, org.apache.thrift.async.AsyncMethodCallback<createReturnPickupRequest_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.returnOrderIds = returnOrderIds;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("createReturnPickupRequest", org.apache.thrift.protocol.TMessageType.CALL, 0));
        createReturnPickupRequest_args args = new createReturnPickupRequest_args();
        args.setReturnOrderIds(returnOrderIds);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public long getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_createReturnPickupRequest();
      }
    }

    public void updateReturnPickupRequest(ReturnPickupRequest returnPickupRequest, org.apache.thrift.async.AsyncMethodCallback<updateReturnPickupRequest_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      updateReturnPickupRequest_call method_call = new updateReturnPickupRequest_call(returnPickupRequest, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class updateReturnPickupRequest_call extends org.apache.thrift.async.TAsyncMethodCall {
      private ReturnPickupRequest returnPickupRequest;
      public updateReturnPickupRequest_call(ReturnPickupRequest returnPickupRequest, org.apache.thrift.async.AsyncMethodCallback<updateReturnPickupRequest_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.returnPickupRequest = returnPickupRequest;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateReturnPickupRequest", org.apache.thrift.protocol.TMessageType.CALL, 0));
        updateReturnPickupRequest_args args = new updateReturnPickupRequest_args();
        args.setReturnPickupRequest(returnPickupRequest);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public boolean getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_updateReturnPickupRequest();
      }
    }

    public void getAllReturnOrdersForReturnPickupRequest(long logisticsRequestId, org.apache.thrift.async.AsyncMethodCallback<getAllReturnOrdersForReturnPickupRequest_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getAllReturnOrdersForReturnPickupRequest_call method_call = new getAllReturnOrdersForReturnPickupRequest_call(logisticsRequestId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getAllReturnOrdersForReturnPickupRequest_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long logisticsRequestId;
      public getAllReturnOrdersForReturnPickupRequest_call(long logisticsRequestId, org.apache.thrift.async.AsyncMethodCallback<getAllReturnOrdersForReturnPickupRequest_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.logisticsRequestId = logisticsRequestId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAllReturnOrdersForReturnPickupRequest", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getAllReturnOrdersForReturnPickupRequest_args args = new getAllReturnOrdersForReturnPickupRequest_args();
        args.setLogisticsRequestId(logisticsRequestId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<ReturnOrderInfo> getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getAllReturnOrdersForReturnPickupRequest();
      }
    }

    public void receiveReturnPickup(Map<Long,Map<String,String>> returnOrdersMap, long id, org.apache.thrift.async.AsyncMethodCallback<receiveReturnPickup_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      receiveReturnPickup_call method_call = new receiveReturnPickup_call(returnOrdersMap, id, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class receiveReturnPickup_call extends org.apache.thrift.async.TAsyncMethodCall {
      private Map<Long,Map<String,String>> returnOrdersMap;
      private long id;
      public receiveReturnPickup_call(Map<Long,Map<String,String>> returnOrdersMap, long id, org.apache.thrift.async.AsyncMethodCallback<receiveReturnPickup_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.returnOrdersMap = returnOrdersMap;
        this.id = id;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("receiveReturnPickup", org.apache.thrift.protocol.TMessageType.CALL, 0));
        receiveReturnPickup_args args = new receiveReturnPickup_args();
        args.setReturnOrdersMap(returnOrdersMap);
        args.setId(id);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public boolean getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_receiveReturnPickup();
      }
    }

    public void validateReturnPickup(long returnPickupId, Map<Long,Boolean> returnOrdersMap, org.apache.thrift.async.AsyncMethodCallback<validateReturnPickup_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      validateReturnPickup_call method_call = new validateReturnPickup_call(returnPickupId, returnOrdersMap, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class validateReturnPickup_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long returnPickupId;
      private Map<Long,Boolean> returnOrdersMap;
      public validateReturnPickup_call(long returnPickupId, Map<Long,Boolean> returnOrdersMap, org.apache.thrift.async.AsyncMethodCallback<validateReturnPickup_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.returnPickupId = returnPickupId;
        this.returnOrdersMap = returnOrdersMap;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("validateReturnPickup", org.apache.thrift.protocol.TMessageType.CALL, 0));
        validateReturnPickup_args args = new validateReturnPickup_args();
        args.setReturnPickupId(returnPickupId);
        args.setReturnOrdersMap(returnOrdersMap);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public boolean getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_validateReturnPickup();
      }
    }

    public void processReturnPickup(long returnPickupId, Map<Long,Map<String,String>> returnOrdersMap, org.apache.thrift.async.AsyncMethodCallback<processReturnPickup_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      processReturnPickup_call method_call = new processReturnPickup_call(returnPickupId, returnOrdersMap, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class processReturnPickup_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long returnPickupId;
      private Map<Long,Map<String,String>> returnOrdersMap;
      public processReturnPickup_call(long returnPickupId, Map<Long,Map<String,String>> returnOrdersMap, org.apache.thrift.async.AsyncMethodCallback<processReturnPickup_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.returnPickupId = returnPickupId;
        this.returnOrdersMap = returnOrdersMap;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("processReturnPickup", org.apache.thrift.protocol.TMessageType.CALL, 0));
        processReturnPickup_args args = new processReturnPickup_args();
        args.setReturnPickupId(returnPickupId);
        args.setReturnOrdersMap(returnOrdersMap);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public boolean getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_processReturnPickup();
      }
    }

    public void markReturnTransactionComplete(long returnTransactionId, org.apache.thrift.async.AsyncMethodCallback<markReturnTransactionComplete_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      markReturnTransactionComplete_call method_call = new markReturnTransactionComplete_call(returnTransactionId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class markReturnTransactionComplete_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long returnTransactionId;
      public markReturnTransactionComplete_call(long returnTransactionId, org.apache.thrift.async.AsyncMethodCallback<markReturnTransactionComplete_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.returnTransactionId = returnTransactionId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("markReturnTransactionComplete", org.apache.thrift.protocol.TMessageType.CALL, 0));
        markReturnTransactionComplete_args args = new markReturnTransactionComplete_args();
        args.setReturnTransactionId(returnTransactionId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public boolean getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_markReturnTransactionComplete();
      }
    }

    public void refundReturnTransactionPayment(Map<Long,Map<String,String>> refundOrdersMap, long returntransactionId, org.apache.thrift.async.AsyncMethodCallback<refundReturnTransactionPayment_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      refundReturnTransactionPayment_call method_call = new refundReturnTransactionPayment_call(refundOrdersMap, returntransactionId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class refundReturnTransactionPayment_call extends org.apache.thrift.async.TAsyncMethodCall {
      private Map<Long,Map<String,String>> refundOrdersMap;
      private long returntransactionId;
      public refundReturnTransactionPayment_call(Map<Long,Map<String,String>> refundOrdersMap, long returntransactionId, org.apache.thrift.async.AsyncMethodCallback<refundReturnTransactionPayment_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.refundOrdersMap = refundOrdersMap;
        this.returntransactionId = returntransactionId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("refundReturnTransactionPayment", org.apache.thrift.protocol.TMessageType.CALL, 0));
        refundReturnTransactionPayment_args args = new refundReturnTransactionPayment_args();
        args.setRefundOrdersMap(refundOrdersMap);
        args.setReturntransactionId(returntransactionId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public boolean getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_refundReturnTransactionPayment();
      }
    }

    public void getReturnTransactionsForCustomer(List<ReturnTransactionStatus> statusList, String customerMobile, String customerEmail, long returnTransactionId, long customerId, org.apache.thrift.async.AsyncMethodCallback<getReturnTransactionsForCustomer_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getReturnTransactionsForCustomer_call method_call = new getReturnTransactionsForCustomer_call(statusList, customerMobile, customerEmail, returnTransactionId, customerId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getReturnTransactionsForCustomer_call extends org.apache.thrift.async.TAsyncMethodCall {
      private List<ReturnTransactionStatus> statusList;
      private String customerMobile;
      private String customerEmail;
      private long returnTransactionId;
      private long customerId;
      public getReturnTransactionsForCustomer_call(List<ReturnTransactionStatus> statusList, String customerMobile, String customerEmail, long returnTransactionId, long customerId, org.apache.thrift.async.AsyncMethodCallback<getReturnTransactionsForCustomer_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.statusList = statusList;
        this.customerMobile = customerMobile;
        this.customerEmail = customerEmail;
        this.returnTransactionId = returnTransactionId;
        this.customerId = customerId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getReturnTransactionsForCustomer", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getReturnTransactionsForCustomer_args args = new getReturnTransactionsForCustomer_args();
        args.setStatusList(statusList);
        args.setCustomerMobile(customerMobile);
        args.setCustomerEmail(customerEmail);
        args.setReturnTransactionId(returnTransactionId);
        args.setCustomerId(customerId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<ReturnTransaction> getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getReturnTransactionsForCustomer();
      }
    }

    public void verifyOrderForTransaction(long transactionId, org.apache.thrift.async.AsyncMethodCallback<verifyOrderForTransaction_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      verifyOrderForTransaction_call method_call = new verifyOrderForTransaction_call(transactionId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class verifyOrderForTransaction_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long transactionId;
      public verifyOrderForTransaction_call(long transactionId, org.apache.thrift.async.AsyncMethodCallback<verifyOrderForTransaction_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.transactionId = transactionId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("verifyOrderForTransaction", org.apache.thrift.protocol.TMessageType.CALL, 0));
        verifyOrderForTransaction_args args = new verifyOrderForTransaction_args();
        args.setTransactionId(transactionId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public boolean getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_verifyOrderForTransaction();
      }
    }

    public void getOrdersInBatchAsPromisedShipping(List<OrderStatus> statuses, long offset, long limit, long warehouse_id, long source, org.apache.thrift.async.AsyncMethodCallback<getOrdersInBatchAsPromisedShipping_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getOrdersInBatchAsPromisedShipping_call method_call = new getOrdersInBatchAsPromisedShipping_call(statuses, offset, limit, warehouse_id, source, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getOrdersInBatchAsPromisedShipping_call extends org.apache.thrift.async.TAsyncMethodCall {
      private List<OrderStatus> statuses;
      private long offset;
      private long limit;
      private long warehouse_id;
      private long source;
      public getOrdersInBatchAsPromisedShipping_call(List<OrderStatus> statuses, long offset, long limit, long warehouse_id, long source, org.apache.thrift.async.AsyncMethodCallback<getOrdersInBatchAsPromisedShipping_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.statuses = statuses;
        this.offset = offset;
        this.limit = limit;
        this.warehouse_id = warehouse_id;
        this.source = source;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getOrdersInBatchAsPromisedShipping", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getOrdersInBatchAsPromisedShipping_args args = new getOrdersInBatchAsPromisedShipping_args();
        args.setStatuses(statuses);
        args.setOffset(offset);
        args.setLimit(limit);
        args.setWarehouse_id(warehouse_id);
        args.setSource(source);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<Order> getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getOrdersInBatchAsPromisedShipping();
      }
    }

    public void setOrderAttributeForMasterOrderId(String logisticsTransactionId, List<Attribute> attributes, org.apache.thrift.async.AsyncMethodCallback<setOrderAttributeForMasterOrderId_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      setOrderAttributeForMasterOrderId_call method_call = new setOrderAttributeForMasterOrderId_call(logisticsTransactionId, attributes, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class setOrderAttributeForMasterOrderId_call extends org.apache.thrift.async.TAsyncMethodCall {
      private String logisticsTransactionId;
      private List<Attribute> attributes;
      public setOrderAttributeForMasterOrderId_call(String logisticsTransactionId, List<Attribute> attributes, org.apache.thrift.async.AsyncMethodCallback<setOrderAttributeForMasterOrderId_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.logisticsTransactionId = logisticsTransactionId;
        this.attributes = attributes;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("setOrderAttributeForMasterOrderId", org.apache.thrift.protocol.TMessageType.CALL, 0));
        setOrderAttributeForMasterOrderId_args args = new setOrderAttributeForMasterOrderId_args();
        args.setLogisticsTransactionId(logisticsTransactionId);
        args.setAttributes(attributes);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_setOrderAttributeForMasterOrderId();
      }
    }

    public void updateMasterOrderAWB(String logisticsTransactionId, String airwayBillNo, org.apache.thrift.async.AsyncMethodCallback<updateMasterOrderAWB_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      updateMasterOrderAWB_call method_call = new updateMasterOrderAWB_call(logisticsTransactionId, airwayBillNo, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class updateMasterOrderAWB_call extends org.apache.thrift.async.TAsyncMethodCall {
      private String logisticsTransactionId;
      private String airwayBillNo;
      public updateMasterOrderAWB_call(String logisticsTransactionId, String airwayBillNo, org.apache.thrift.async.AsyncMethodCallback<updateMasterOrderAWB_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.logisticsTransactionId = logisticsTransactionId;
        this.airwayBillNo = airwayBillNo;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateMasterOrderAWB", org.apache.thrift.protocol.TMessageType.CALL, 0));
        updateMasterOrderAWB_args args = new updateMasterOrderAWB_args();
        args.setLogisticsTransactionId(logisticsTransactionId);
        args.setAirwayBillNo(airwayBillNo);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public boolean getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_updateMasterOrderAWB();
      }
    }

    public void addOrUpdateShipmentLogisticsCostDetails(List<ShipmentLogisticsCostDetail> shipmentLogisticsCostDetails, org.apache.thrift.async.AsyncMethodCallback<addOrUpdateShipmentLogisticsCostDetails_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      addOrUpdateShipmentLogisticsCostDetails_call method_call = new addOrUpdateShipmentLogisticsCostDetails_call(shipmentLogisticsCostDetails, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class addOrUpdateShipmentLogisticsCostDetails_call extends org.apache.thrift.async.TAsyncMethodCall {
      private List<ShipmentLogisticsCostDetail> shipmentLogisticsCostDetails;
      public addOrUpdateShipmentLogisticsCostDetails_call(List<ShipmentLogisticsCostDetail> shipmentLogisticsCostDetails, org.apache.thrift.async.AsyncMethodCallback<addOrUpdateShipmentLogisticsCostDetails_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.shipmentLogisticsCostDetails = shipmentLogisticsCostDetails;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addOrUpdateShipmentLogisticsCostDetails", org.apache.thrift.protocol.TMessageType.CALL, 0));
        addOrUpdateShipmentLogisticsCostDetails_args args = new addOrUpdateShipmentLogisticsCostDetails_args();
        args.setShipmentLogisticsCostDetails(shipmentLogisticsCostDetails);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public boolean getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_addOrUpdateShipmentLogisticsCostDetails();
      }
    }

    public void getEligibleOrdersForReturn(long customerId, String itemCondition, boolean overrideWarranty, org.apache.thrift.async.AsyncMethodCallback<getEligibleOrdersForReturn_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getEligibleOrdersForReturn_call method_call = new getEligibleOrdersForReturn_call(customerId, itemCondition, overrideWarranty, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getEligibleOrdersForReturn_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long customerId;
      private String itemCondition;
      private boolean overrideWarranty;
      public getEligibleOrdersForReturn_call(long customerId, String itemCondition, boolean overrideWarranty, org.apache.thrift.async.AsyncMethodCallback<getEligibleOrdersForReturn_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.customerId = customerId;
        this.itemCondition = itemCondition;
        this.overrideWarranty = overrideWarranty;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getEligibleOrdersForReturn", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getEligibleOrdersForReturn_args args = new getEligibleOrdersForReturn_args();
        args.setCustomerId(customerId);
        args.setItemCondition(itemCondition);
        args.setOverrideWarranty(overrideWarranty);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<Order> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getEligibleOrdersForReturn();
      }
    }

    public void getEligibleReturnOrdersForPickup(long customerId, org.apache.thrift.async.AsyncMethodCallback<getEligibleReturnOrdersForPickup_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getEligibleReturnOrdersForPickup_call method_call = new getEligibleReturnOrdersForPickup_call(customerId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getEligibleReturnOrdersForPickup_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long customerId;
      public getEligibleReturnOrdersForPickup_call(long customerId, org.apache.thrift.async.AsyncMethodCallback<getEligibleReturnOrdersForPickup_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.customerId = customerId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getEligibleReturnOrdersForPickup", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getEligibleReturnOrdersForPickup_args args = new getEligibleReturnOrdersForPickup_args();
        args.setCustomerId(customerId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<ReturnOrderInfo> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getEligibleReturnOrdersForPickup();
      }
    }

    public void validateReturnTransaction(long customerId, Map<Long,Long> returnOrdersMap, String itemCondition, boolean overrideWarranty, org.apache.thrift.async.AsyncMethodCallback<validateReturnTransaction_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      validateReturnTransaction_call method_call = new validateReturnTransaction_call(customerId, returnOrdersMap, itemCondition, overrideWarranty, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class validateReturnTransaction_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long customerId;
      private Map<Long,Long> returnOrdersMap;
      private String itemCondition;
      private boolean overrideWarranty;
      public validateReturnTransaction_call(long customerId, Map<Long,Long> returnOrdersMap, String itemCondition, boolean overrideWarranty, org.apache.thrift.async.AsyncMethodCallback<validateReturnTransaction_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.customerId = customerId;
        this.returnOrdersMap = returnOrdersMap;
        this.itemCondition = itemCondition;
        this.overrideWarranty = overrideWarranty;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("validateReturnTransaction", org.apache.thrift.protocol.TMessageType.CALL, 0));
        validateReturnTransaction_args args = new validateReturnTransaction_args();
        args.setCustomerId(customerId);
        args.setReturnOrdersMap(returnOrdersMap);
        args.setItemCondition(itemCondition);
        args.setOverrideWarranty(overrideWarranty);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public boolean getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_validateReturnTransaction();
      }
    }

    public void getPendingStoreOrders(long storeId, org.apache.thrift.async.AsyncMethodCallback<getPendingStoreOrders_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getPendingStoreOrders_call method_call = new getPendingStoreOrders_call(storeId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getPendingStoreOrders_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long storeId;
      public getPendingStoreOrders_call(long storeId, org.apache.thrift.async.AsyncMethodCallback<getPendingStoreOrders_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.storeId = storeId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getPendingStoreOrders", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getPendingStoreOrders_args args = new getPendingStoreOrders_args();
        args.setStoreId(storeId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<PendingStoreOrder> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getPendingStoreOrders();
      }
    }

    public void getSellerInfo(long sellerId, org.apache.thrift.async.AsyncMethodCallback<getSellerInfo_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getSellerInfo_call method_call = new getSellerInfo_call(sellerId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getSellerInfo_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long sellerId;
      public getSellerInfo_call(long sellerId, org.apache.thrift.async.AsyncMethodCallback<getSellerInfo_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.sellerId = sellerId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getSellerInfo", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getSellerInfo_args args = new getSellerInfo_args();
        args.setSellerId(sellerId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public SellerInfo getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getSellerInfo();
      }
    }

    public void getWarehouseAddress(long address_id, org.apache.thrift.async.AsyncMethodCallback<getWarehouseAddress_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getWarehouseAddress_call method_call = new getWarehouseAddress_call(address_id, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getWarehouseAddress_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long address_id;
      public getWarehouseAddress_call(long address_id, org.apache.thrift.async.AsyncMethodCallback<getWarehouseAddress_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.address_id = address_id;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getWarehouseAddress", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getWarehouseAddress_args args = new getWarehouseAddress_args();
        args.setAddress_id(address_id);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public WarehouseAddress getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getWarehouseAddress();
      }
    }

    public void getBuyerByWarehouse(long warehouse_id, org.apache.thrift.async.AsyncMethodCallback<getBuyerByWarehouse_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getBuyerByWarehouse_call method_call = new getBuyerByWarehouse_call(warehouse_id, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getBuyerByWarehouse_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long warehouse_id;
      public getBuyerByWarehouse_call(long warehouse_id, org.apache.thrift.async.AsyncMethodCallback<getBuyerByWarehouse_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.warehouse_id = warehouse_id;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getBuyerByWarehouse", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getBuyerByWarehouse_args args = new getBuyerByWarehouse_args();
        args.setWarehouse_id(warehouse_id);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public BuyerInfo getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getBuyerByWarehouse();
      }
    }

    public void markReturnNotRequiredOrdersProcessed(ReturnOrderInfo returnOrderInfo, org.apache.thrift.async.AsyncMethodCallback<markReturnNotRequiredOrdersProcessed_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      markReturnNotRequiredOrdersProcessed_call method_call = new markReturnNotRequiredOrdersProcessed_call(returnOrderInfo, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class markReturnNotRequiredOrdersProcessed_call extends org.apache.thrift.async.TAsyncMethodCall {
      private ReturnOrderInfo returnOrderInfo;
      public markReturnNotRequiredOrdersProcessed_call(ReturnOrderInfo returnOrderInfo, org.apache.thrift.async.AsyncMethodCallback<markReturnNotRequiredOrdersProcessed_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.returnOrderInfo = returnOrderInfo;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("markReturnNotRequiredOrdersProcessed", org.apache.thrift.protocol.TMessageType.CALL, 0));
        markReturnNotRequiredOrdersProcessed_args args = new markReturnNotRequiredOrdersProcessed_args();
        args.setReturnOrderInfo(returnOrderInfo);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public boolean getResult() throws TransactionServiceException, org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_markReturnNotRequiredOrdersProcessed();
      }
    }

    public void getReturnPickupRequest(long returnPickupId, org.apache.thrift.async.AsyncMethodCallback<getReturnPickupRequest_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getReturnPickupRequest_call method_call = new getReturnPickupRequest_call(returnPickupId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getReturnPickupRequest_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long returnPickupId;
      public getReturnPickupRequest_call(long returnPickupId, org.apache.thrift.async.AsyncMethodCallback<getReturnPickupRequest_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.returnPickupId = returnPickupId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getReturnPickupRequest", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getReturnPickupRequest_args args = new getReturnPickupRequest_args();
        args.setReturnPickupId(returnPickupId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public ReturnPickupRequest getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getReturnPickupRequest();
      }
    }

    public void splitReturnOrderInfo(long returnOrderId, long splitOrderQty, org.apache.thrift.async.AsyncMethodCallback<splitReturnOrderInfo_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      splitReturnOrderInfo_call method_call = new splitReturnOrderInfo_call(returnOrderId, splitOrderQty, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class splitReturnOrderInfo_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long returnOrderId;
      private long splitOrderQty;
      public splitReturnOrderInfo_call(long returnOrderId, long splitOrderQty, org.apache.thrift.async.AsyncMethodCallback<splitReturnOrderInfo_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.returnOrderId = returnOrderId;
        this.splitOrderQty = splitOrderQty;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("splitReturnOrderInfo", org.apache.thrift.protocol.TMessageType.CALL, 0));
        splitReturnOrderInfo_args args = new splitReturnOrderInfo_args();
        args.setReturnOrderId(returnOrderId);
        args.setSplitOrderQty(splitOrderQty);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public ReturnOrderInfo getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_splitReturnOrderInfo();
      }
    }

    public void deleteReturnOrder(long returnOrderId, org.apache.thrift.async.AsyncMethodCallback<deleteReturnOrder_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      deleteReturnOrder_call method_call = new deleteReturnOrder_call(returnOrderId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class deleteReturnOrder_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long returnOrderId;
      public deleteReturnOrder_call(long returnOrderId, org.apache.thrift.async.AsyncMethodCallback<deleteReturnOrder_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.returnOrderId = returnOrderId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteReturnOrder", org.apache.thrift.protocol.TMessageType.CALL, 0));
        deleteReturnOrder_args args = new deleteReturnOrder_args();
        args.setReturnOrderId(returnOrderId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public boolean getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_deleteReturnOrder();
      }
    }

    public void refundReturnOrder(ReturnOrderInfo returnOrderInfo, List<Attribute> attributes, org.apache.thrift.async.AsyncMethodCallback<refundReturnOrder_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      refundReturnOrder_call method_call = new refundReturnOrder_call(returnOrderInfo, attributes, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class refundReturnOrder_call extends org.apache.thrift.async.TAsyncMethodCall {
      private ReturnOrderInfo returnOrderInfo;
      private List<Attribute> attributes;
      public refundReturnOrder_call(ReturnOrderInfo returnOrderInfo, List<Attribute> attributes, org.apache.thrift.async.AsyncMethodCallback<refundReturnOrder_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.returnOrderInfo = returnOrderInfo;
        this.attributes = attributes;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("refundReturnOrder", org.apache.thrift.protocol.TMessageType.CALL, 0));
        refundReturnOrder_args args = new refundReturnOrder_args();
        args.setReturnOrderInfo(returnOrderInfo);
        args.setAttributes(attributes);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public boolean getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_refundReturnOrder();
      }
    }

    public void addShipmentDelay(List<ShipmentDelayDetail> shipmentDelayDetail, org.apache.thrift.async.AsyncMethodCallback<addShipmentDelay_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      addShipmentDelay_call method_call = new addShipmentDelay_call(shipmentDelayDetail, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class addShipmentDelay_call extends org.apache.thrift.async.TAsyncMethodCall {
      private List<ShipmentDelayDetail> shipmentDelayDetail;
      public addShipmentDelay_call(List<ShipmentDelayDetail> shipmentDelayDetail, org.apache.thrift.async.AsyncMethodCallback<addShipmentDelay_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.shipmentDelayDetail = shipmentDelayDetail;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addShipmentDelay", org.apache.thrift.protocol.TMessageType.CALL, 0));
        addShipmentDelay_args args = new addShipmentDelay_args();
        args.setShipmentDelayDetail(shipmentDelayDetail);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<Long> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_addShipmentDelay();
      }
    }

    public void getCostDetailForLogisticsTxnId(String logisticsTxnId, org.apache.thrift.async.AsyncMethodCallback<getCostDetailForLogisticsTxnId_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getCostDetailForLogisticsTxnId_call method_call = new getCostDetailForLogisticsTxnId_call(logisticsTxnId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getCostDetailForLogisticsTxnId_call extends org.apache.thrift.async.TAsyncMethodCall {
      private String logisticsTxnId;
      public getCostDetailForLogisticsTxnId_call(String logisticsTxnId, org.apache.thrift.async.AsyncMethodCallback<getCostDetailForLogisticsTxnId_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.logisticsTxnId = logisticsTxnId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getCostDetailForLogisticsTxnId", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getCostDetailForLogisticsTxnId_args args = new getCostDetailForLogisticsTxnId_args();
        args.setLogisticsTxnId(logisticsTxnId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public ShipmentLogisticsCostDetail getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getCostDetailForLogisticsTxnId();
      }
    }

    public void addShipmentLogisticDetail(ShipmentLogisticsCostDetail shipmentLogisticsCostDetail, org.apache.thrift.async.AsyncMethodCallback<addShipmentLogisticDetail_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      addShipmentLogisticDetail_call method_call = new addShipmentLogisticDetail_call(shipmentLogisticsCostDetail, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class addShipmentLogisticDetail_call extends org.apache.thrift.async.TAsyncMethodCall {
      private ShipmentLogisticsCostDetail shipmentLogisticsCostDetail;
      public addShipmentLogisticDetail_call(ShipmentLogisticsCostDetail shipmentLogisticsCostDetail, org.apache.thrift.async.AsyncMethodCallback<addShipmentLogisticDetail_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.shipmentLogisticsCostDetail = shipmentLogisticsCostDetail;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addShipmentLogisticDetail", org.apache.thrift.protocol.TMessageType.CALL, 0));
        addShipmentLogisticDetail_args args = new addShipmentLogisticDetail_args();
        args.setShipmentLogisticsCostDetail(shipmentLogisticsCostDetail);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_addShipmentLogisticDetail();
      }
    }

    public void createPayment(long userId, long txnId, int gatewayId, org.apache.thrift.async.AsyncMethodCallback<createPayment_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      createPayment_call method_call = new createPayment_call(userId, txnId, gatewayId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class createPayment_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long userId;
      private long txnId;
      private int gatewayId;
      public createPayment_call(long userId, long txnId, int gatewayId, org.apache.thrift.async.AsyncMethodCallback<createPayment_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.userId = userId;
        this.txnId = txnId;
        this.gatewayId = gatewayId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("createPayment", org.apache.thrift.protocol.TMessageType.CALL, 0));
        createPayment_args args = new createPayment_args();
        args.setUserId(userId);
        args.setTxnId(txnId);
        args.setGatewayId(gatewayId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public long getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_createPayment();
      }
    }

    public void calculatePaymentAmount(long txnId, org.apache.thrift.async.AsyncMethodCallback<calculatePaymentAmount_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      calculatePaymentAmount_call method_call = new calculatePaymentAmount_call(txnId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class calculatePaymentAmount_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long txnId;
      public calculatePaymentAmount_call(long txnId, org.apache.thrift.async.AsyncMethodCallback<calculatePaymentAmount_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.txnId = txnId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("calculatePaymentAmount", org.apache.thrift.protocol.TMessageType.CALL, 0));
        calculatePaymentAmount_args args = new calculatePaymentAmount_args();
        args.setTxnId(txnId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public double getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_calculatePaymentAmount();
      }
    }

    public void getBilledOrdersForManifestGen(long warehouse_id, long logistics_provider_id, boolean cod, org.apache.thrift.async.AsyncMethodCallback<getBilledOrdersForManifestGen_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getBilledOrdersForManifestGen_call method_call = new getBilledOrdersForManifestGen_call(warehouse_id, logistics_provider_id, cod, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getBilledOrdersForManifestGen_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long warehouse_id;
      private long logistics_provider_id;
      private boolean cod;
      public getBilledOrdersForManifestGen_call(long warehouse_id, long logistics_provider_id, boolean cod, org.apache.thrift.async.AsyncMethodCallback<getBilledOrdersForManifestGen_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.warehouse_id = warehouse_id;
        this.logistics_provider_id = logistics_provider_id;
        this.cod = cod;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getBilledOrdersForManifestGen", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getBilledOrdersForManifestGen_args args = new getBilledOrdersForManifestGen_args();
        args.setWarehouse_id(warehouse_id);
        args.setLogistics_provider_id(logistics_provider_id);
        args.setCod(cod);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<Order> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getBilledOrdersForManifestGen();
      }
    }

    public void registerRsa(long userId, String activation_code, org.apache.thrift.async.AsyncMethodCallback<registerRsa_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      registerRsa_call method_call = new registerRsa_call(userId, activation_code, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class registerRsa_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long userId;
      private String activation_code;
      public registerRsa_call(long userId, String activation_code, org.apache.thrift.async.AsyncMethodCallback<registerRsa_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.userId = userId;
        this.activation_code = activation_code;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("registerRsa", org.apache.thrift.protocol.TMessageType.CALL, 0));
        registerRsa_args args = new registerRsa_args();
        args.setUserId(userId);
        args.setActivation_code(activation_code);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public boolean getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_registerRsa();
      }
    }

    public void addSalesAssociate(Pmsa pmsa, String referrerEmail, String l1_userEmail, org.apache.thrift.async.AsyncMethodCallback<addSalesAssociate_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      addSalesAssociate_call method_call = new addSalesAssociate_call(pmsa, referrerEmail, l1_userEmail, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class addSalesAssociate_call extends org.apache.thrift.async.TAsyncMethodCall {
      private Pmsa pmsa;
      private String referrerEmail;
      private String l1_userEmail;
      public addSalesAssociate_call(Pmsa pmsa, String referrerEmail, String l1_userEmail, org.apache.thrift.async.AsyncMethodCallback<addSalesAssociate_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.pmsa = pmsa;
        this.referrerEmail = referrerEmail;
        this.l1_userEmail = l1_userEmail;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addSalesAssociate", org.apache.thrift.protocol.TMessageType.CALL, 0));
        addSalesAssociate_args args = new addSalesAssociate_args();
        args.setPmsa(pmsa);
        args.setReferrerEmail(referrerEmail);
        args.setL1_userEmail(l1_userEmail);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public String getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_addSalesAssociate();
      }
    }

    public void searchPmsa(PmsaSearchFilter pmsaSearchFilter, String associateEmail, org.apache.thrift.async.AsyncMethodCallback<searchPmsa_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      searchPmsa_call method_call = new searchPmsa_call(pmsaSearchFilter, associateEmail, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class searchPmsa_call extends org.apache.thrift.async.TAsyncMethodCall {
      private PmsaSearchFilter pmsaSearchFilter;
      private String associateEmail;
      public searchPmsa_call(PmsaSearchFilter pmsaSearchFilter, String associateEmail, org.apache.thrift.async.AsyncMethodCallback<searchPmsa_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.pmsaSearchFilter = pmsaSearchFilter;
        this.associateEmail = associateEmail;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("searchPmsa", org.apache.thrift.protocol.TMessageType.CALL, 0));
        searchPmsa_args args = new searchPmsa_args();
        args.setPmsaSearchFilter(pmsaSearchFilter);
        args.setAssociateEmail(associateEmail);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<Pmsa> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_searchPmsa();
      }
    }

    public void getPmsaUser(long id, String associateEmail, org.apache.thrift.async.AsyncMethodCallback<getPmsaUser_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getPmsaUser_call method_call = new getPmsaUser_call(id, associateEmail, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getPmsaUser_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long id;
      private String associateEmail;
      public getPmsaUser_call(long id, String associateEmail, org.apache.thrift.async.AsyncMethodCallback<getPmsaUser_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.id = id;
        this.associateEmail = associateEmail;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getPmsaUser", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getPmsaUser_args args = new getPmsaUser_args();
        args.setId(id);
        args.setAssociateEmail(associateEmail);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public Pmsa getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getPmsaUser();
      }
    }

    public void updatePmsaUser(Pmsa pmsa, String associateEmail, org.apache.thrift.async.AsyncMethodCallback<updatePmsaUser_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      updatePmsaUser_call method_call = new updatePmsaUser_call(pmsa, associateEmail, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class updatePmsaUser_call extends org.apache.thrift.async.TAsyncMethodCall {
      private Pmsa pmsa;
      private String associateEmail;
      public updatePmsaUser_call(Pmsa pmsa, String associateEmail, org.apache.thrift.async.AsyncMethodCallback<updatePmsaUser_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.pmsa = pmsa;
        this.associateEmail = associateEmail;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updatePmsaUser", org.apache.thrift.protocol.TMessageType.CALL, 0));
        updatePmsaUser_args args = new updatePmsaUser_args();
        args.setPmsa(pmsa);
        args.setAssociateEmail(associateEmail);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public String getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_updatePmsaUser();
      }
    }

    public void getPmsaUsers(String associateEmail, org.apache.thrift.async.AsyncMethodCallback<getPmsaUsers_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getPmsaUsers_call method_call = new getPmsaUsers_call(associateEmail, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getPmsaUsers_call extends org.apache.thrift.async.TAsyncMethodCall {
      private String associateEmail;
      public getPmsaUsers_call(String associateEmail, org.apache.thrift.async.AsyncMethodCallback<getPmsaUsers_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.associateEmail = associateEmail;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getPmsaUsers", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getPmsaUsers_args args = new getPmsaUsers_args();
        args.setAssociateEmail(associateEmail);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<Pmsa> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getPmsaUsers();
      }
    }

    public void getPendingAssociates(String associateEmail, org.apache.thrift.async.AsyncMethodCallback<getPendingAssociates_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getPendingAssociates_call method_call = new getPendingAssociates_call(associateEmail, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getPendingAssociates_call extends org.apache.thrift.async.TAsyncMethodCall {
      private String associateEmail;
      public getPendingAssociates_call(String associateEmail, org.apache.thrift.async.AsyncMethodCallback<getPendingAssociates_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.associateEmail = associateEmail;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getPendingAssociates", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getPendingAssociates_args args = new getPendingAssociates_args();
        args.setAssociateEmail(associateEmail);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<Pmsa> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getPendingAssociates();
      }
    }

    public void getStatsForAssociates(String associateEmail, org.apache.thrift.async.AsyncMethodCallback<getStatsForAssociates_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getStatsForAssociates_call method_call = new getStatsForAssociates_call(associateEmail, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getStatsForAssociates_call extends org.apache.thrift.async.TAsyncMethodCall {
      private String associateEmail;
      public getStatsForAssociates_call(String associateEmail, org.apache.thrift.async.AsyncMethodCallback<getStatsForAssociates_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.associateEmail = associateEmail;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getStatsForAssociates", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getStatsForAssociates_args args = new getStatsForAssociates_args();
        args.setAssociateEmail(associateEmail);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<Long> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getStatsForAssociates();
      }
    }

    public void getmypmsaprofile(String associateEmail, org.apache.thrift.async.AsyncMethodCallback<getmypmsaprofile_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getmypmsaprofile_call method_call = new getmypmsaprofile_call(associateEmail, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getmypmsaprofile_call extends org.apache.thrift.async.TAsyncMethodCall {
      private String associateEmail;
      public getmypmsaprofile_call(String associateEmail, org.apache.thrift.async.AsyncMethodCallback<getmypmsaprofile_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.associateEmail = associateEmail;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getmypmsaprofile", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getmypmsaprofile_args args = new getmypmsaprofile_args();
        args.setAssociateEmail(associateEmail);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public Pmsa getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getmypmsaprofile();
      }
    }

    public void creditUserWallet(long userId, long amount, double cash_back, String shortDesc, org.apache.thrift.async.AsyncMethodCallback<creditUserWallet_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      creditUserWallet_call method_call = new creditUserWallet_call(userId, amount, cash_back, shortDesc, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class creditUserWallet_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long userId;
      private long amount;
      private double cash_back;
      private String shortDesc;
      public creditUserWallet_call(long userId, long amount, double cash_back, String shortDesc, org.apache.thrift.async.AsyncMethodCallback<creditUserWallet_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.userId = userId;
        this.amount = amount;
        this.cash_back = cash_back;
        this.shortDesc = shortDesc;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("creditUserWallet", org.apache.thrift.protocol.TMessageType.CALL, 0));
        creditUserWallet_args args = new creditUserWallet_args();
        args.setUserId(userId);
        args.setAmount(amount);
        args.setCash_back(cash_back);
        args.setShortDesc(shortDesc);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public boolean getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_creditUserWallet();
      }
    }

    public void getPaginatedRechargeOrders(long userId, int offset, int limit, org.apache.thrift.async.AsyncMethodCallback<getPaginatedRechargeOrders_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getPaginatedRechargeOrders_call method_call = new getPaginatedRechargeOrders_call(userId, offset, limit, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getPaginatedRechargeOrders_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long userId;
      private int offset;
      private int limit;
      public getPaginatedRechargeOrders_call(long userId, int offset, int limit, org.apache.thrift.async.AsyncMethodCallback<getPaginatedRechargeOrders_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.userId = userId;
        this.offset = offset;
        this.limit = limit;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getPaginatedRechargeOrders", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getPaginatedRechargeOrders_args args = new getPaginatedRechargeOrders_args();
        args.setUserId(userId);
        args.setOffset(offset);
        args.setLimit(limit);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<RechargeOrder> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getPaginatedRechargeOrders();
      }
    }

    public void markOrderForRegisteredGstInvoice(List<Long> tranasction_ids, org.apache.thrift.async.AsyncMethodCallback<markOrderForRegisteredGstInvoice_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      markOrderForRegisteredGstInvoice_call method_call = new markOrderForRegisteredGstInvoice_call(tranasction_ids, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class markOrderForRegisteredGstInvoice_call extends org.apache.thrift.async.TAsyncMethodCall {
      private List<Long> tranasction_ids;
      public markOrderForRegisteredGstInvoice_call(List<Long> tranasction_ids, org.apache.thrift.async.AsyncMethodCallback<markOrderForRegisteredGstInvoice_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.tranasction_ids = tranasction_ids;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("markOrderForRegisteredGstInvoice", org.apache.thrift.protocol.TMessageType.CALL, 0));
        markOrderForRegisteredGstInvoice_args args = new markOrderForRegisteredGstInvoice_args();
        args.setTranasction_ids(tranasction_ids);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public boolean getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_markOrderForRegisteredGstInvoice();
      }
    }

    public void isShipmentCod(String logisticsTransactionId, org.apache.thrift.async.AsyncMethodCallback<isShipmentCod_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      isShipmentCod_call method_call = new isShipmentCod_call(logisticsTransactionId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class isShipmentCod_call extends org.apache.thrift.async.TAsyncMethodCall {
      private String logisticsTransactionId;
      public isShipmentCod_call(String logisticsTransactionId, org.apache.thrift.async.AsyncMethodCallback<isShipmentCod_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.logisticsTransactionId = logisticsTransactionId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("isShipmentCod", org.apache.thrift.protocol.TMessageType.CALL, 0));
        isShipmentCod_args args = new isShipmentCod_args();
        args.setLogisticsTransactionId(logisticsTransactionId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public boolean getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_isShipmentCod();
      }
    }

    public void getInTransitOrdersOnDate(long closingDate, org.apache.thrift.async.AsyncMethodCallback<getInTransitOrdersOnDate_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getInTransitOrdersOnDate_call method_call = new getInTransitOrdersOnDate_call(closingDate, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getInTransitOrdersOnDate_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long closingDate;
      public getInTransitOrdersOnDate_call(long closingDate, org.apache.thrift.async.AsyncMethodCallback<getInTransitOrdersOnDate_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.closingDate = closingDate;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getInTransitOrdersOnDate", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getInTransitOrdersOnDate_args args = new getInTransitOrdersOnDate_args();
        args.setClosingDate(closingDate);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<Order> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getInTransitOrdersOnDate();
      }
    }

    public void getInTransitOrdersOnDateByItemId(long closingDate, long itemId, org.apache.thrift.async.AsyncMethodCallback<getInTransitOrdersOnDateByItemId_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      getInTransitOrdersOnDateByItemId_call method_call = new getInTransitOrdersOnDateByItemId_call(closingDate, itemId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getInTransitOrdersOnDateByItemId_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long closingDate;
      private long itemId;
      public getInTransitOrdersOnDateByItemId_call(long closingDate, long itemId, org.apache.thrift.async.AsyncMethodCallback<getInTransitOrdersOnDateByItemId_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.closingDate = closingDate;
        this.itemId = itemId;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getInTransitOrdersOnDateByItemId", org.apache.thrift.protocol.TMessageType.CALL, 0));
        getInTransitOrdersOnDateByItemId_args args = new getInTransitOrdersOnDateByItemId_args();
        args.setClosingDate(closingDate);
        args.setItemId(itemId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List<Order> getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getInTransitOrdersOnDateByItemId();
      }
    }

    public void addPriceDrop(long item_id, List<String> imeis, double amount, long affected_on, org.apache.thrift.async.AsyncMethodCallback<addPriceDrop_call> resultHandler) throws org.apache.thrift.TException {
      checkReady();
      addPriceDrop_call method_call = new addPriceDrop_call(item_id, imeis, amount, affected_on, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class addPriceDrop_call extends org.apache.thrift.async.TAsyncMethodCall {
      private long item_id;
      private List<String> imeis;
      private double amount;
      private long affected_on;
      public addPriceDrop_call(long item_id, List<String> imeis, double amount, long affected_on, org.apache.thrift.async.AsyncMethodCallback<addPriceDrop_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.item_id = item_id;
        this.imeis = imeis;
        this.amount = amount;
        this.affected_on = affected_on;
      }

      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addPriceDrop", org.apache.thrift.protocol.TMessageType.CALL, 0));
        addPriceDrop_args args = new addPriceDrop_args();
        args.setItem_id(item_id);
        args.setImeis(imeis);
        args.setAmount(amount);
        args.setAffected_on(affected_on);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public boolean getResult() throws org.apache.thrift.TException {
        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_addPriceDrop();
      }
    }

  }

  public static class Processor<I extends Iface> extends in.shop2020.generic.GenericService.Processor implements org.apache.thrift.TProcessor {
    private static final Logger LOGGER = LoggerFactory.getLogger(Processor.class.getName());
    public Processor(I iface) {
      super(iface, getProcessMap(new HashMap<String, org.apache.thrift.ProcessFunction<I, ? extends org.apache.thrift.TBase>>()));
    }

    protected Processor(I iface, Map<String,  org.apache.thrift.ProcessFunction<I, ? extends  org.apache.thrift.TBase>> processMap) {
      super(iface, getProcessMap(processMap));
    }

    private static <I extends Iface> Map<String,  org.apache.thrift.ProcessFunction<I, ? extends  org.apache.thrift.TBase>> getProcessMap(Map<String,  org.apache.thrift.ProcessFunction<I, ? extends  org.apache.thrift.TBase>> processMap) {
      processMap.put("createTransaction", new createTransaction());
      processMap.put("getTransaction", new getTransaction());
      processMap.put("getTransactionsForCustomer", new getTransactionsForCustomer());
      processMap.put("getTransactionsForShoppingCartId", new getTransactionsForShoppingCartId());
      processMap.put("getTransactionStatus", new getTransactionStatus());
      processMap.put("changeTransactionStatus", new changeTransactionStatus());
      processMap.put("enqueueTransactionInfoEmail", new enqueueTransactionInfoEmail());
      processMap.put("getAllOrders", new getAllOrders());
      processMap.put("getOrdersInBatch", new getOrdersInBatch());
      processMap.put("getOrderCount", new getOrderCount());
      processMap.put("getOrdersByBillingDate", new getOrdersByBillingDate());
      processMap.put("getOrdersByShippingDate", new getOrdersByShippingDate());
      processMap.put("getReturnableOrdersForCustomer", new getReturnableOrdersForCustomer());
      processMap.put("getCancellableOrdersForCustomer", new getCancellableOrdersForCustomer());
      processMap.put("changeOrderStatus", new changeOrderStatus());
      processMap.put("getOrdersForTransaction", new getOrdersForTransaction());
      processMap.put("getOrdersForCustomer", new getOrdersForCustomer());
      processMap.put("createOrder", new createOrder());
      processMap.put("getOrder", new getOrder());
      processMap.put("getLineItemsForOrder", new getLineItemsForOrder());
      processMap.put("getOrderList", new getOrderList());
      processMap.put("getOrderListForVendor", new getOrderListForVendor());
      processMap.put("getOrderForCustomer", new getOrderForCustomer());
      processMap.put("getAlerts", new getAlerts());
      processMap.put("addAlert", new addAlert());
      processMap.put("markAlertsAsSeen", new markAlertsAsSeen());
      processMap.put("getValidOrderCount", new getValidOrderCount());
      processMap.put("getNoOfCustomersWithSuccessfulTransaction", new getNoOfCustomersWithSuccessfulTransaction());
      processMap.put("getValidOrdersAmountRange", new getValidOrdersAmountRange());
      processMap.put("getValidOrders", new getValidOrders());
      processMap.put("batchOrders", new batchOrders());
      processMap.put("markOrderAsOutOfStock", new markOrderAsOutOfStock());
      processMap.put("verifyOrder", new verifyOrder());
      processMap.put("acceptOrder", new acceptOrder());
      processMap.put("unacceptOrder", new unacceptOrder());
      processMap.put("addBillingDetails", new addBillingDetails());
      processMap.put("addInvoiceNumber", new addInvoiceNumber());
      processMap.put("markOrdersAsShippedFromWarehouse", new markOrdersAsShippedFromWarehouse());
      processMap.put("markOrdersAsReturnedFromStore", new markOrdersAsReturnedFromStore());
      processMap.put("markOrdersAsPickedUp", new markOrdersAsPickedUp());
      processMap.put("getOrdersNotPickedUp", new getOrdersNotPickedUp());
      processMap.put("markOrdersAsDelivered", new markOrdersAsDelivered());
      processMap.put("markAsRTOrders", new markAsRTOrders());
      processMap.put("getRTOrders", new getRTOrders());
      processMap.put("updateNonDeliveryReason", new updateNonDeliveryReason());
      processMap.put("getNonDeliveredOrdersbyCourier", new getNonDeliveredOrdersbyCourier());
      processMap.put("markOrdersAsLocalConnected", new markOrdersAsLocalConnected());
      processMap.put("getOrdersNotLocalConnected", new getOrdersNotLocalConnected());
      processMap.put("markOrdersAsDestinationCityReached", new markOrdersAsDestinationCityReached());
      processMap.put("markOrdersAsFirstDeliveryAttempted", new markOrdersAsFirstDeliveryAttempted());
      processMap.put("getUndeliveredOrders", new getUndeliveredOrders());
      processMap.put("getUndeliveredOrdersExpectedDeliveryDateNotMet", new getUndeliveredOrdersExpectedDeliveryDateNotMet());
      processMap.put("toggleDOAFlag", new toggleDOAFlag());
      processMap.put("markOrderAsDelivered", new markOrderAsDelivered());
      processMap.put("markOrderAsReceivedAtStore", new markOrderAsReceivedAtStore());
      processMap.put("markOrderDoaRequestReceived", new markOrderDoaRequestReceived());
      processMap.put("markOrderDoaRequestAuthorized", new markOrderDoaRequestAuthorized());
      processMap.put("markOrderReturnRequestReceived", new markOrderReturnRequestReceived());
      processMap.put("markOrderReturnRequestAuthorized", new markOrderReturnRequestAuthorized());
      processMap.put("requestPickupNumber", new requestPickupNumber());
      processMap.put("authorizePickup", new authorizePickup());
      processMap.put("markDoasAsPickedUp", new markDoasAsPickedUp());
      processMap.put("getDoasNotPickedUp", new getDoasNotPickedUp());
      processMap.put("markReturnOrdersAsPickedUp", new markReturnOrdersAsPickedUp());
      processMap.put("getReturnOrdersNotPickedUp", new getReturnOrdersNotPickedUp());
      processMap.put("receiveReturn", new receiveReturn());
      processMap.put("validateDoa", new validateDoa());
      processMap.put("validateReturnProduct", new validateReturnProduct());
      processMap.put("reshipOrder", new reshipOrder());
      processMap.put("refundOrder", new refundOrder());
      processMap.put("getReturnOrders", new getReturnOrders());
      processMap.put("getAllReturnOrders", new getAllReturnOrders());
      processMap.put("getReturnOrder", new getReturnOrder());
      processMap.put("processReturn", new processReturn());
      processMap.put("updateWeight", new updateWeight());
      processMap.put("changeItem", new changeItem());
      processMap.put("changeCourierProvider", new changeCourierProvider());
      processMap.put("shiftToWarehouse", new shiftToWarehouse());
      processMap.put("addDelayReason", new addDelayReason());
      processMap.put("reconcileCodCollection", new reconcileCodCollection());
      processMap.put("getTransactionsRequiringExtraProcessing", new getTransactionsRequiringExtraProcessing());
      processMap.put("markTransactionAsProcessed", new markTransactionAsProcessed());
      processMap.put("getItemWiseRiskyOrdersCount", new getItemWiseRiskyOrdersCount());
      processMap.put("getOrdersForItemIds", new getOrdersForItemIds());
      processMap.put("markOrderCancellationRequestReceived", new markOrderCancellationRequestReceived());
      processMap.put("markOrderCancellationRequestConfirmed", new markOrderCancellationRequestConfirmed());
      processMap.put("markOrderCancellationRequestDenied", new markOrderCancellationRequestDenied());
      processMap.put("markTransactionAsPaymentFlagRemoved", new markTransactionAsPaymentFlagRemoved());
      processMap.put("refundTransaction", new refundTransaction());
      processMap.put("updateShipmentAddress", new updateShipmentAddress());
      processMap.put("acceptOrdersForItemId", new acceptOrdersForItemId());
      processMap.put("markOrdersAsPORaised", new markOrdersAsPORaised());
      processMap.put("markOrdersAsReversalInitiated", new markOrdersAsReversalInitiated());
      processMap.put("markOrdersAsNotAvailabke", new markOrdersAsNotAvailabke());
      processMap.put("markOrdersAsTimeout", new markOrdersAsTimeout());
      processMap.put("markOrderAsLostInTransit", new markOrderAsLostInTransit());
      processMap.put("getOrderForAwb", new getOrderForAwb());
      processMap.put("getOrdersForProviderForStatus", new getOrdersForProviderForStatus());
      processMap.put("getBilledOrdersForVendor", new getBilledOrdersForVendor());
      processMap.put("getSlippedSippingDateOrders", new getSlippedSippingDateOrders());
      processMap.put("getCancelledOrders", new getCancelledOrders());
      processMap.put("saveBluedartSettlements", new saveBluedartSettlements());
      processMap.put("savePaymentSettlements", new savePaymentSettlements());
      processMap.put("saveEBSSettlementSummary", new saveEBSSettlementSummary());
      processMap.put("getSettlementForPrepaid", new getSettlementForPrepaid());
      processMap.put("getSettlementForCod", new getSettlementForCod());
      processMap.put("getEBSSettlementSummaries", new getEBSSettlementSummaries());
      processMap.put("markEBSSettlementUploaded", new markEBSSettlementUploaded());
      processMap.put("getEBSSettlementDate", new getEBSSettlementDate());
      processMap.put("getSettlementsByDate", new getSettlementsByDate());
      processMap.put("getReshippedOrderIds", new getReshippedOrderIds());
      processMap.put("getBilledOrders", new getBilledOrders());
      processMap.put("getStatusDistributionOfOrders", new getStatusDistributionOfOrders());
      processMap.put("getOrderIdsForStatus", new getOrderIdsForStatus());
      processMap.put("updateCODAgent", new updateCODAgent());
      processMap.put("updateOrderAsPaidToVendor", new updateOrderAsPaidToVendor());
      processMap.put("updateOrderOnlyAsPaidToVendor", new updateOrderOnlyAsPaidToVendor());
      processMap.put("getRefundedOrdersMarkedPaid", new getRefundedOrdersMarkedPaid());
      processMap.put("getAllVerificationAgents", new getAllVerificationAgents());
      processMap.put("getAllAttributesForOrderId", new getAllAttributesForOrderId());
      processMap.put("setOrderAttributes", new setOrderAttributes());
      processMap.put("setOrderAttributeForTransaction", new setOrderAttributeForTransaction());
      processMap.put("getReceivePendingOrders", new getReceivePendingOrders());
      processMap.put("getReceivedAtStoreOrders", new getReceivedAtStoreOrders());
      processMap.put("getOrdersCollectionAtStore", new getOrdersCollectionAtStore());
      processMap.put("getOrderAttributeValue", new getOrderAttributeValue());
      processMap.put("changeJacketNumber", new changeJacketNumber());
      processMap.put("markOrderAsRtoInTransit", new markOrderAsRtoInTransit());
      processMap.put("acceptOrderForItem", new acceptOrderForItem());
      processMap.put("createRechargeOrder", new createRechargeOrder());
      processMap.put("getRechargeOrder", new getRechargeOrder());
      processMap.put("getRechargeOrders", new getRechargeOrders());
      processMap.put("updateRechargeOrderStatus", new updateRechargeOrderStatus());
      processMap.put("activateRechargeTxn", new activateRechargeTxn());
      processMap.put("getUserWallet", new getUserWallet());
      processMap.put("getUserWalletHistory", new getUserWalletHistory());
      processMap.put("getLatestUserWalletHistory", new getLatestUserWalletHistory());
      processMap.put("getRechargeOrdersForTransaction", new getRechargeOrdersForTransaction());
      processMap.put("getServiceProviders", new getServiceProviders());
      processMap.put("getServiceProviderForDevice", new getServiceProviderForDevice());
      processMap.put("validateRecharge", new validateRecharge());
      processMap.put("getRechargeOrdersForDevice", new getRechargeOrdersForDevice());
      processMap.put("creditBatch", new creditBatch());
      processMap.put("getRechargeStatistics", new getRechargeStatistics());
      processMap.put("getRechargeOrdersForStatus", new getRechargeOrdersForStatus());
      processMap.put("getPlansForOperator", new getPlansForOperator());
      processMap.put("getRechargeDenominations", new getRechargeDenominations());
      processMap.put("updateAvailabilityStatus", new updateAvailabilityStatus());
      processMap.put("getAvailableEmiSchemes", new getAvailableEmiSchemes());
      processMap.put("getMiscCharges", new getMiscCharges());
      processMap.put("refundRechargeOrder", new refundRechargeOrder());
      processMap.put("getPhysicalOrders", new getPhysicalOrders());
      processMap.put("getDocument", new getDocument());
      processMap.put("changeShippingAddress", new changeShippingAddress());
      processMap.put("retrieveInvoice", new retrieveInvoice());
      processMap.put("receiveUpdatesForRedExpress", new receiveUpdatesForRedExpress());
      processMap.put("createRechargeTransaction", new createRechargeTransaction());
      processMap.put("getRechargeTransactions", new getRechargeTransactions());
      processMap.put("getRechargeTrans", new getRechargeTrans());
      processMap.put("getRechargeTransaction", new getRechargeTransaction());
      processMap.put("getFRCs", new getFRCs());
      processMap.put("getHotspotStore", new getHotspotStore());
      processMap.put("getTelecomCircle", new getTelecomCircle());
      processMap.put("retrieveHotspotRechargeInvoice", new retrieveHotspotRechargeInvoice());
      processMap.put("splitFreebieOrder", new splitFreebieOrder());
      processMap.put("getRechargeTransactionsByNumber", new getRechargeTransactionsByNumber());
      processMap.put("updateHotspotStorePassword", new updateHotspotStorePassword());
      processMap.put("topupCompanyWallet", new topupCompanyWallet());
      processMap.put("getWalletBalanceForCompany", new getWalletBalanceForCompany());
      processMap.put("getSaholicRechargeBalance", new getSaholicRechargeBalance());
      processMap.put("getSourceDetail", new getSourceDetail());
      processMap.put("getAllCircles", new getAllCircles());
      processMap.put("deleteFrcs", new deleteFrcs());
      processMap.put("addAmazonOrder", new addAmazonOrder());
      processMap.put("updateAmazonOrderStatus", new updateAmazonOrderStatus());
      processMap.put("getAmazonOrdersShipped", new getAmazonOrdersShipped());
      processMap.put("getAmazonOrdersCancelled", new getAmazonOrdersCancelled());
      processMap.put("getAmazonOrder", new getAmazonOrder());
      processMap.put("getAmazonOrderByAmazonOrderId", new getAmazonOrderByAmazonOrderId());
      processMap.put("getOrdersForStore", new getOrdersForStore());
      processMap.put("getStoreOrderAdvanceInvoice", new getStoreOrderAdvanceInvoice());
      processMap.put("addFrc", new addFrc());
      processMap.put("addSeries", new addSeries());
      processMap.put("saveStoreOrderDetail", new saveStoreOrderDetail());
      processMap.put("getStoreOrderDetail", new getStoreOrderDetail());
      processMap.put("getAllEdcBanks", new getAllEdcBanks());
      processMap.put("saveRefundAmountsForStoreOrder", new saveRefundAmountsForStoreOrder());
      processMap.put("getCollectionsForStore", new getCollectionsForStore());
      processMap.put("getAmazonOrdersToAcknowledge", new getAmazonOrdersToAcknowledge());
      processMap.put("changeAmazonOrderStatus", new changeAmazonOrderStatus());
      processMap.put("updateTimestampForAmazonOrder", new updateTimestampForAmazonOrder());
      processMap.put("updateSourceDetailTimestamp", new updateSourceDetailTimestamp());
      processMap.put("getOrdersByMobileNumber", new getOrdersByMobileNumber());
      processMap.put("getOrdersByAmazonOrderCode", new getOrdersByAmazonOrderCode());
      processMap.put("convertStoreToNormal", new convertStoreToNormal());
      processMap.put("updateFreebieItem", new updateFreebieItem());
      processMap.put("getHotspotServiceMatrices", new getHotspotServiceMatrices());
      processMap.put("updateOrderAWB", new updateOrderAWB());
      processMap.put("getOrdersByVendor", new getOrdersByVendor());
      processMap.put("createEbayOrder", new createEbayOrder());
      processMap.put("getEbayOrderByOrderId", new getEbayOrderByOrderId());
      processMap.put("getEbayOrderBySalesRecNumber", new getEbayOrderBySalesRecNumber());
      processMap.put("getEbayOrder", new getEbayOrder());
      processMap.put("updateEbayOrder", new updateEbayOrder());
      processMap.put("ebayOrderExists", new ebayOrderExists());
      processMap.put("updateOrderForEbay", new updateOrderForEbay());
      processMap.put("splitEbayOrder", new splitEbayOrder());
      processMap.put("addOrUpdateAmazonFbaSalesSnapshot", new addOrUpdateAmazonFbaSalesSnapshot());
      processMap.put("getAmazonFbaSalesSnapshotForDays", new getAmazonFbaSalesSnapshotForDays());
      processMap.put("getAmazonFbaSalesLatestSnapshotForItem", new getAmazonFbaSalesLatestSnapshotForItem());
      processMap.put("createSnapdealOrder", new createSnapdealOrder());
      processMap.put("getSnapdealOrder", new getSnapdealOrder());
      processMap.put("snapdealOrderExists", new snapdealOrderExists());
      processMap.put("updateLatestFbaPricesForItem", new updateLatestFbaPricesForItem());
      processMap.put("flipkartOrderExists", new flipkartOrderExists());
      processMap.put("createFlipkartOrder", new createFlipkartOrder());
      processMap.put("getFlipkartOrder", new getFlipkartOrder());
      processMap.put("getFlipkartOrderByOrderItemId", new getFlipkartOrderByOrderItemId());
      processMap.put("updateFlipkartOrderDatesAndAWB", new updateFlipkartOrderDatesAndAWB());
      processMap.put("getOrdersCreatedAfterTimestampForSource", new getOrdersCreatedAfterTimestampForSource());
      processMap.put("getOrderForAirwayBillNo", new getOrderForAirwayBillNo());
      processMap.put("getMinCreatedTimeStampUndeliveredOrdersForSource", new getMinCreatedTimeStampUndeliveredOrdersForSource());
      processMap.put("updateSnapdealOrdersStatus", new updateSnapdealOrdersStatus());
      processMap.put("updateFlipkartOrdersStatus", new updateFlipkartOrdersStatus());
      processMap.put("bulkAddOrUpdateAmazonFbaSalesSnapshot", new bulkAddOrUpdateAmazonFbaSalesSnapshot());
      processMap.put("getCreatedOrdersForFlipkart", new getCreatedOrdersForFlipkart());
      processMap.put("isPrivateDealTransaction", new isPrivateDealTransaction());
      processMap.put("getAmazonFbaSalesLatestSnapshotForItemLocationWise", new getAmazonFbaSalesLatestSnapshotForItemLocationWise());
      processMap.put("changeEasyshipMfnOrderTxnStatus", new changeEasyshipMfnOrderTxnStatus());
      processMap.put("updateAmazonFbaOrdersReturns", new updateAmazonFbaOrdersReturns());
      processMap.put("getAllAmazonFbaOrderReturnsByCurrentTime", new getAllAmazonFbaOrderReturnsByCurrentTime());
      processMap.put("getTotalSaleReturnsFbaSkusCurentTime", new getTotalSaleReturnsFbaSkusCurentTime());
      processMap.put("getVerificationPendingOrdersFK", new getVerificationPendingOrdersFK());
      processMap.put("getFAOrderByFkOrderId", new getFAOrderByFkOrderId());
      processMap.put("getAllFAOrdersList", new getAllFAOrdersList());
      processMap.put("addUpdateFaOrdersBulk", new addUpdateFaOrdersBulk());
      processMap.put("addInvoiceDetailsToOrders", new addInvoiceDetailsToOrders());
      processMap.put("flipkartFaOrderExists", new flipkartFaOrderExists());
      processMap.put("getRcgOrderStatus", new getRcgOrderStatus());
      processMap.put("getRcgTransactionStatus", new getRcgTransactionStatus());
      processMap.put("bulkAddOrUpdateFlipkartFaSalesSnapshot", new bulkAddOrUpdateFlipkartFaSalesSnapshot());
      processMap.put("getFlipkartFaSalesSnapshotForDays", new getFlipkartFaSalesSnapshotForDays());
      processMap.put("getFlipkartFaSalesSnapshotBySkuAndSaleDate", new getFlipkartFaSalesSnapshotBySkuAndSaleDate());
      processMap.put("acceptPackageOrders", new acceptPackageOrders());
      processMap.put("getGroupOrdersByLogisticsTxnId", new getGroupOrdersByLogisticsTxnId());
      processMap.put("addBillingDetailsForGrouppedOrders", new addBillingDetailsForGrouppedOrders());
      processMap.put("getInvoiceFormatLogisticsTxnId", new getInvoiceFormatLogisticsTxnId());
      processMap.put("createHomeShopOrder", new createHomeShopOrder());
      processMap.put("getHomeShopOrder", new getHomeShopOrder());
      processMap.put("homeShopOrderExists", new homeShopOrderExists());
      processMap.put("splitBulkOrder", new splitBulkOrder());
      processMap.put("moveOrdersToCorrectWarehouse", new moveOrdersToCorrectWarehouse());
      processMap.put("getCreditorInfo", new getCreditorInfo());
      processMap.put("updateCreditorInfo", new updateCreditorInfo());
      processMap.put("getUserSanctionDetails", new getUserSanctionDetails());
      processMap.put("getUserSanctionDetailsForCreditor", new getUserSanctionDetailsForCreditor());
      processMap.put("updateUserSanction", new updateUserSanction());
      processMap.put("getCreditHistoryRecordsForTransaction", new getCreditHistoryRecordsForTransaction());
      processMap.put("getCreditHistoryRecordsForUserAndCreditor", new getCreditHistoryRecordsForUserAndCreditor());
      processMap.put("processCreditTransaction", new processCreditTransaction());
      processMap.put("getLoanPayableForUserToCreditor", new getLoanPayableForUserToCreditor());
      processMap.put("getLoanHistoryRecordsForTransaction", new getLoanHistoryRecordsForTransaction());
      processMap.put("getLoanHistoryRecordsForUserAndCreditor", new getLoanHistoryRecordsForUserAndCreditor());
      processMap.put("processLoanTransaction", new processLoanTransaction());
      processMap.put("getLimitedCreditHistoryRecords", new getLimitedCreditHistoryRecords());
      processMap.put("getLimitedLoanHistoryRecords", new getLimitedLoanHistoryRecords());
      processMap.put("getUserSanctionsDetailsAsPerLimit", new getUserSanctionsDetailsAsPerLimit());
      processMap.put("getOutstandingPayments", new getOutstandingPayments());
      processMap.put("markPaymentSettled", new markPaymentSettled());
      processMap.put("getReturnOrderInfo", new getReturnOrderInfo());
      processMap.put("getReturnOrderInfoList", new getReturnOrderInfoList());
      processMap.put("getReturnOrderInfoListAsByStatus", new getReturnOrderInfoListAsByStatus());
      processMap.put("updateReturnOrderInfo", new updateReturnOrderInfo());
      processMap.put("bulkUpdateReturnOrderInfo", new bulkUpdateReturnOrderInfo());
      processMap.put("getReturnOrdersAsPerWarehouseId", new getReturnOrdersAsPerWarehouseId());
      processMap.put("createReturnTransaction", new createReturnTransaction());
      processMap.put("getReturnTransaction", new getReturnTransaction());
      processMap.put("getReturnOrdersForReturnTransaction", new getReturnOrdersForReturnTransaction());
      processMap.put("changeReturnTransactionStatus", new changeReturnTransactionStatus());
      processMap.put("createReturnPickupRequest", new createReturnPickupRequest());
      processMap.put("updateReturnPickupRequest", new updateReturnPickupRequest());
      processMap.put("getAllReturnOrdersForReturnPickupRequest", new getAllReturnOrdersForReturnPickupRequest());
      processMap.put("receiveReturnPickup", new receiveReturnPickup());
      processMap.put("validateReturnPickup", new validateReturnPickup());
      processMap.put("processReturnPickup", new processReturnPickup());
      processMap.put("markReturnTransactionComplete", new markReturnTransactionComplete());
      processMap.put("refundReturnTransactionPayment", new refundReturnTransactionPayment());
      processMap.put("getReturnTransactionsForCustomer", new getReturnTransactionsForCustomer());
      processMap.put("verifyOrderForTransaction", new verifyOrderForTransaction());
      processMap.put("getOrdersInBatchAsPromisedShipping", new getOrdersInBatchAsPromisedShipping());
      processMap.put("setOrderAttributeForMasterOrderId", new setOrderAttributeForMasterOrderId());
      processMap.put("updateMasterOrderAWB", new updateMasterOrderAWB());
      processMap.put("addOrUpdateShipmentLogisticsCostDetails", new addOrUpdateShipmentLogisticsCostDetails());
      processMap.put("getEligibleOrdersForReturn", new getEligibleOrdersForReturn());
      processMap.put("getEligibleReturnOrdersForPickup", new getEligibleReturnOrdersForPickup());
      processMap.put("validateReturnTransaction", new validateReturnTransaction());
      processMap.put("getPendingStoreOrders", new getPendingStoreOrders());
      processMap.put("getSellerInfo", new getSellerInfo());
      processMap.put("getWarehouseAddress", new getWarehouseAddress());
      processMap.put("getBuyerByWarehouse", new getBuyerByWarehouse());
      processMap.put("markReturnNotRequiredOrdersProcessed", new markReturnNotRequiredOrdersProcessed());
      processMap.put("getReturnPickupRequest", new getReturnPickupRequest());
      processMap.put("splitReturnOrderInfo", new splitReturnOrderInfo());
      processMap.put("deleteReturnOrder", new deleteReturnOrder());
      processMap.put("refundReturnOrder", new refundReturnOrder());
      processMap.put("addShipmentDelay", new addShipmentDelay());
      processMap.put("getCostDetailForLogisticsTxnId", new getCostDetailForLogisticsTxnId());
      processMap.put("addShipmentLogisticDetail", new addShipmentLogisticDetail());
      processMap.put("createPayment", new createPayment());
      processMap.put("calculatePaymentAmount", new calculatePaymentAmount());
      processMap.put("getBilledOrdersForManifestGen", new getBilledOrdersForManifestGen());
      processMap.put("registerRsa", new registerRsa());
      processMap.put("addSalesAssociate", new addSalesAssociate());
      processMap.put("searchPmsa", new searchPmsa());
      processMap.put("getPmsaUser", new getPmsaUser());
      processMap.put("updatePmsaUser", new updatePmsaUser());
      processMap.put("getPmsaUsers", new getPmsaUsers());
      processMap.put("getPendingAssociates", new getPendingAssociates());
      processMap.put("getStatsForAssociates", new getStatsForAssociates());
      processMap.put("getmypmsaprofile", new getmypmsaprofile());
      processMap.put("creditUserWallet", new creditUserWallet());
      processMap.put("getPaginatedRechargeOrders", new getPaginatedRechargeOrders());
      processMap.put("markOrderForRegisteredGstInvoice", new markOrderForRegisteredGstInvoice());
      processMap.put("isShipmentCod", new isShipmentCod());
      processMap.put("getInTransitOrdersOnDate", new getInTransitOrdersOnDate());
      processMap.put("getInTransitOrdersOnDateByItemId", new getInTransitOrdersOnDateByItemId());
      processMap.put("addPriceDrop", new addPriceDrop());
      return processMap;
    }

    private static class createTransaction<I extends Iface> extends org.apache.thrift.ProcessFunction<I, createTransaction_args> {
      public createTransaction() {
        super("createTransaction");
      }

      protected createTransaction_args getEmptyArgsInstance() {
        return new createTransaction_args();
      }

      protected createTransaction_result getResult(I iface, createTransaction_args args) throws org.apache.thrift.TException {
        createTransaction_result result = new createTransaction_result();
        try {
          result.success = iface.createTransaction(args.transaction);
          result.setSuccessIsSet(true);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class getTransaction<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getTransaction_args> {
      public getTransaction() {
        super("getTransaction");
      }

      protected getTransaction_args getEmptyArgsInstance() {
        return new getTransaction_args();
      }

      protected getTransaction_result getResult(I iface, getTransaction_args args) throws org.apache.thrift.TException {
        getTransaction_result result = new getTransaction_result();
        try {
          result.success = iface.getTransaction(args.id);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class getTransactionsForCustomer<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getTransactionsForCustomer_args> {
      public getTransactionsForCustomer() {
        super("getTransactionsForCustomer");
      }

      protected getTransactionsForCustomer_args getEmptyArgsInstance() {
        return new getTransactionsForCustomer_args();
      }

      protected getTransactionsForCustomer_result getResult(I iface, getTransactionsForCustomer_args args) throws org.apache.thrift.TException {
        getTransactionsForCustomer_result result = new getTransactionsForCustomer_result();
        try {
          result.success = iface.getTransactionsForCustomer(args.customerId, args.from_date, args.to_date, args.status);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class getTransactionsForShoppingCartId<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getTransactionsForShoppingCartId_args> {
      public getTransactionsForShoppingCartId() {
        super("getTransactionsForShoppingCartId");
      }

      protected getTransactionsForShoppingCartId_args getEmptyArgsInstance() {
        return new getTransactionsForShoppingCartId_args();
      }

      protected getTransactionsForShoppingCartId_result getResult(I iface, getTransactionsForShoppingCartId_args args) throws org.apache.thrift.TException {
        getTransactionsForShoppingCartId_result result = new getTransactionsForShoppingCartId_result();
        try {
          result.success = iface.getTransactionsForShoppingCartId(args.shoppingCartId);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class getTransactionStatus<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getTransactionStatus_args> {
      public getTransactionStatus() {
        super("getTransactionStatus");
      }

      protected getTransactionStatus_args getEmptyArgsInstance() {
        return new getTransactionStatus_args();
      }

      protected getTransactionStatus_result getResult(I iface, getTransactionStatus_args args) throws org.apache.thrift.TException {
        getTransactionStatus_result result = new getTransactionStatus_result();
        try {
          result.success = iface.getTransactionStatus(args.transactionId);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class changeTransactionStatus<I extends Iface> extends org.apache.thrift.ProcessFunction<I, changeTransactionStatus_args> {
      public changeTransactionStatus() {
        super("changeTransactionStatus");
      }

      protected changeTransactionStatus_args getEmptyArgsInstance() {
        return new changeTransactionStatus_args();
      }

      protected changeTransactionStatus_result getResult(I iface, changeTransactionStatus_args args) throws org.apache.thrift.TException {
        changeTransactionStatus_result result = new changeTransactionStatus_result();
        try {
          result.success = iface.changeTransactionStatus(args.transactionId, args.status, args.description, args.pickUp, args.orderType, args.source);
          result.setSuccessIsSet(true);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class enqueueTransactionInfoEmail<I extends Iface> extends org.apache.thrift.ProcessFunction<I, enqueueTransactionInfoEmail_args> {
      public enqueueTransactionInfoEmail() {
        super("enqueueTransactionInfoEmail");
      }

      protected enqueueTransactionInfoEmail_args getEmptyArgsInstance() {
        return new enqueueTransactionInfoEmail_args();
      }

      protected enqueueTransactionInfoEmail_result getResult(I iface, enqueueTransactionInfoEmail_args args) throws org.apache.thrift.TException {
        enqueueTransactionInfoEmail_result result = new enqueueTransactionInfoEmail_result();
        try {
          result.success = iface.enqueueTransactionInfoEmail(args.transactionId);
          result.setSuccessIsSet(true);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class getAllOrders<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getAllOrders_args> {
      public getAllOrders() {
        super("getAllOrders");
      }

      protected getAllOrders_args getEmptyArgsInstance() {
        return new getAllOrders_args();
      }

      protected getAllOrders_result getResult(I iface, getAllOrders_args args) throws org.apache.thrift.TException {
        getAllOrders_result result = new getAllOrders_result();
        try {
          result.success = iface.getAllOrders(args.statuses, args.from_date, args.to_date, args.warehouse_id);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class getOrdersInBatch<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getOrdersInBatch_args> {
      public getOrdersInBatch() {
        super("getOrdersInBatch");
      }

      protected getOrdersInBatch_args getEmptyArgsInstance() {
        return new getOrdersInBatch_args();
      }

      protected getOrdersInBatch_result getResult(I iface, getOrdersInBatch_args args) throws org.apache.thrift.TException {
        getOrdersInBatch_result result = new getOrdersInBatch_result();
        try {
          result.success = iface.getOrdersInBatch(args.statuses, args.offset, args.limit, args.warehouse_id, args.source);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class getOrderCount<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getOrderCount_args> {
      public getOrderCount() {
        super("getOrderCount");
      }

      protected getOrderCount_args getEmptyArgsInstance() {
        return new getOrderCount_args();
      }

      protected getOrderCount_result getResult(I iface, getOrderCount_args args) throws org.apache.thrift.TException {
        getOrderCount_result result = new getOrderCount_result();
        try {
          result.success = iface.getOrderCount(args.statuses, args.warehouseId, args.source);
          result.setSuccessIsSet(true);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class getOrdersByBillingDate<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getOrdersByBillingDate_args> {
      public getOrdersByBillingDate() {
        super("getOrdersByBillingDate");
      }

      protected getOrdersByBillingDate_args getEmptyArgsInstance() {
        return new getOrdersByBillingDate_args();
      }

      protected getOrdersByBillingDate_result getResult(I iface, getOrdersByBillingDate_args args) throws org.apache.thrift.TException {
        getOrdersByBillingDate_result result = new getOrdersByBillingDate_result();
        try {
          result.success = iface.getOrdersByBillingDate(args.status, args.start_billing_date, args.end_billing_date, args.warehouse_id);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class getOrdersByShippingDate<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getOrdersByShippingDate_args> {
      public getOrdersByShippingDate() {
        super("getOrdersByShippingDate");
      }

      protected getOrdersByShippingDate_args getEmptyArgsInstance() {
        return new getOrdersByShippingDate_args();
      }

      protected getOrdersByShippingDate_result getResult(I iface, getOrdersByShippingDate_args args) throws org.apache.thrift.TException {
        getOrdersByShippingDate_result result = new getOrdersByShippingDate_result();
        try {
          result.success = iface.getOrdersByShippingDate(args.fromShippingDate, args.toShippingDate, args.providerId, args.warehouseId, args.cod);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class getReturnableOrdersForCustomer<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getReturnableOrdersForCustomer_args> {
      public getReturnableOrdersForCustomer() {
        super("getReturnableOrdersForCustomer");
      }

      protected getReturnableOrdersForCustomer_args getEmptyArgsInstance() {
        return new getReturnableOrdersForCustomer_args();
      }

      protected getReturnableOrdersForCustomer_result getResult(I iface, getReturnableOrdersForCustomer_args args) throws org.apache.thrift.TException {
        getReturnableOrdersForCustomer_result result = new getReturnableOrdersForCustomer_result();
        try {
          result.success = iface.getReturnableOrdersForCustomer(args.customer_id, args.limit);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class getCancellableOrdersForCustomer<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getCancellableOrdersForCustomer_args> {
      public getCancellableOrdersForCustomer() {
        super("getCancellableOrdersForCustomer");
      }

      protected getCancellableOrdersForCustomer_args getEmptyArgsInstance() {
        return new getCancellableOrdersForCustomer_args();
      }

      protected getCancellableOrdersForCustomer_result getResult(I iface, getCancellableOrdersForCustomer_args args) throws org.apache.thrift.TException {
        getCancellableOrdersForCustomer_result result = new getCancellableOrdersForCustomer_result();
        try {
          result.success = iface.getCancellableOrdersForCustomer(args.customer_id, args.limit);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class changeOrderStatus<I extends Iface> extends org.apache.thrift.ProcessFunction<I, changeOrderStatus_args> {
      public changeOrderStatus() {
        super("changeOrderStatus");
      }

      protected changeOrderStatus_args getEmptyArgsInstance() {
        return new changeOrderStatus_args();
      }

      protected changeOrderStatus_result getResult(I iface, changeOrderStatus_args args) throws org.apache.thrift.TException {
        changeOrderStatus_result result = new changeOrderStatus_result();
        try {
          result.success = iface.changeOrderStatus(args.orderId, args.status, args.description);
          result.setSuccessIsSet(true);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class getOrdersForTransaction<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getOrdersForTransaction_args> {
      public getOrdersForTransaction() {
        super("getOrdersForTransaction");
      }

      protected getOrdersForTransaction_args getEmptyArgsInstance() {
        return new getOrdersForTransaction_args();
      }

      protected getOrdersForTransaction_result getResult(I iface, getOrdersForTransaction_args args) throws org.apache.thrift.TException {
        getOrdersForTransaction_result result = new getOrdersForTransaction_result();
        try {
          result.success = iface.getOrdersForTransaction(args.transactionId, args.customerId);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class getOrdersForCustomer<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getOrdersForCustomer_args> {
      public getOrdersForCustomer() {
        super("getOrdersForCustomer");
      }

      protected getOrdersForCustomer_args getEmptyArgsInstance() {
        return new getOrdersForCustomer_args();
      }

      protected getOrdersForCustomer_result getResult(I iface, getOrdersForCustomer_args args) throws org.apache.thrift.TException {
        getOrdersForCustomer_result result = new getOrdersForCustomer_result();
        try {
          result.success = iface.getOrdersForCustomer(args.customerId, args.from_date, args.to_date, args.statuses);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class createOrder<I extends Iface> extends org.apache.thrift.ProcessFunction<I, createOrder_args> {
      public createOrder() {
        super("createOrder");
      }

      protected createOrder_args getEmptyArgsInstance() {
        return new createOrder_args();
      }

      protected createOrder_result getResult(I iface, createOrder_args args) throws org.apache.thrift.TException {
        createOrder_result result = new createOrder_result();
        try {
          result.success = iface.createOrder(args.order);
          result.setSuccessIsSet(true);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class getOrder<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getOrder_args> {
      public getOrder() {
        super("getOrder");
      }

      protected getOrder_args getEmptyArgsInstance() {
        return new getOrder_args();
      }

      protected getOrder_result getResult(I iface, getOrder_args args) throws org.apache.thrift.TException {
        getOrder_result result = new getOrder_result();
        try {
          result.success = iface.getOrder(args.id);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class getLineItemsForOrder<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getLineItemsForOrder_args> {
      public getLineItemsForOrder() {
        super("getLineItemsForOrder");
      }

      protected getLineItemsForOrder_args getEmptyArgsInstance() {
        return new getLineItemsForOrder_args();
      }

      protected getLineItemsForOrder_result getResult(I iface, getLineItemsForOrder_args args) throws org.apache.thrift.TException {
        getLineItemsForOrder_result result = new getLineItemsForOrder_result();
        try {
          result.success = iface.getLineItemsForOrder(args.orderId);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class getOrderList<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getOrderList_args> {
      public getOrderList() {
        super("getOrderList");
      }

      protected getOrderList_args getEmptyArgsInstance() {
        return new getOrderList_args();
      }

      protected getOrderList_result getResult(I iface, getOrderList_args args) throws org.apache.thrift.TException {
        getOrderList_result result = new getOrderList_result();
        result.success = iface.getOrderList(args.order_ids);
        return result;
      }
    }

    private static class getOrderListForVendor<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getOrderListForVendor_args> {
      public getOrderListForVendor() {
        super("getOrderListForVendor");
      }

      protected getOrderListForVendor_args getEmptyArgsInstance() {
        return new getOrderListForVendor_args();
      }

      protected getOrderListForVendor_result getResult(I iface, getOrderListForVendor_args args) throws org.apache.thrift.TException {
        getOrderListForVendor_result result = new getOrderListForVendor_result();
        result.success = iface.getOrderListForVendor(args.order_ids, args.vendorId);
        return result;
      }
    }

    private static class getOrderForCustomer<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getOrderForCustomer_args> {
      public getOrderForCustomer() {
        super("getOrderForCustomer");
      }

      protected getOrderForCustomer_args getEmptyArgsInstance() {
        return new getOrderForCustomer_args();
      }

      protected getOrderForCustomer_result getResult(I iface, getOrderForCustomer_args args) throws org.apache.thrift.TException {
        getOrderForCustomer_result result = new getOrderForCustomer_result();
        try {
          result.success = iface.getOrderForCustomer(args.orderId, args.customerId);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class getAlerts<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getAlerts_args> {
      public getAlerts() {
        super("getAlerts");
      }

      protected getAlerts_args getEmptyArgsInstance() {
        return new getAlerts_args();
      }

      protected getAlerts_result getResult(I iface, getAlerts_args args) throws org.apache.thrift.TException {
        getAlerts_result result = new getAlerts_result();
        result.success = iface.getAlerts(args.type, args.warehouseId, args.status, args.timestamp);
        return result;
      }
    }

    private static class addAlert<I extends Iface> extends org.apache.thrift.ProcessFunction<I, addAlert_args> {
      public addAlert() {
        super("addAlert");
      }

      protected addAlert_args getEmptyArgsInstance() {
        return new addAlert_args();
      }

      protected addAlert_result getResult(I iface, addAlert_args args) throws org.apache.thrift.TException {
        addAlert_result result = new addAlert_result();
        iface.addAlert(args.type, args.warehouseId, args.description);
        return result;
      }
    }

    private static class markAlertsAsSeen<I extends Iface> extends org.apache.thrift.ProcessFunction<I, markAlertsAsSeen_args> {
      public markAlertsAsSeen() {
        super("markAlertsAsSeen");
      }

      protected markAlertsAsSeen_args getEmptyArgsInstance() {
        return new markAlertsAsSeen_args();
      }

      protected markAlertsAsSeen_result getResult(I iface, markAlertsAsSeen_args args) throws org.apache.thrift.TException {
        markAlertsAsSeen_result result = new markAlertsAsSeen_result();
        iface.markAlertsAsSeen(args.warehouseId);
        return result;
      }
    }

    private static class getValidOrderCount<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getValidOrderCount_args> {
      public getValidOrderCount() {
        super("getValidOrderCount");
      }

      protected getValidOrderCount_args getEmptyArgsInstance() {
        return new getValidOrderCount_args();
      }

      protected getValidOrderCount_result getResult(I iface, getValidOrderCount_args args) throws org.apache.thrift.TException {
        getValidOrderCount_result result = new getValidOrderCount_result();
        result.success = iface.getValidOrderCount();
        result.setSuccessIsSet(true);
        return result;
      }
    }

    private static class getNoOfCustomersWithSuccessfulTransaction<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getNoOfCustomersWithSuccessfulTransaction_args> {
      public getNoOfCustomersWithSuccessfulTransaction() {
        super("getNoOfCustomersWithSuccessfulTransaction");
      }

      protected getNoOfCustomersWithSuccessfulTransaction_args getEmptyArgsInstance() {
        return new getNoOfCustomersWithSuccessfulTransaction_args();
      }

      protected getNoOfCustomersWithSuccessfulTransaction_result getResult(I iface, getNoOfCustomersWithSuccessfulTransaction_args args) throws org.apache.thrift.TException {
        getNoOfCustomersWithSuccessfulTransaction_result result = new getNoOfCustomersWithSuccessfulTransaction_result();
        result.success = iface.getNoOfCustomersWithSuccessfulTransaction();
        result.setSuccessIsSet(true);
        return result;
      }
    }

    private static class getValidOrdersAmountRange<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getValidOrdersAmountRange_args> {
      public getValidOrdersAmountRange() {
        super("getValidOrdersAmountRange");
      }

      protected getValidOrdersAmountRange_args getEmptyArgsInstance() {
        return new getValidOrdersAmountRange_args();
      }

      protected getValidOrdersAmountRange_result getResult(I iface, getValidOrdersAmountRange_args args) throws org.apache.thrift.TException {
        getValidOrdersAmountRange_result result = new getValidOrdersAmountRange_result();
        result.success = iface.getValidOrdersAmountRange();
        return result;
      }
    }

    private static class getValidOrders<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getValidOrders_args> {
      public getValidOrders() {
        super("getValidOrders");
      }

      protected getValidOrders_args getEmptyArgsInstance() {
        return new getValidOrders_args();
      }

      protected getValidOrders_result getResult(I iface, getValidOrders_args args) throws org.apache.thrift.TException {
        getValidOrders_result result = new getValidOrders_result();
        result.success = iface.getValidOrders(args.limit, args.onlyStore);
        return result;
      }
    }

    private static class batchOrders<I extends Iface> extends org.apache.thrift.ProcessFunction<I, batchOrders_args> {
      public batchOrders() {
        super("batchOrders");
      }

      protected batchOrders_args getEmptyArgsInstance() {
        return new batchOrders_args();
      }

      protected batchOrders_result getResult(I iface, batchOrders_args args) throws org.apache.thrift.TException {
        batchOrders_result result = new batchOrders_result();
        try {
          result.success = iface.batchOrders(args.warehouseId);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class markOrderAsOutOfStock<I extends Iface> extends org.apache.thrift.ProcessFunction<I, markOrderAsOutOfStock_args> {
      public markOrderAsOutOfStock() {
        super("markOrderAsOutOfStock");
      }

      protected markOrderAsOutOfStock_args getEmptyArgsInstance() {
        return new markOrderAsOutOfStock_args();
      }

      protected markOrderAsOutOfStock_result getResult(I iface, markOrderAsOutOfStock_args args) throws org.apache.thrift.TException {
        markOrderAsOutOfStock_result result = new markOrderAsOutOfStock_result();
        try {
          result.success = iface.markOrderAsOutOfStock(args.orderId);
          result.setSuccessIsSet(true);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class verifyOrder<I extends Iface> extends org.apache.thrift.ProcessFunction<I, verifyOrder_args> {
      public verifyOrder() {
        super("verifyOrder");
      }

      protected verifyOrder_args getEmptyArgsInstance() {
        return new verifyOrder_args();
      }

      protected verifyOrder_result getResult(I iface, verifyOrder_args args) throws org.apache.thrift.TException {
        verifyOrder_result result = new verifyOrder_result();
        try {
          result.success = iface.verifyOrder(args.orderId);
          result.setSuccessIsSet(true);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class acceptOrder<I extends Iface> extends org.apache.thrift.ProcessFunction<I, acceptOrder_args> {
      public acceptOrder() {
        super("acceptOrder");
      }

      protected acceptOrder_args getEmptyArgsInstance() {
        return new acceptOrder_args();
      }

      protected acceptOrder_result getResult(I iface, acceptOrder_args args) throws org.apache.thrift.TException {
        acceptOrder_result result = new acceptOrder_result();
        try {
          result.success = iface.acceptOrder(args.orderId);
          result.setSuccessIsSet(true);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class unacceptOrder<I extends Iface> extends org.apache.thrift.ProcessFunction<I, unacceptOrder_args> {
      public unacceptOrder() {
        super("unacceptOrder");
      }

      protected unacceptOrder_args getEmptyArgsInstance() {
        return new unacceptOrder_args();
      }

      protected unacceptOrder_result getResult(I iface, unacceptOrder_args args) throws org.apache.thrift.TException {
        unacceptOrder_result result = new unacceptOrder_result();
        result.success = iface.unacceptOrder(args.orderId);
        result.setSuccessIsSet(true);
        return result;
      }
    }

    private static class addBillingDetails<I extends Iface> extends org.apache.thrift.ProcessFunction<I, addBillingDetails_args> {
      public addBillingDetails() {
        super("addBillingDetails");
      }

      protected addBillingDetails_args getEmptyArgsInstance() {
        return new addBillingDetails_args();
      }

      protected addBillingDetails_result getResult(I iface, addBillingDetails_args args) throws org.apache.thrift.TException {
        addBillingDetails_result result = new addBillingDetails_result();
        try {
          result.success = iface.addBillingDetails(args.orderId, args.invoice_number, args.serialNumber, args.itemNumber, args.freebieWarehouseId, args.billed_by, args.jacketNumber, args.billingType, args.fulfilmentWarehouseId, args.authorize);
          result.setSuccessIsSet(true);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class addInvoiceNumber<I extends Iface> extends org.apache.thrift.ProcessFunction<I, addInvoiceNumber_args> {
      public addInvoiceNumber() {
        super("addInvoiceNumber");
      }

      protected addInvoiceNumber_args getEmptyArgsInstance() {
        return new addInvoiceNumber_args();
      }

      protected addInvoiceNumber_result getResult(I iface, addInvoiceNumber_args args) throws org.apache.thrift.TException {
        addInvoiceNumber_result result = new addInvoiceNumber_result();
        try {
          iface.addInvoiceNumber(args.orderId, args.invoiceNumber, args.color, args.serialNumber, args.itemNumber);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class markOrdersAsShippedFromWarehouse<I extends Iface> extends org.apache.thrift.ProcessFunction<I, markOrdersAsShippedFromWarehouse_args> {
      public markOrdersAsShippedFromWarehouse() {
        super("markOrdersAsShippedFromWarehouse");
      }

      protected markOrdersAsShippedFromWarehouse_args getEmptyArgsInstance() {
        return new markOrdersAsShippedFromWarehouse_args();
      }

      protected markOrdersAsShippedFromWarehouse_result getResult(I iface, markOrdersAsShippedFromWarehouse_args args) throws org.apache.thrift.TException {
        markOrdersAsShippedFromWarehouse_result result = new markOrdersAsShippedFromWarehouse_result();
        try {
          result.success = iface.markOrdersAsShippedFromWarehouse(args.warehouseId, args.providerId, args.cod, args.orderIds);
          result.setSuccessIsSet(true);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class markOrdersAsReturnedFromStore<I extends Iface> extends org.apache.thrift.ProcessFunction<I, markOrdersAsReturnedFromStore_args> {
      public markOrdersAsReturnedFromStore() {
        super("markOrdersAsReturnedFromStore");
      }

      protected markOrdersAsReturnedFromStore_args getEmptyArgsInstance() {
        return new markOrdersAsReturnedFromStore_args();
      }

      protected markOrdersAsReturnedFromStore_result getResult(I iface, markOrdersAsReturnedFromStore_args args) throws org.apache.thrift.TException {
        markOrdersAsReturnedFromStore_result result = new markOrdersAsReturnedFromStore_result();
        try {
          result.success = iface.markOrdersAsReturnedFromStore(args.providerId, args.orderIds, args.awbs);
          result.setSuccessIsSet(true);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class markOrdersAsPickedUp<I extends Iface> extends org.apache.thrift.ProcessFunction<I, markOrdersAsPickedUp_args> {
      public markOrdersAsPickedUp() {
        super("markOrdersAsPickedUp");
      }

      protected markOrdersAsPickedUp_args getEmptyArgsInstance() {
        return new markOrdersAsPickedUp_args();
      }

      protected markOrdersAsPickedUp_result getResult(I iface, markOrdersAsPickedUp_args args) throws org.apache.thrift.TException {
        markOrdersAsPickedUp_result result = new markOrdersAsPickedUp_result();
        try {
          iface.markOrdersAsPickedUp(args.providerId, args.pickupDetails);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class getOrdersNotPickedUp<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getOrdersNotPickedUp_args> {
      public getOrdersNotPickedUp() {
        super("getOrdersNotPickedUp");
      }

      protected getOrdersNotPickedUp_args getEmptyArgsInstance() {
        return new getOrdersNotPickedUp_args();
      }

      protected getOrdersNotPickedUp_result getResult(I iface, getOrdersNotPickedUp_args args) throws org.apache.thrift.TException {
        getOrdersNotPickedUp_result result = new getOrdersNotPickedUp_result();
        result.success = iface.getOrdersNotPickedUp(args.providerId);
        return result;
      }
    }

    private static class markOrdersAsDelivered<I extends Iface> extends org.apache.thrift.ProcessFunction<I, markOrdersAsDelivered_args> {
      public markOrdersAsDelivered() {
        super("markOrdersAsDelivered");
      }

      protected markOrdersAsDelivered_args getEmptyArgsInstance() {
        return new markOrdersAsDelivered_args();
      }

      protected markOrdersAsDelivered_result getResult(I iface, markOrdersAsDelivered_args args) throws org.apache.thrift.TException {
        markOrdersAsDelivered_result result = new markOrdersAsDelivered_result();
        try {
          iface.markOrdersAsDelivered(args.providerId, args.deliveredOrders);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class markAsRTOrders<I extends Iface> extends org.apache.thrift.ProcessFunction<I, markAsRTOrders_args> {
      public markAsRTOrders() {
        super("markAsRTOrders");
      }

      protected markAsRTOrders_args getEmptyArgsInstance() {
        return new markAsRTOrders_args();
      }

      protected markAsRTOrders_result getResult(I iface, markAsRTOrders_args args) throws org.apache.thrift.TException {
        markAsRTOrders_result result = new markAsRTOrders_result();
        try {
          iface.markAsRTOrders(args.providerId, args.returnedOrders);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class getRTOrders<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getRTOrders_args> {
      public getRTOrders() {
        super("getRTOrders");
      }

      protected getRTOrders_args getEmptyArgsInstance() {
        return new getRTOrders_args();
      }

      protected getRTOrders_result getResult(I iface, getRTOrders_args args) throws org.apache.thrift.TException {
        getRTOrders_result result = new getRTOrders_result();
        result.success = iface.getRTOrders(args.providerId);
        return result;
      }
    }

    private static class updateNonDeliveryReason<I extends Iface> extends org.apache.thrift.ProcessFunction<I, updateNonDeliveryReason_args> {
      public updateNonDeliveryReason() {
        super("updateNonDeliveryReason");
      }

      protected updateNonDeliveryReason_args getEmptyArgsInstance() {
        return new updateNonDeliveryReason_args();
      }

      protected updateNonDeliveryReason_result getResult(I iface, updateNonDeliveryReason_args args) throws org.apache.thrift.TException {
        updateNonDeliveryReason_result result = new updateNonDeliveryReason_result();
        try {
          iface.updateNonDeliveryReason(args.providerId, args.undeliveredOrders);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class getNonDeliveredOrdersbyCourier<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getNonDeliveredOrdersbyCourier_args> {
      public getNonDeliveredOrdersbyCourier() {
        super("getNonDeliveredOrdersbyCourier");
      }

      protected getNonDeliveredOrdersbyCourier_args getEmptyArgsInstance() {
        return new getNonDeliveredOrdersbyCourier_args();
      }

      protected getNonDeliveredOrdersbyCourier_result getResult(I iface, getNonDeliveredOrdersbyCourier_args args) throws org.apache.thrift.TException {
        getNonDeliveredOrdersbyCourier_result result = new getNonDeliveredOrdersbyCourier_result();
        result.success = iface.getNonDeliveredOrdersbyCourier(args.providerId);
        return result;
      }
    }

    private static class markOrdersAsLocalConnected<I extends Iface> extends org.apache.thrift.ProcessFunction<I, markOrdersAsLocalConnected_args> {
      public markOrdersAsLocalConnected() {
        super("markOrdersAsLocalConnected");
      }

      protected markOrdersAsLocalConnected_args getEmptyArgsInstance() {
        return new markOrdersAsLocalConnected_args();
      }

      protected markOrdersAsLocalConnected_result getResult(I iface, markOrdersAsLocalConnected_args args) throws org.apache.thrift.TException {
        markOrdersAsLocalConnected_result result = new markOrdersAsLocalConnected_result();
        try {
          iface.markOrdersAsLocalConnected(args.providerId, args.local_connected_orders);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class getOrdersNotLocalConnected<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getOrdersNotLocalConnected_args> {
      public getOrdersNotLocalConnected() {
        super("getOrdersNotLocalConnected");
      }

      protected getOrdersNotLocalConnected_args getEmptyArgsInstance() {
        return new getOrdersNotLocalConnected_args();
      }

      protected getOrdersNotLocalConnected_result getResult(I iface, getOrdersNotLocalConnected_args args) throws org.apache.thrift.TException {
        getOrdersNotLocalConnected_result result = new getOrdersNotLocalConnected_result();
        result.success = iface.getOrdersNotLocalConnected(args.providerId);
        return result;
      }
    }

    private static class markOrdersAsDestinationCityReached<I extends Iface> extends org.apache.thrift.ProcessFunction<I, markOrdersAsDestinationCityReached_args> {
      public markOrdersAsDestinationCityReached() {
        super("markOrdersAsDestinationCityReached");
      }

      protected markOrdersAsDestinationCityReached_args getEmptyArgsInstance() {
        return new markOrdersAsDestinationCityReached_args();
      }

      protected markOrdersAsDestinationCityReached_result getResult(I iface, markOrdersAsDestinationCityReached_args args) throws org.apache.thrift.TException {
        markOrdersAsDestinationCityReached_result result = new markOrdersAsDestinationCityReached_result();
        try {
          iface.markOrdersAsDestinationCityReached(args.providerId, args.destination_city_reached_orders);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class markOrdersAsFirstDeliveryAttempted<I extends Iface> extends org.apache.thrift.ProcessFunction<I, markOrdersAsFirstDeliveryAttempted_args> {
      public markOrdersAsFirstDeliveryAttempted() {
        super("markOrdersAsFirstDeliveryAttempted");
      }

      protected markOrdersAsFirstDeliveryAttempted_args getEmptyArgsInstance() {
        return new markOrdersAsFirstDeliveryAttempted_args();
      }

      protected markOrdersAsFirstDeliveryAttempted_result getResult(I iface, markOrdersAsFirstDeliveryAttempted_args args) throws org.apache.thrift.TException {
        markOrdersAsFirstDeliveryAttempted_result result = new markOrdersAsFirstDeliveryAttempted_result();
        try {
          iface.markOrdersAsFirstDeliveryAttempted(args.providerId, args.first_atdl_orders);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class getUndeliveredOrders<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getUndeliveredOrders_args> {
      public getUndeliveredOrders() {
        super("getUndeliveredOrders");
      }

      protected getUndeliveredOrders_args getEmptyArgsInstance() {
        return new getUndeliveredOrders_args();
      }

      protected getUndeliveredOrders_result getResult(I iface, getUndeliveredOrders_args args) throws org.apache.thrift.TException {
        getUndeliveredOrders_result result = new getUndeliveredOrders_result();
        result.success = iface.getUndeliveredOrders(args.providerId, args.warehouseId);
        return result;
      }
    }

    private static class getUndeliveredOrdersExpectedDeliveryDateNotMet<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getUndeliveredOrdersExpectedDeliveryDateNotMet_args> {
      public getUndeliveredOrdersExpectedDeliveryDateNotMet() {
        super("getUndeliveredOrdersExpectedDeliveryDateNotMet");
      }

      protected getUndeliveredOrdersExpectedDeliveryDateNotMet_args getEmptyArgsInstance() {
        return new getUndeliveredOrdersExpectedDeliveryDateNotMet_args();
      }

      protected getUndeliveredOrdersExpectedDeliveryDateNotMet_result getResult(I iface, getUndeliveredOrdersExpectedDeliveryDateNotMet_args args) throws org.apache.thrift.TException {
        getUndeliveredOrdersExpectedDeliveryDateNotMet_result result = new getUndeliveredOrdersExpectedDeliveryDateNotMet_result();
        result.success = iface.getUndeliveredOrdersExpectedDeliveryDateNotMet();
        return result;
      }
    }

    private static class toggleDOAFlag<I extends Iface> extends org.apache.thrift.ProcessFunction<I, toggleDOAFlag_args> {
      public toggleDOAFlag() {
        super("toggleDOAFlag");
      }

      protected toggleDOAFlag_args getEmptyArgsInstance() {
        return new toggleDOAFlag_args();
      }

      protected toggleDOAFlag_result getResult(I iface, toggleDOAFlag_args args) throws org.apache.thrift.TException {
        toggleDOAFlag_result result = new toggleDOAFlag_result();
        try {
          result.success = iface.toggleDOAFlag(args.orderId);
          result.setSuccessIsSet(true);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class markOrderAsDelivered<I extends Iface> extends org.apache.thrift.ProcessFunction<I, markOrderAsDelivered_args> {
      public markOrderAsDelivered() {
        super("markOrderAsDelivered");
      }

      protected markOrderAsDelivered_args getEmptyArgsInstance() {
        return new markOrderAsDelivered_args();
      }

      protected markOrderAsDelivered_result getResult(I iface, markOrderAsDelivered_args args) throws org.apache.thrift.TException {
        markOrderAsDelivered_result result = new markOrderAsDelivered_result();
        try {
          iface.markOrderAsDelivered(args.orderId, args.deliveryTimestamp, args.receiver);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class markOrderAsReceivedAtStore<I extends Iface> extends org.apache.thrift.ProcessFunction<I, markOrderAsReceivedAtStore_args> {
      public markOrderAsReceivedAtStore() {
        super("markOrderAsReceivedAtStore");
      }

      protected markOrderAsReceivedAtStore_args getEmptyArgsInstance() {
        return new markOrderAsReceivedAtStore_args();
      }

      protected markOrderAsReceivedAtStore_result getResult(I iface, markOrderAsReceivedAtStore_args args) throws org.apache.thrift.TException {
        markOrderAsReceivedAtStore_result result = new markOrderAsReceivedAtStore_result();
        try {
          iface.markOrderAsReceivedAtStore(args.orderId, args.deliveryTimestamp);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class markOrderDoaRequestReceived<I extends Iface> extends org.apache.thrift.ProcessFunction<I, markOrderDoaRequestReceived_args> {
      public markOrderDoaRequestReceived() {
        super("markOrderDoaRequestReceived");
      }

      protected markOrderDoaRequestReceived_args getEmptyArgsInstance() {
        return new markOrderDoaRequestReceived_args();
      }

      protected markOrderDoaRequestReceived_result getResult(I iface, markOrderDoaRequestReceived_args args) throws org.apache.thrift.TException {
        markOrderDoaRequestReceived_result result = new markOrderDoaRequestReceived_result();
        try {
          result.success = iface.markOrderDoaRequestReceived(args.orderId);
          result.setSuccessIsSet(true);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class markOrderDoaRequestAuthorized<I extends Iface> extends org.apache.thrift.ProcessFunction<I, markOrderDoaRequestAuthorized_args> {
      public markOrderDoaRequestAuthorized() {
        super("markOrderDoaRequestAuthorized");
      }

      protected markOrderDoaRequestAuthorized_args getEmptyArgsInstance() {
        return new markOrderDoaRequestAuthorized_args();
      }

      protected markOrderDoaRequestAuthorized_result getResult(I iface, markOrderDoaRequestAuthorized_args args) throws org.apache.thrift.TException {
        markOrderDoaRequestAuthorized_result result = new markOrderDoaRequestAuthorized_result();
        try {
          result.success = iface.markOrderDoaRequestAuthorized(args.orderId, args.isAuthorized, args.fromStore, args.isReship);
          result.setSuccessIsSet(true);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class markOrderReturnRequestReceived<I extends Iface> extends org.apache.thrift.ProcessFunction<I, markOrderReturnRequestReceived_args> {
      public markOrderReturnRequestReceived() {
        super("markOrderReturnRequestReceived");
      }

      protected markOrderReturnRequestReceived_args getEmptyArgsInstance() {
        return new markOrderReturnRequestReceived_args();
      }

      protected markOrderReturnRequestReceived_result getResult(I iface, markOrderReturnRequestReceived_args args) throws org.apache.thrift.TException {
        markOrderReturnRequestReceived_result result = new markOrderReturnRequestReceived_result();
        try {
          result.success = iface.markOrderReturnRequestReceived(args.orderId);
          result.setSuccessIsSet(true);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class markOrderReturnRequestAuthorized<I extends Iface> extends org.apache.thrift.ProcessFunction<I, markOrderReturnRequestAuthorized_args> {
      public markOrderReturnRequestAuthorized() {
        super("markOrderReturnRequestAuthorized");
      }

      protected markOrderReturnRequestAuthorized_args getEmptyArgsInstance() {
        return new markOrderReturnRequestAuthorized_args();
      }

      protected markOrderReturnRequestAuthorized_result getResult(I iface, markOrderReturnRequestAuthorized_args args) throws org.apache.thrift.TException {
        markOrderReturnRequestAuthorized_result result = new markOrderReturnRequestAuthorized_result();
        try {
          result.success = iface.markOrderReturnRequestAuthorized(args.orderId, args.isAuthorized, args.fromStore, args.isReship);
          result.setSuccessIsSet(true);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class requestPickupNumber<I extends Iface> extends org.apache.thrift.ProcessFunction<I, requestPickupNumber_args> {
      public requestPickupNumber() {
        super("requestPickupNumber");
      }

      protected requestPickupNumber_args getEmptyArgsInstance() {
        return new requestPickupNumber_args();
      }

      protected requestPickupNumber_result getResult(I iface, requestPickupNumber_args args) throws org.apache.thrift.TException {
        requestPickupNumber_result result = new requestPickupNumber_result();
        try {
          result.success = iface.requestPickupNumber(args.orderId, args.providerId);
          result.setSuccessIsSet(true);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class authorizePickup<I extends Iface> extends org.apache.thrift.ProcessFunction<I, authorizePickup_args> {
      public authorizePickup() {
        super("authorizePickup");
      }

      protected authorizePickup_args getEmptyArgsInstance() {
        return new authorizePickup_args();
      }

      protected authorizePickup_result getResult(I iface, authorizePickup_args args) throws org.apache.thrift.TException {
        authorizePickup_result result = new authorizePickup_result();
        try {
          result.success = iface.authorizePickup(args.orderId, args.pickupNumber, args.providerId);
          result.setSuccessIsSet(true);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class markDoasAsPickedUp<I extends Iface> extends org.apache.thrift.ProcessFunction<I, markDoasAsPickedUp_args> {
      public markDoasAsPickedUp() {
        super("markDoasAsPickedUp");
      }

      protected markDoasAsPickedUp_args getEmptyArgsInstance() {
        return new markDoasAsPickedUp_args();
      }

      protected markDoasAsPickedUp_result getResult(I iface, markDoasAsPickedUp_args args) throws org.apache.thrift.TException {
        markDoasAsPickedUp_result result = new markDoasAsPickedUp_result();
        iface.markDoasAsPickedUp(args.providerId, args.pickupDetails);
        return result;
      }
    }

    private static class getDoasNotPickedUp<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getDoasNotPickedUp_args> {
      public getDoasNotPickedUp() {
        super("getDoasNotPickedUp");
      }

      protected getDoasNotPickedUp_args getEmptyArgsInstance() {
        return new getDoasNotPickedUp_args();
      }

      protected getDoasNotPickedUp_result getResult(I iface, getDoasNotPickedUp_args args) throws org.apache.thrift.TException {
        getDoasNotPickedUp_result result = new getDoasNotPickedUp_result();
        result.success = iface.getDoasNotPickedUp(args.providerId);
        return result;
      }
    }

    private static class markReturnOrdersAsPickedUp<I extends Iface> extends org.apache.thrift.ProcessFunction<I, markReturnOrdersAsPickedUp_args> {
      public markReturnOrdersAsPickedUp() {
        super("markReturnOrdersAsPickedUp");
      }

      protected markReturnOrdersAsPickedUp_args getEmptyArgsInstance() {
        return new markReturnOrdersAsPickedUp_args();
      }

      protected markReturnOrdersAsPickedUp_result getResult(I iface, markReturnOrdersAsPickedUp_args args) throws org.apache.thrift.TException {
        markReturnOrdersAsPickedUp_result result = new markReturnOrdersAsPickedUp_result();
        iface.markReturnOrdersAsPickedUp(args.providerId, args.pickupDetails);
        return result;
      }
    }

    private static class getReturnOrdersNotPickedUp<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getReturnOrdersNotPickedUp_args> {
      public getReturnOrdersNotPickedUp() {
        super("getReturnOrdersNotPickedUp");
      }

      protected getReturnOrdersNotPickedUp_args getEmptyArgsInstance() {
        return new getReturnOrdersNotPickedUp_args();
      }

      protected getReturnOrdersNotPickedUp_result getResult(I iface, getReturnOrdersNotPickedUp_args args) throws org.apache.thrift.TException {
        getReturnOrdersNotPickedUp_result result = new getReturnOrdersNotPickedUp_result();
        result.success = iface.getReturnOrdersNotPickedUp(args.providerId);
        return result;
      }
    }

    private static class receiveReturn<I extends Iface> extends org.apache.thrift.ProcessFunction<I, receiveReturn_args> {
      public receiveReturn() {
        super("receiveReturn");
      }

      protected receiveReturn_args getEmptyArgsInstance() {
        return new receiveReturn_args();
      }

      protected receiveReturn_result getResult(I iface, receiveReturn_args args) throws org.apache.thrift.TException {
        receiveReturn_result result = new receiveReturn_result();
        try {
          result.success = iface.receiveReturn(args.orderId, args.receiveCondition, args.receiveFreebie, args.serialNumbers);
          result.setSuccessIsSet(true);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class validateDoa<I extends Iface> extends org.apache.thrift.ProcessFunction<I, validateDoa_args> {
      public validateDoa() {
        super("validateDoa");
      }

      protected validateDoa_args getEmptyArgsInstance() {
        return new validateDoa_args();
      }

      protected validateDoa_result getResult(I iface, validateDoa_args args) throws org.apache.thrift.TException {
        validateDoa_result result = new validateDoa_result();
        try {
          result.success = iface.validateDoa(args.orderId, args.isValid);
          result.setSuccessIsSet(true);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class validateReturnProduct<I extends Iface> extends org.apache.thrift.ProcessFunction<I, validateReturnProduct_args> {
      public validateReturnProduct() {
        super("validateReturnProduct");
      }

      protected validateReturnProduct_args getEmptyArgsInstance() {
        return new validateReturnProduct_args();
      }

      protected validateReturnProduct_result getResult(I iface, validateReturnProduct_args args) throws org.apache.thrift.TException {
        validateReturnProduct_result result = new validateReturnProduct_result();
        try {
          result.success = iface.validateReturnProduct(args.orderId, args.isUsable);
          result.setSuccessIsSet(true);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class reshipOrder<I extends Iface> extends org.apache.thrift.ProcessFunction<I, reshipOrder_args> {
      public reshipOrder() {
        super("reshipOrder");
      }

      protected reshipOrder_args getEmptyArgsInstance() {
        return new reshipOrder_args();
      }

      protected reshipOrder_result getResult(I iface, reshipOrder_args args) throws org.apache.thrift.TException {
        reshipOrder_result result = new reshipOrder_result();
        try {
          result.success = iface.reshipOrder(args.orderId);
          result.setSuccessIsSet(true);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class refundOrder<I extends Iface> extends org.apache.thrift.ProcessFunction<I, refundOrder_args> {
      public refundOrder() {
        super("refundOrder");
      }

      protected refundOrder_args getEmptyArgsInstance() {
        return new refundOrder_args();
      }

      protected refundOrder_result getResult(I iface, refundOrder_args args) throws org.apache.thrift.TException {
        refundOrder_result result = new refundOrder_result();
        try {
          result.success = iface.refundOrder(args.orderId, args.refundedBy, args.reason);
          result.setSuccessIsSet(true);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class getReturnOrders<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getReturnOrders_args> {
      public getReturnOrders() {
        super("getReturnOrders");
      }

      protected getReturnOrders_args getEmptyArgsInstance() {
        return new getReturnOrders_args();
      }

      protected getReturnOrders_result getResult(I iface, getReturnOrders_args args) throws org.apache.thrift.TException {
        getReturnOrders_result result = new getReturnOrders_result();
        result.success = iface.getReturnOrders(args.warehouseId, args.fromDate, args.toDate);
        return result;
      }
    }

    private static class getAllReturnOrders<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getAllReturnOrders_args> {
      public getAllReturnOrders() {
        super("getAllReturnOrders");
      }

      protected getAllReturnOrders_args getEmptyArgsInstance() {
        return new getAllReturnOrders_args();
      }

      protected getAllReturnOrders_result getResult(I iface, getAllReturnOrders_args args) throws org.apache.thrift.TException {
        getAllReturnOrders_result result = new getAllReturnOrders_result();
        result.success = iface.getAllReturnOrders(args.onlyNotProcessed, args.fromDate, args.toDate);
        return result;
      }
    }

    private static class getReturnOrder<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getReturnOrder_args> {
      public getReturnOrder() {
        super("getReturnOrder");
      }

      protected getReturnOrder_args getEmptyArgsInstance() {
        return new getReturnOrder_args();
      }

      protected getReturnOrder_result getResult(I iface, getReturnOrder_args args) throws org.apache.thrift.TException {
        getReturnOrder_result result = new getReturnOrder_result();
        try {
          result.success = iface.getReturnOrder(args.id);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class processReturn<I extends Iface> extends org.apache.thrift.ProcessFunction<I, processReturn_args> {
      public processReturn() {
        super("processReturn");
      }

      protected processReturn_args getEmptyArgsInstance() {
        return new processReturn_args();
      }

      protected processReturn_result getResult(I iface, processReturn_args args) throws org.apache.thrift.TException {
        processReturn_result result = new processReturn_result();
        try {
          iface.processReturn(args.returnOrderId);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class updateWeight<I extends Iface> extends org.apache.thrift.ProcessFunction<I, updateWeight_args> {
      public updateWeight() {
        super("updateWeight");
      }

      protected updateWeight_args getEmptyArgsInstance() {
        return new updateWeight_args();
      }

      protected updateWeight_result getResult(I iface, updateWeight_args args) throws org.apache.thrift.TException {
        updateWeight_result result = new updateWeight_result();
        try {
          result.success = iface.updateWeight(args.orderId, args.weight);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class changeItem<I extends Iface> extends org.apache.thrift.ProcessFunction<I, changeItem_args> {
      public changeItem() {
        super("changeItem");
      }

      protected changeItem_args getEmptyArgsInstance() {
        return new changeItem_args();
      }

      protected changeItem_result getResult(I iface, changeItem_args args) throws org.apache.thrift.TException {
        changeItem_result result = new changeItem_result();
        try {
          result.success = iface.changeItem(args.orderId, args.itemId);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class changeCourierProvider<I extends Iface> extends org.apache.thrift.ProcessFunction<I, changeCourierProvider_args> {
      public changeCourierProvider() {
        super("changeCourierProvider");
      }

      protected changeCourierProvider_args getEmptyArgsInstance() {
        return new changeCourierProvider_args();
      }

      protected changeCourierProvider_result getResult(I iface, changeCourierProvider_args args) throws org.apache.thrift.TException {
        changeCourierProvider_result result = new changeCourierProvider_result();
        try {
          result.success = iface.changeCourierProvider(args.orderId, args.providerId);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class shiftToWarehouse<I extends Iface> extends org.apache.thrift.ProcessFunction<I, shiftToWarehouse_args> {
      public shiftToWarehouse() {
        super("shiftToWarehouse");
      }

      protected shiftToWarehouse_args getEmptyArgsInstance() {
        return new shiftToWarehouse_args();
      }

      protected shiftToWarehouse_result getResult(I iface, shiftToWarehouse_args args) throws org.apache.thrift.TException {
        shiftToWarehouse_result result = new shiftToWarehouse_result();
        try {
          result.success = iface.shiftToWarehouse(args.orderId, args.warehouseId);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class addDelayReason<I extends Iface> extends org.apache.thrift.ProcessFunction<I, addDelayReason_args> {
      public addDelayReason() {
        super("addDelayReason");
      }

      protected addDelayReason_args getEmptyArgsInstance() {
        return new addDelayReason_args();
      }

      protected addDelayReason_result getResult(I iface, addDelayReason_args args) throws org.apache.thrift.TException {
        addDelayReason_result result = new addDelayReason_result();
        try {
          result.success = iface.addDelayReason(args.orderId, args.delayReason, args.furtherDelay, args.delayReasonText);
          result.setSuccessIsSet(true);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class reconcileCodCollection<I extends Iface> extends org.apache.thrift.ProcessFunction<I, reconcileCodCollection_args> {
      public reconcileCodCollection() {
        super("reconcileCodCollection");
      }

      protected reconcileCodCollection_args getEmptyArgsInstance() {
        return new reconcileCodCollection_args();
      }

      protected reconcileCodCollection_result getResult(I iface, reconcileCodCollection_args args) throws org.apache.thrift.TException {
        reconcileCodCollection_result result = new reconcileCodCollection_result();
        try {
          result.success = iface.reconcileCodCollection(args.collectedAmountMap, args.xferBy, args.xferTxnId, args.xferDate);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class getTransactionsRequiringExtraProcessing<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getTransactionsRequiringExtraProcessing_args> {
      public getTransactionsRequiringExtraProcessing() {
        super("getTransactionsRequiringExtraProcessing");
      }

      protected getTransactionsRequiringExtraProcessing_args getEmptyArgsInstance() {
        return new getTransactionsRequiringExtraProcessing_args();
      }

      protected getTransactionsRequiringExtraProcessing_result getResult(I iface, getTransactionsRequiringExtraProcessing_args args) throws org.apache.thrift.TException {
        getTransactionsRequiringExtraProcessing_result result = new getTransactionsRequiringExtraProcessing_result();
        result.success = iface.getTransactionsRequiringExtraProcessing(args.category);
        return result;
      }
    }

    private static class markTransactionAsProcessed<I extends Iface> extends org.apache.thrift.ProcessFunction<I, markTransactionAsProcessed_args> {
      public markTransactionAsProcessed() {
        super("markTransactionAsProcessed");
      }

      protected markTransactionAsProcessed_args getEmptyArgsInstance() {
        return new markTransactionAsProcessed_args();
      }

      protected markTransactionAsProcessed_result getResult(I iface, markTransactionAsProcessed_args args) throws org.apache.thrift.TException {
        markTransactionAsProcessed_result result = new markTransactionAsProcessed_result();
        iface.markTransactionAsProcessed(args.transactionId, args.category);
        return result;
      }
    }

    private static class getItemWiseRiskyOrdersCount<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getItemWiseRiskyOrdersCount_args> {
      public getItemWiseRiskyOrdersCount() {
        super("getItemWiseRiskyOrdersCount");
      }

      protected getItemWiseRiskyOrdersCount_args getEmptyArgsInstance() {
        return new getItemWiseRiskyOrdersCount_args();
      }

      protected getItemWiseRiskyOrdersCount_result getResult(I iface, getItemWiseRiskyOrdersCount_args args) throws org.apache.thrift.TException {
        getItemWiseRiskyOrdersCount_result result = new getItemWiseRiskyOrdersCount_result();
        result.success = iface.getItemWiseRiskyOrdersCount();
        return result;
      }
    }

    private static class getOrdersForItemIds<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getOrdersForItemIds_args> {
      public getOrdersForItemIds() {
        super("getOrdersForItemIds");
      }

      protected getOrdersForItemIds_args getEmptyArgsInstance() {
        return new getOrdersForItemIds_args();
      }

      protected getOrdersForItemIds_result getResult(I iface, getOrdersForItemIds_args args) throws org.apache.thrift.TException {
        getOrdersForItemIds_result result = new getOrdersForItemIds_result();
        result.success = iface.getOrdersForItemIds(args.itemIds);
        return result;
      }
    }

    private static class markOrderCancellationRequestReceived<I extends Iface> extends org.apache.thrift.ProcessFunction<I, markOrderCancellationRequestReceived_args> {
      public markOrderCancellationRequestReceived() {
        super("markOrderCancellationRequestReceived");
      }

      protected markOrderCancellationRequestReceived_args getEmptyArgsInstance() {
        return new markOrderCancellationRequestReceived_args();
      }

      protected markOrderCancellationRequestReceived_result getResult(I iface, markOrderCancellationRequestReceived_args args) throws org.apache.thrift.TException {
        markOrderCancellationRequestReceived_result result = new markOrderCancellationRequestReceived_result();
        try {
          iface.markOrderCancellationRequestReceived(args.orderId);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class markOrderCancellationRequestConfirmed<I extends Iface> extends org.apache.thrift.ProcessFunction<I, markOrderCancellationRequestConfirmed_args> {
      public markOrderCancellationRequestConfirmed() {
        super("markOrderCancellationRequestConfirmed");
      }

      protected markOrderCancellationRequestConfirmed_args getEmptyArgsInstance() {
        return new markOrderCancellationRequestConfirmed_args();
      }

      protected markOrderCancellationRequestConfirmed_result getResult(I iface, markOrderCancellationRequestConfirmed_args args) throws org.apache.thrift.TException {
        markOrderCancellationRequestConfirmed_result result = new markOrderCancellationRequestConfirmed_result();
        try {
          iface.markOrderCancellationRequestConfirmed(args.orderId);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class markOrderCancellationRequestDenied<I extends Iface> extends org.apache.thrift.ProcessFunction<I, markOrderCancellationRequestDenied_args> {
      public markOrderCancellationRequestDenied() {
        super("markOrderCancellationRequestDenied");
      }

      protected markOrderCancellationRequestDenied_args getEmptyArgsInstance() {
        return new markOrderCancellationRequestDenied_args();
      }

      protected markOrderCancellationRequestDenied_result getResult(I iface, markOrderCancellationRequestDenied_args args) throws org.apache.thrift.TException {
        markOrderCancellationRequestDenied_result result = new markOrderCancellationRequestDenied_result();
        try {
          iface.markOrderCancellationRequestDenied(args.orderId);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class markTransactionAsPaymentFlagRemoved<I extends Iface> extends org.apache.thrift.ProcessFunction<I, markTransactionAsPaymentFlagRemoved_args> {
      public markTransactionAsPaymentFlagRemoved() {
        super("markTransactionAsPaymentFlagRemoved");
      }

      protected markTransactionAsPaymentFlagRemoved_args getEmptyArgsInstance() {
        return new markTransactionAsPaymentFlagRemoved_args();
      }

      protected markTransactionAsPaymentFlagRemoved_result getResult(I iface, markTransactionAsPaymentFlagRemoved_args args) throws org.apache.thrift.TException {
        markTransactionAsPaymentFlagRemoved_result result = new markTransactionAsPaymentFlagRemoved_result();
        try {
          iface.markTransactionAsPaymentFlagRemoved(args.transactionId);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class refundTransaction<I extends Iface> extends org.apache.thrift.ProcessFunction<I, refundTransaction_args> {
      public refundTransaction() {
        super("refundTransaction");
      }

      protected refundTransaction_args getEmptyArgsInstance() {
        return new refundTransaction_args();
      }

      protected refundTransaction_result getResult(I iface, refundTransaction_args args) throws org.apache.thrift.TException {
        refundTransaction_result result = new refundTransaction_result();
        try {
          iface.refundTransaction(args.transactionId, args.refundedBy, args.reason);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class updateShipmentAddress<I extends Iface> extends org.apache.thrift.ProcessFunction<I, updateShipmentAddress_args> {
      public updateShipmentAddress() {
        super("updateShipmentAddress");
      }

      protected updateShipmentAddress_args getEmptyArgsInstance() {
        return new updateShipmentAddress_args();
      }

      protected updateShipmentAddress_result getResult(I iface, updateShipmentAddress_args args) throws org.apache.thrift.TException {
        updateShipmentAddress_result result = new updateShipmentAddress_result();
        try {
          iface.updateShipmentAddress(args.orderId, args.addressId);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class acceptOrdersForItemId<I extends Iface> extends org.apache.thrift.ProcessFunction<I, acceptOrdersForItemId_args> {
      public acceptOrdersForItemId() {
        super("acceptOrdersForItemId");
      }

      protected acceptOrdersForItemId_args getEmptyArgsInstance() {
        return new acceptOrdersForItemId_args();
      }

      protected acceptOrdersForItemId_result getResult(I iface, acceptOrdersForItemId_args args) throws org.apache.thrift.TException {
        acceptOrdersForItemId_result result = new acceptOrdersForItemId_result();
        try {
          result.success = iface.acceptOrdersForItemId(args.itemId, args.inventory);
          result.setSuccessIsSet(true);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class markOrdersAsPORaised<I extends Iface> extends org.apache.thrift.ProcessFunction<I, markOrdersAsPORaised_args> {
      public markOrdersAsPORaised() {
        super("markOrdersAsPORaised");
      }

      protected markOrdersAsPORaised_args getEmptyArgsInstance() {
        return new markOrdersAsPORaised_args();
      }

      protected markOrdersAsPORaised_result getResult(I iface, markOrdersAsPORaised_args args) throws org.apache.thrift.TException {
        markOrdersAsPORaised_result result = new markOrdersAsPORaised_result();
        try {
          iface.markOrdersAsPORaised(args.vendorId, args.itemId, args.quantity, args.estimate, args.isReminder);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class markOrdersAsReversalInitiated<I extends Iface> extends org.apache.thrift.ProcessFunction<I, markOrdersAsReversalInitiated_args> {
      public markOrdersAsReversalInitiated() {
        super("markOrdersAsReversalInitiated");
      }

      protected markOrdersAsReversalInitiated_args getEmptyArgsInstance() {
        return new markOrdersAsReversalInitiated_args();
      }

      protected markOrdersAsReversalInitiated_result getResult(I iface, markOrdersAsReversalInitiated_args args) throws org.apache.thrift.TException {
        markOrdersAsReversalInitiated_result result = new markOrdersAsReversalInitiated_result();
        try {
          iface.markOrdersAsReversalInitiated(args.vendorId, args.itemId, args.quantity, args.estimate, args.isReminder);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class markOrdersAsNotAvailabke<I extends Iface> extends org.apache.thrift.ProcessFunction<I, markOrdersAsNotAvailabke_args> {
      public markOrdersAsNotAvailabke() {
        super("markOrdersAsNotAvailabke");
      }

      protected markOrdersAsNotAvailabke_args getEmptyArgsInstance() {
        return new markOrdersAsNotAvailabke_args();
      }

      protected markOrdersAsNotAvailabke_result getResult(I iface, markOrdersAsNotAvailabke_args args) throws org.apache.thrift.TException {
        markOrdersAsNotAvailabke_result result = new markOrdersAsNotAvailabke_result();
        try {
          iface.markOrdersAsNotAvailabke(args.vendorId, args.itemId, args.quantity, args.estimate, args.isReminder);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class markOrdersAsTimeout<I extends Iface> extends org.apache.thrift.ProcessFunction<I, markOrdersAsTimeout_args> {
      public markOrdersAsTimeout() {
        super("markOrdersAsTimeout");
      }

      protected markOrdersAsTimeout_args getEmptyArgsInstance() {
        return new markOrdersAsTimeout_args();
      }

      protected markOrdersAsTimeout_result getResult(I iface, markOrdersAsTimeout_args args) throws org.apache.thrift.TException {
        markOrdersAsTimeout_result result = new markOrdersAsTimeout_result();
        try {
          result.success = iface.markOrdersAsTimeout(args.vendorId);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class markOrderAsLostInTransit<I extends Iface> extends org.apache.thrift.ProcessFunction<I, markOrderAsLostInTransit_args> {
      public markOrderAsLostInTransit() {
        super("markOrderAsLostInTransit");
      }

      protected markOrderAsLostInTransit_args getEmptyArgsInstance() {
        return new markOrderAsLostInTransit_args();
      }

      protected markOrderAsLostInTransit_result getResult(I iface, markOrderAsLostInTransit_args args) throws org.apache.thrift.TException {
        markOrderAsLostInTransit_result result = new markOrderAsLostInTransit_result();
        try {
          result.success = iface.markOrderAsLostInTransit(args.orderId);
          result.setSuccessIsSet(true);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class getOrderForAwb<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getOrderForAwb_args> {
      public getOrderForAwb() {
        super("getOrderForAwb");
      }

      protected getOrderForAwb_args getEmptyArgsInstance() {
        return new getOrderForAwb_args();
      }

      protected getOrderForAwb_result getResult(I iface, getOrderForAwb_args args) throws org.apache.thrift.TException {
        getOrderForAwb_result result = new getOrderForAwb_result();
        try {
          result.success = iface.getOrderForAwb(args.awb);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class getOrdersForProviderForStatus<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getOrdersForProviderForStatus_args> {
      public getOrdersForProviderForStatus() {
        super("getOrdersForProviderForStatus");
      }

      protected getOrdersForProviderForStatus_args getEmptyArgsInstance() {
        return new getOrdersForProviderForStatus_args();
      }

      protected getOrdersForProviderForStatus_result getResult(I iface, getOrdersForProviderForStatus_args args) throws org.apache.thrift.TException {
        getOrdersForProviderForStatus_result result = new getOrdersForProviderForStatus_result();
        try {
          result.success = iface.getOrdersForProviderForStatus(args.logistics_provider_id, args.order_status_list);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class getBilledOrdersForVendor<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getBilledOrdersForVendor_args> {
      public getBilledOrdersForVendor() {
        super("getBilledOrdersForVendor");
      }

      protected getBilledOrdersForVendor_args getEmptyArgsInstance() {
        return new getBilledOrdersForVendor_args();
      }

      protected getBilledOrdersForVendor_result getResult(I iface, getBilledOrdersForVendor_args args) throws org.apache.thrift.TException {
        getBilledOrdersForVendor_result result = new getBilledOrdersForVendor_result();
        try {
          result.success = iface.getBilledOrdersForVendor(args.vendorId, args.billingDateFrom, args.billingDateTo);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class getSlippedSippingDateOrders<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getSlippedSippingDateOrders_args> {
      public getSlippedSippingDateOrders() {
        super("getSlippedSippingDateOrders");
      }

      protected getSlippedSippingDateOrders_args getEmptyArgsInstance() {
        return new getSlippedSippingDateOrders_args();
      }

      protected getSlippedSippingDateOrders_result getResult(I iface, getSlippedSippingDateOrders_args args) throws org.apache.thrift.TException {
        getSlippedSippingDateOrders_result result = new getSlippedSippingDateOrders_result();
        try {
          result.success = iface.getSlippedSippingDateOrders();
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class getCancelledOrders<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getCancelledOrders_args> {
      public getCancelledOrders() {
        super("getCancelledOrders");
      }

      protected getCancelledOrders_args getEmptyArgsInstance() {
        return new getCancelledOrders_args();
      }

      protected getCancelledOrders_result getResult(I iface, getCancelledOrders_args args) throws org.apache.thrift.TException {
        getCancelledOrders_result result = new getCancelledOrders_result();
        try {
          result.success = iface.getCancelledOrders(args.cancelDateFrom, args.cancelDateTo);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class saveBluedartSettlements<I extends Iface> extends org.apache.thrift.ProcessFunction<I, saveBluedartSettlements_args> {
      public saveBluedartSettlements() {
        super("saveBluedartSettlements");
      }

      protected saveBluedartSettlements_args getEmptyArgsInstance() {
        return new saveBluedartSettlements_args();
      }

      protected saveBluedartSettlements_result getResult(I iface, saveBluedartSettlements_args args) throws org.apache.thrift.TException {
        saveBluedartSettlements_result result = new saveBluedartSettlements_result();
        try {
          iface.saveBluedartSettlements(args.mapAWBAndAmount);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class savePaymentSettlements<I extends Iface> extends org.apache.thrift.ProcessFunction<I, savePaymentSettlements_args> {
      public savePaymentSettlements() {
        super("savePaymentSettlements");
      }

      protected savePaymentSettlements_args getEmptyArgsInstance() {
        return new savePaymentSettlements_args();
      }

      protected savePaymentSettlements_result getResult(I iface, savePaymentSettlements_args args) throws org.apache.thrift.TException {
        savePaymentSettlements_result result = new savePaymentSettlements_result();
        try {
          iface.savePaymentSettlements(args.settlementDate, args.paymentGatewayId, args.referenceId, args.serviceTax, args.otherCharges, args.netCollection);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class saveEBSSettlementSummary<I extends Iface> extends org.apache.thrift.ProcessFunction<I, saveEBSSettlementSummary_args> {
      public saveEBSSettlementSummary() {
        super("saveEBSSettlementSummary");
      }

      protected saveEBSSettlementSummary_args getEmptyArgsInstance() {
        return new saveEBSSettlementSummary_args();
      }

      protected saveEBSSettlementSummary_result getResult(I iface, saveEBSSettlementSummary_args args) throws org.apache.thrift.TException {
        saveEBSSettlementSummary_result result = new saveEBSSettlementSummary_result();
        try {
          iface.saveEBSSettlementSummary(args.settlementId, args.settlementDate, args.transactionDateFrom, args.transactionDateTo, args.amount);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class getSettlementForPrepaid<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getSettlementForPrepaid_args> {
      public getSettlementForPrepaid() {
        super("getSettlementForPrepaid");
      }

      protected getSettlementForPrepaid_args getEmptyArgsInstance() {
        return new getSettlementForPrepaid_args();
      }

      protected getSettlementForPrepaid_result getResult(I iface, getSettlementForPrepaid_args args) throws org.apache.thrift.TException {
        getSettlementForPrepaid_result result = new getSettlementForPrepaid_result();
        try {
          result.success = iface.getSettlementForPrepaid(args.referenceId, args.isRefund);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class getSettlementForCod<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getSettlementForCod_args> {
      public getSettlementForCod() {
        super("getSettlementForCod");
      }

      protected getSettlementForCod_args getEmptyArgsInstance() {
        return new getSettlementForCod_args();
      }

      protected getSettlementForCod_result getResult(I iface, getSettlementForCod_args args) throws org.apache.thrift.TException {
        getSettlementForCod_result result = new getSettlementForCod_result();
        try {
          result.success = iface.getSettlementForCod(args.orderId, args.isRefund);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class getEBSSettlementSummaries<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getEBSSettlementSummaries_args> {
      public getEBSSettlementSummaries() {
        super("getEBSSettlementSummaries");
      }

      protected getEBSSettlementSummaries_args getEmptyArgsInstance() {
        return new getEBSSettlementSummaries_args();
      }

      protected getEBSSettlementSummaries_result getResult(I iface, getEBSSettlementSummaries_args args) throws org.apache.thrift.TException {
        getEBSSettlementSummaries_result result = new getEBSSettlementSummaries_result();
        try {
          result.success = iface.getEBSSettlementSummaries();
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class markEBSSettlementUploaded<I extends Iface> extends org.apache.thrift.ProcessFunction<I, markEBSSettlementUploaded_args> {
      public markEBSSettlementUploaded() {
        super("markEBSSettlementUploaded");
      }

      protected markEBSSettlementUploaded_args getEmptyArgsInstance() {
        return new markEBSSettlementUploaded_args();
      }

      protected markEBSSettlementUploaded_result getResult(I iface, markEBSSettlementUploaded_args args) throws org.apache.thrift.TException {
        markEBSSettlementUploaded_result result = new markEBSSettlementUploaded_result();
        try {
          iface.markEBSSettlementUploaded(args.settlementId);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class getEBSSettlementDate<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getEBSSettlementDate_args> {
      public getEBSSettlementDate() {
        super("getEBSSettlementDate");
      }

      protected getEBSSettlementDate_args getEmptyArgsInstance() {
        return new getEBSSettlementDate_args();
      }

      protected getEBSSettlementDate_result getResult(I iface, getEBSSettlementDate_args args) throws org.apache.thrift.TException {
        getEBSSettlementDate_result result = new getEBSSettlementDate_result();
        try {
          result.success = iface.getEBSSettlementDate(args.settlementId);
          result.setSuccessIsSet(true);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class getSettlementsByDate<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getSettlementsByDate_args> {
      public getSettlementsByDate() {
        super("getSettlementsByDate");
      }

      protected getSettlementsByDate_args getEmptyArgsInstance() {
        return new getSettlementsByDate_args();
      }

      protected getSettlementsByDate_result getResult(I iface, getSettlementsByDate_args args) throws org.apache.thrift.TException {
        getSettlementsByDate_result result = new getSettlementsByDate_result();
        try {
          result.success = iface.getSettlementsByDate(args.settlementDateFrom, args.settlementDateTo, args.isRefund);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class getReshippedOrderIds<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getReshippedOrderIds_args> {
      public getReshippedOrderIds() {
        super("getReshippedOrderIds");
      }

      protected getReshippedOrderIds_args getEmptyArgsInstance() {
        return new getReshippedOrderIds_args();
      }

      protected getReshippedOrderIds_result getResult(I iface, getReshippedOrderIds_args args) throws org.apache.thrift.TException {
        getReshippedOrderIds_result result = new getReshippedOrderIds_result();
        try {
          result.success = iface.getReshippedOrderIds(args.orderIds);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class getBilledOrders<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getBilledOrders_args> {
      public getBilledOrders() {
        super("getBilledOrders");
      }

      protected getBilledOrders_args getEmptyArgsInstance() {
        return new getBilledOrders_args();
      }

      protected getBilledOrders_result getResult(I iface, getBilledOrders_args args) throws org.apache.thrift.TException {
        getBilledOrders_result result = new getBilledOrders_result();
        try {
          result.success = iface.getBilledOrders(args.vendorId, args.onlyVendorNotPaid, args.billingDateFrom, args.billingDateTo);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class getStatusDistributionOfOrders<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getStatusDistributionOfOrders_args> {
      public getStatusDistributionOfOrders() {
        super("getStatusDistributionOfOrders");
      }

      protected getStatusDistributionOfOrders_args getEmptyArgsInstance() {
        return new getStatusDistributionOfOrders_args();
      }

      protected getStatusDistributionOfOrders_result getResult(I iface, getStatusDistributionOfOrders_args args) throws org.apache.thrift.TException {
        getStatusDistributionOfOrders_result result = new getStatusDistributionOfOrders_result();
        try {
          result.success = iface.getStatusDistributionOfOrders(args.startDate, args.endDate);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class getOrderIdsForStatus<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getOrderIdsForStatus_args> {
      public getOrderIdsForStatus() {
        super("getOrderIdsForStatus");
      }

      protected getOrderIdsForStatus_args getEmptyArgsInstance() {
        return new getOrderIdsForStatus_args();
      }

      protected getOrderIdsForStatus_result getResult(I iface, getOrderIdsForStatus_args args) throws org.apache.thrift.TException {
        getOrderIdsForStatus_result result = new getOrderIdsForStatus_result();
        try {
          result.success = iface.getOrderIdsForStatus(args.status, args.startDatetime, args.endDatetime);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class updateCODAgent<I extends Iface> extends org.apache.thrift.ProcessFunction<I, updateCODAgent_args> {
      public updateCODAgent() {
        super("updateCODAgent");
      }

      protected updateCODAgent_args getEmptyArgsInstance() {
        return new updateCODAgent_args();
      }

      protected updateCODAgent_result getResult(I iface, updateCODAgent_args args) throws org.apache.thrift.TException {
        updateCODAgent_result result = new updateCODAgent_result();
        try {
          iface.updateCODAgent(args.agent, args.orderId);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class updateOrderAsPaidToVendor<I extends Iface> extends org.apache.thrift.ProcessFunction<I, updateOrderAsPaidToVendor_args> {
      public updateOrderAsPaidToVendor() {
        super("updateOrderAsPaidToVendor");
      }

      protected updateOrderAsPaidToVendor_args getEmptyArgsInstance() {
        return new updateOrderAsPaidToVendor_args();
      }

      protected updateOrderAsPaidToVendor_result getResult(I iface, updateOrderAsPaidToVendor_args args) throws org.apache.thrift.TException {
        updateOrderAsPaidToVendor_result result = new updateOrderAsPaidToVendor_result();
        try {
          iface.updateOrderAsPaidToVendor(args.orderId);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class updateOrderOnlyAsPaidToVendor<I extends Iface> extends org.apache.thrift.ProcessFunction<I, updateOrderOnlyAsPaidToVendor_args> {
      public updateOrderOnlyAsPaidToVendor() {
        super("updateOrderOnlyAsPaidToVendor");
      }

      protected updateOrderOnlyAsPaidToVendor_args getEmptyArgsInstance() {
        return new updateOrderOnlyAsPaidToVendor_args();
      }

      protected updateOrderOnlyAsPaidToVendor_result getResult(I iface, updateOrderOnlyAsPaidToVendor_args args) throws org.apache.thrift.TException {
        updateOrderOnlyAsPaidToVendor_result result = new updateOrderOnlyAsPaidToVendor_result();
        try {
          iface.updateOrderOnlyAsPaidToVendor(args.orderId);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class getRefundedOrdersMarkedPaid<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getRefundedOrdersMarkedPaid_args> {
      public getRefundedOrdersMarkedPaid() {
        super("getRefundedOrdersMarkedPaid");
      }

      protected getRefundedOrdersMarkedPaid_args getEmptyArgsInstance() {
        return new getRefundedOrdersMarkedPaid_args();
      }

      protected getRefundedOrdersMarkedPaid_result getResult(I iface, getRefundedOrdersMarkedPaid_args args) throws org.apache.thrift.TException {
        getRefundedOrdersMarkedPaid_result result = new getRefundedOrdersMarkedPaid_result();
        try {
          result.success = iface.getRefundedOrdersMarkedPaid();
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class getAllVerificationAgents<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getAllVerificationAgents_args> {
      public getAllVerificationAgents() {
        super("getAllVerificationAgents");
      }

      protected getAllVerificationAgents_args getEmptyArgsInstance() {
        return new getAllVerificationAgents_args();
      }

      protected getAllVerificationAgents_result getResult(I iface, getAllVerificationAgents_args args) throws org.apache.thrift.TException {
        getAllVerificationAgents_result result = new getAllVerificationAgents_result();
        result.success = iface.getAllVerificationAgents(args.minOrderId, args.maxOrderId);
        return result;
      }
    }

    private static class getAllAttributesForOrderId<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getAllAttributesForOrderId_args> {
      public getAllAttributesForOrderId() {
        super("getAllAttributesForOrderId");
      }

      protected getAllAttributesForOrderId_args getEmptyArgsInstance() {
        return new getAllAttributesForOrderId_args();
      }

      protected getAllAttributesForOrderId_result getResult(I iface, getAllAttributesForOrderId_args args) throws org.apache.thrift.TException {
        getAllAttributesForOrderId_result result = new getAllAttributesForOrderId_result();
        result.success = iface.getAllAttributesForOrderId(args.orderId);
        return result;
      }
    }

    private static class setOrderAttributes<I extends Iface> extends org.apache.thrift.ProcessFunction<I, setOrderAttributes_args> {
      public setOrderAttributes() {
        super("setOrderAttributes");
      }

      protected setOrderAttributes_args getEmptyArgsInstance() {
        return new setOrderAttributes_args();
      }

      protected setOrderAttributes_result getResult(I iface, setOrderAttributes_args args) throws org.apache.thrift.TException {
        setOrderAttributes_result result = new setOrderAttributes_result();
        iface.setOrderAttributes(args.orderId, args.attributes);
        return result;
      }
    }

    private static class setOrderAttributeForTransaction<I extends Iface> extends org.apache.thrift.ProcessFunction<I, setOrderAttributeForTransaction_args> {
      public setOrderAttributeForTransaction() {
        super("setOrderAttributeForTransaction");
      }

      protected setOrderAttributeForTransaction_args getEmptyArgsInstance() {
        return new setOrderAttributeForTransaction_args();
      }

      protected setOrderAttributeForTransaction_result getResult(I iface, setOrderAttributeForTransaction_args args) throws org.apache.thrift.TException {
        setOrderAttributeForTransaction_result result = new setOrderAttributeForTransaction_result();
        iface.setOrderAttributeForTransaction(args.transactionId, args.attribute);
        return result;
      }
    }

    private static class getReceivePendingOrders<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getReceivePendingOrders_args> {
      public getReceivePendingOrders() {
        super("getReceivePendingOrders");
      }

      protected getReceivePendingOrders_args getEmptyArgsInstance() {
        return new getReceivePendingOrders_args();
      }

      protected getReceivePendingOrders_result getResult(I iface, getReceivePendingOrders_args args) throws org.apache.thrift.TException {
        getReceivePendingOrders_result result = new getReceivePendingOrders_result();
        result.success = iface.getReceivePendingOrders(args.storeId);
        return result;
      }
    }

    private static class getReceivedAtStoreOrders<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getReceivedAtStoreOrders_args> {
      public getReceivedAtStoreOrders() {
        super("getReceivedAtStoreOrders");
      }

      protected getReceivedAtStoreOrders_args getEmptyArgsInstance() {
        return new getReceivedAtStoreOrders_args();
      }

      protected getReceivedAtStoreOrders_result getResult(I iface, getReceivedAtStoreOrders_args args) throws org.apache.thrift.TException {
        getReceivedAtStoreOrders_result result = new getReceivedAtStoreOrders_result();
        result.success = iface.getReceivedAtStoreOrders(args.storeId);
        return result;
      }
    }

    private static class getOrdersCollectionAtStore<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getOrdersCollectionAtStore_args> {
      public getOrdersCollectionAtStore() {
        super("getOrdersCollectionAtStore");
      }

      protected getOrdersCollectionAtStore_args getEmptyArgsInstance() {
        return new getOrdersCollectionAtStore_args();
      }

      protected getOrdersCollectionAtStore_result getResult(I iface, getOrdersCollectionAtStore_args args) throws org.apache.thrift.TException {
        getOrdersCollectionAtStore_result result = new getOrdersCollectionAtStore_result();
        result.success = iface.getOrdersCollectionAtStore(args.storeId, args.fromDate, args.toDate, args.onlyCod);
        return result;
      }
    }

    private static class getOrderAttributeValue<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getOrderAttributeValue_args> {
      public getOrderAttributeValue() {
        super("getOrderAttributeValue");
      }

      protected getOrderAttributeValue_args getEmptyArgsInstance() {
        return new getOrderAttributeValue_args();
      }

      protected getOrderAttributeValue_result getResult(I iface, getOrderAttributeValue_args args) throws org.apache.thrift.TException {
        getOrderAttributeValue_result result = new getOrderAttributeValue_result();
        result.success = iface.getOrderAttributeValue(args.orderId, args.attributeName);
        return result;
      }
    }

    private static class changeJacketNumber<I extends Iface> extends org.apache.thrift.ProcessFunction<I, changeJacketNumber_args> {
      public changeJacketNumber() {
        super("changeJacketNumber");
      }

      protected changeJacketNumber_args getEmptyArgsInstance() {
        return new changeJacketNumber_args();
      }

      protected changeJacketNumber_result getResult(I iface, changeJacketNumber_args args) throws org.apache.thrift.TException {
        changeJacketNumber_result result = new changeJacketNumber_result();
        result.success = iface.changeJacketNumber(args.orderId, args.jacketNumber);
        result.setSuccessIsSet(true);
        return result;
      }
    }

    private static class markOrderAsRtoInTransit<I extends Iface> extends org.apache.thrift.ProcessFunction<I, markOrderAsRtoInTransit_args> {
      public markOrderAsRtoInTransit() {
        super("markOrderAsRtoInTransit");
      }

      protected markOrderAsRtoInTransit_args getEmptyArgsInstance() {
        return new markOrderAsRtoInTransit_args();
      }

      protected markOrderAsRtoInTransit_result getResult(I iface, markOrderAsRtoInTransit_args args) throws org.apache.thrift.TException {
        markOrderAsRtoInTransit_result result = new markOrderAsRtoInTransit_result();
        result.success = iface.markOrderAsRtoInTransit(args.orderId);
        result.setSuccessIsSet(true);
        return result;
      }
    }

    private static class acceptOrderForItem<I extends Iface> extends org.apache.thrift.ProcessFunction<I, acceptOrderForItem_args> {
      public acceptOrderForItem() {
        super("acceptOrderForItem");
      }

      protected acceptOrderForItem_args getEmptyArgsInstance() {
        return new acceptOrderForItem_args();
      }

      protected acceptOrderForItem_result getResult(I iface, acceptOrderForItem_args args) throws org.apache.thrift.TException {
        acceptOrderForItem_result result = new acceptOrderForItem_result();
        iface.acceptOrderForItem(args.itemId, args.quantity, args.fulfilmentWarehouseId, args.billingWarehouseId);
        return result;
      }
    }

    private static class createRechargeOrder<I extends Iface> extends org.apache.thrift.ProcessFunction<I, createRechargeOrder_args> {
      public createRechargeOrder() {
        super("createRechargeOrder");
      }

      protected createRechargeOrder_args getEmptyArgsInstance() {
        return new createRechargeOrder_args();
      }

      protected createRechargeOrder_result getResult(I iface, createRechargeOrder_args args) throws org.apache.thrift.TException {
        createRechargeOrder_result result = new createRechargeOrder_result();
        try {
          result.success = iface.createRechargeOrder(args.rechargeOrder);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class getRechargeOrder<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getRechargeOrder_args> {
      public getRechargeOrder() {
        super("getRechargeOrder");
      }

      protected getRechargeOrder_args getEmptyArgsInstance() {
        return new getRechargeOrder_args();
      }

      protected getRechargeOrder_result getResult(I iface, getRechargeOrder_args args) throws org.apache.thrift.TException {
        getRechargeOrder_result result = new getRechargeOrder_result();
        try {
          result.success = iface.getRechargeOrder(args.rechargeRrderId);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class getRechargeOrders<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getRechargeOrders_args> {
      public getRechargeOrders() {
        super("getRechargeOrders");
      }

      protected getRechargeOrders_args getEmptyArgsInstance() {
        return new getRechargeOrders_args();
      }

      protected getRechargeOrders_result getResult(I iface, getRechargeOrders_args args) throws org.apache.thrift.TException {
        getRechargeOrders_result result = new getRechargeOrders_result();
        result.success = iface.getRechargeOrders(args.userId);
        return result;
      }
    }

    private static class updateRechargeOrderStatus<I extends Iface> extends org.apache.thrift.ProcessFunction<I, updateRechargeOrderStatus_args> {
      public updateRechargeOrderStatus() {
        super("updateRechargeOrderStatus");
      }

      protected updateRechargeOrderStatus_args getEmptyArgsInstance() {
        return new updateRechargeOrderStatus_args();
      }

      protected updateRechargeOrderStatus_result getResult(I iface, updateRechargeOrderStatus_args args) throws org.apache.thrift.TException {
        updateRechargeOrderStatus_result result = new updateRechargeOrderStatus_result();
        try {
          result.success = iface.updateRechargeOrderStatus(args.rechargeOrderId, args.rechargeOrderStatus);
          result.setSuccessIsSet(true);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class activateRechargeTxn<I extends Iface> extends org.apache.thrift.ProcessFunction<I, activateRechargeTxn_args> {
      public activateRechargeTxn() {
        super("activateRechargeTxn");
      }

      protected activateRechargeTxn_args getEmptyArgsInstance() {
        return new activateRechargeTxn_args();
      }

      protected activateRechargeTxn_result getResult(I iface, activateRechargeTxn_args args) throws org.apache.thrift.TException {
        activateRechargeTxn_result result = new activateRechargeTxn_result();
        try {
          result.success = iface.activateRechargeTxn(args.rechargeOrderId);
          result.setSuccessIsSet(true);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class getUserWallet<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getUserWallet_args> {
      public getUserWallet() {
        super("getUserWallet");
      }

      protected getUserWallet_args getEmptyArgsInstance() {
        return new getUserWallet_args();
      }

      protected getUserWallet_result getResult(I iface, getUserWallet_args args) throws org.apache.thrift.TException {
        getUserWallet_result result = new getUserWallet_result();
        result.success = iface.getUserWallet(args.userId);
        return result;
      }
    }

    private static class getUserWalletHistory<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getUserWalletHistory_args> {
      public getUserWalletHistory() {
        super("getUserWalletHistory");
      }

      protected getUserWalletHistory_args getEmptyArgsInstance() {
        return new getUserWalletHistory_args();
      }

      protected getUserWalletHistory_result getResult(I iface, getUserWalletHistory_args args) throws org.apache.thrift.TException {
        getUserWalletHistory_result result = new getUserWalletHistory_result();
        result.success = iface.getUserWalletHistory(args.userId);
        return result;
      }
    }

    private static class getLatestUserWalletHistory<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getLatestUserWalletHistory_args> {
      public getLatestUserWalletHistory() {
        super("getLatestUserWalletHistory");
      }

      protected getLatestUserWalletHistory_args getEmptyArgsInstance() {
        return new getLatestUserWalletHistory_args();
      }

      protected getLatestUserWalletHistory_result getResult(I iface, getLatestUserWalletHistory_args args) throws org.apache.thrift.TException {
        getLatestUserWalletHistory_result result = new getLatestUserWalletHistory_result();
        result.success = iface.getLatestUserWalletHistory(args.userId, args.offset, args.limit);
        return result;
      }
    }

    private static class getRechargeOrdersForTransaction<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getRechargeOrdersForTransaction_args> {
      public getRechargeOrdersForTransaction() {
        super("getRechargeOrdersForTransaction");
      }

      protected getRechargeOrdersForTransaction_args getEmptyArgsInstance() {
        return new getRechargeOrdersForTransaction_args();
      }

      protected getRechargeOrdersForTransaction_result getResult(I iface, getRechargeOrdersForTransaction_args args) throws org.apache.thrift.TException {
        getRechargeOrdersForTransaction_result result = new getRechargeOrdersForTransaction_result();
        try {
          result.success = iface.getRechargeOrdersForTransaction(args.txnId);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class getServiceProviders<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getServiceProviders_args> {
      public getServiceProviders() {
        super("getServiceProviders");
      }

      protected getServiceProviders_args getEmptyArgsInstance() {
        return new getServiceProviders_args();
      }

      protected getServiceProviders_result getResult(I iface, getServiceProviders_args args) throws org.apache.thrift.TException {
        getServiceProviders_result result = new getServiceProviders_result();
        result.success = iface.getServiceProviders(args.rechargeType, args.onlyActive);
        return result;
      }
    }

    private static class getServiceProviderForDevice<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getServiceProviderForDevice_args> {
      public getServiceProviderForDevice() {
        super("getServiceProviderForDevice");
      }

      protected getServiceProviderForDevice_args getEmptyArgsInstance() {
        return new getServiceProviderForDevice_args();
      }

      protected getServiceProviderForDevice_result getResult(I iface, getServiceProviderForDevice_args args) throws org.apache.thrift.TException {
        getServiceProviderForDevice_result result = new getServiceProviderForDevice_result();
        result.success = iface.getServiceProviderForDevice(args.rechargeType, args.deviceNumber);
        return result;
      }
    }

    private static class validateRecharge<I extends Iface> extends org.apache.thrift.ProcessFunction<I, validateRecharge_args> {
      public validateRecharge() {
        super("validateRecharge");
      }

      protected validateRecharge_args getEmptyArgsInstance() {
        return new validateRecharge_args();
      }

      protected validateRecharge_result getResult(I iface, validateRecharge_args args) throws org.apache.thrift.TException {
        validateRecharge_result result = new validateRecharge_result();
        result.success = iface.validateRecharge(args.rechargeType, args.deviceNumber, args.userSelectedProviderId, args.clientAddress);
        return result;
      }
    }

    private static class getRechargeOrdersForDevice<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getRechargeOrdersForDevice_args> {
      public getRechargeOrdersForDevice() {
        super("getRechargeOrdersForDevice");
      }

      protected getRechargeOrdersForDevice_args getEmptyArgsInstance() {
        return new getRechargeOrdersForDevice_args();
      }

      protected getRechargeOrdersForDevice_result getResult(I iface, getRechargeOrdersForDevice_args args) throws org.apache.thrift.TException {
        getRechargeOrdersForDevice_result result = new getRechargeOrdersForDevice_result();
        result.success = iface.getRechargeOrdersForDevice(args.deviceNumber);
        return result;
      }
    }

    private static class creditBatch<I extends Iface> extends org.apache.thrift.ProcessFunction<I, creditBatch_args> {
      public creditBatch() {
        super("creditBatch");
      }

      protected creditBatch_args getEmptyArgsInstance() {
        return new creditBatch_args();
      }

      protected creditBatch_result getResult(I iface, creditBatch_args args) throws org.apache.thrift.TException {
        creditBatch_result result = new creditBatch_result();
        iface.creditBatch(args.batchId, args.userAmount);
        return result;
      }
    }

    private static class getRechargeStatistics<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getRechargeStatistics_args> {
      public getRechargeStatistics() {
        super("getRechargeStatistics");
      }

      protected getRechargeStatistics_args getEmptyArgsInstance() {
        return new getRechargeStatistics_args();
      }

      protected getRechargeStatistics_result getResult(I iface, getRechargeStatistics_args args) throws org.apache.thrift.TException {
        getRechargeStatistics_result result = new getRechargeStatistics_result();
        result.success = iface.getRechargeStatistics();
        return result;
      }
    }

    private static class getRechargeOrdersForStatus<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getRechargeOrdersForStatus_args> {
      public getRechargeOrdersForStatus() {
        super("getRechargeOrdersForStatus");
      }

      protected getRechargeOrdersForStatus_args getEmptyArgsInstance() {
        return new getRechargeOrdersForStatus_args();
      }

      protected getRechargeOrdersForStatus_result getResult(I iface, getRechargeOrdersForStatus_args args) throws org.apache.thrift.TException {
        getRechargeOrdersForStatus_result result = new getRechargeOrdersForStatus_result();
        result.success = iface.getRechargeOrdersForStatus(args.status);
        return result;
      }
    }

    private static class getPlansForOperator<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getPlansForOperator_args> {
      public getPlansForOperator() {
        super("getPlansForOperator");
      }

      protected getPlansForOperator_args getEmptyArgsInstance() {
        return new getPlansForOperator_args();
      }

      protected getPlansForOperator_result getResult(I iface, getPlansForOperator_args args) throws org.apache.thrift.TException {
        getPlansForOperator_result result = new getPlansForOperator_result();
        result.success = iface.getPlansForOperator(args.operatorId);
        return result;
      }
    }

    private static class getRechargeDenominations<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getRechargeDenominations_args> {
      public getRechargeDenominations() {
        super("getRechargeDenominations");
      }

      protected getRechargeDenominations_args getEmptyArgsInstance() {
        return new getRechargeDenominations_args();
      }

      protected getRechargeDenominations_result getResult(I iface, getRechargeDenominations_args args) throws org.apache.thrift.TException {
        getRechargeDenominations_result result = new getRechargeDenominations_result();
        try {
          result.success = iface.getRechargeDenominations(args.operatorId, args.circleCode, args.denominationType);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class updateAvailabilityStatus<I extends Iface> extends org.apache.thrift.ProcessFunction<I, updateAvailabilityStatus_args> {
      public updateAvailabilityStatus() {
        super("updateAvailabilityStatus");
      }

      protected updateAvailabilityStatus_args getEmptyArgsInstance() {
        return new updateAvailabilityStatus_args();
      }

      protected updateAvailabilityStatus_result getResult(I iface, updateAvailabilityStatus_args args) throws org.apache.thrift.TException {
        updateAvailabilityStatus_result result = new updateAvailabilityStatus_result();
        iface.updateAvailabilityStatus(args.operatorId, args.circleId, args.isAvailable);
        return result;
      }
    }

    private static class getAvailableEmiSchemes<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getAvailableEmiSchemes_args> {
      public getAvailableEmiSchemes() {
        super("getAvailableEmiSchemes");
      }

      protected getAvailableEmiSchemes_args getEmptyArgsInstance() {
        return new getAvailableEmiSchemes_args();
      }

      protected getAvailableEmiSchemes_result getResult(I iface, getAvailableEmiSchemes_args args) throws org.apache.thrift.TException {
        getAvailableEmiSchemes_result result = new getAvailableEmiSchemes_result();
        result.success = iface.getAvailableEmiSchemes();
        return result;
      }
    }

    private static class getMiscCharges<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getMiscCharges_args> {
      public getMiscCharges() {
        super("getMiscCharges");
      }

      protected getMiscCharges_args getEmptyArgsInstance() {
        return new getMiscCharges_args();
      }

      protected getMiscCharges_result getResult(I iface, getMiscCharges_args args) throws org.apache.thrift.TException {
        getMiscCharges_result result = new getMiscCharges_result();
        result.success = iface.getMiscCharges(args.transactionId);
        return result;
      }
    }

    private static class refundRechargeOrder<I extends Iface> extends org.apache.thrift.ProcessFunction<I, refundRechargeOrder_args> {
      public refundRechargeOrder() {
        super("refundRechargeOrder");
      }

      protected refundRechargeOrder_args getEmptyArgsInstance() {
        return new refundRechargeOrder_args();
      }

      protected refundRechargeOrder_result getResult(I iface, refundRechargeOrder_args args) throws org.apache.thrift.TException {
        refundRechargeOrder_result result = new refundRechargeOrder_result();
        try {
          result.success = iface.refundRechargeOrder(args.rechargeOrderId);
          result.setSuccessIsSet(true);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class getPhysicalOrders<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getPhysicalOrders_args> {
      public getPhysicalOrders() {
        super("getPhysicalOrders");
      }

      protected getPhysicalOrders_args getEmptyArgsInstance() {
        return new getPhysicalOrders_args();
      }

      protected getPhysicalOrders_result getResult(I iface, getPhysicalOrders_args args) throws org.apache.thrift.TException {
        getPhysicalOrders_result result = new getPhysicalOrders_result();
        result.success = iface.getPhysicalOrders(args.fromDate, args.toDate);
        return result;
      }
    }

    private static class getDocument<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getDocument_args> {
      public getDocument() {
        super("getDocument");
      }

      protected getDocument_args getEmptyArgsInstance() {
        return new getDocument_args();
      }

      protected getDocument_result getResult(I iface, getDocument_args args) throws org.apache.thrift.TException {
        getDocument_result result = new getDocument_result();
        result.success = iface.getDocument(args.docType, args.docSource);
        return result;
      }
    }

    private static class changeShippingAddress<I extends Iface> extends org.apache.thrift.ProcessFunction<I, changeShippingAddress_args> {
      public changeShippingAddress() {
        super("changeShippingAddress");
      }

      protected changeShippingAddress_args getEmptyArgsInstance() {
        return new changeShippingAddress_args();
      }

      protected changeShippingAddress_result getResult(I iface, changeShippingAddress_args args) throws org.apache.thrift.TException {
        changeShippingAddress_result result = new changeShippingAddress_result();
        result.success = iface.changeShippingAddress(args.orderId, args.line1, args.line2, args.city, args.state, args.pin);
        result.setSuccessIsSet(true);
        return result;
      }
    }

    private static class retrieveInvoice<I extends Iface> extends org.apache.thrift.ProcessFunction<I, retrieveInvoice_args> {
      public retrieveInvoice() {
        super("retrieveInvoice");
      }

      protected retrieveInvoice_args getEmptyArgsInstance() {
        return new retrieveInvoice_args();
      }

      protected retrieveInvoice_result getResult(I iface, retrieveInvoice_args args) throws org.apache.thrift.TException {
        retrieveInvoice_result result = new retrieveInvoice_result();
        result.success = iface.retrieveInvoice(args.orderId, args.userId);
        return result;
      }
    }

    private static class receiveUpdatesForRedExpress<I extends Iface> extends org.apache.thrift.ProcessFunction<I, receiveUpdatesForRedExpress_args> {
      public receiveUpdatesForRedExpress() {
        super("receiveUpdatesForRedExpress");
      }

      protected receiveUpdatesForRedExpress_args getEmptyArgsInstance() {
        return new receiveUpdatesForRedExpress_args();
      }

      protected receiveUpdatesForRedExpress_result getResult(I iface, receiveUpdatesForRedExpress_args args) throws org.apache.thrift.TException {
        receiveUpdatesForRedExpress_result result = new receiveUpdatesForRedExpress_result();
        result.success = iface.receiveUpdatesForRedExpress(args.awbNumber);
        return result;
      }
    }

    private static class createRechargeTransaction<I extends Iface> extends org.apache.thrift.ProcessFunction<I, createRechargeTransaction_args> {
      public createRechargeTransaction() {
        super("createRechargeTransaction");
      }

      protected createRechargeTransaction_args getEmptyArgsInstance() {
        return new createRechargeTransaction_args();
      }

      protected createRechargeTransaction_result getResult(I iface, createRechargeTransaction_args args) throws org.apache.thrift.TException {
        createRechargeTransaction_result result = new createRechargeTransaction_result();
        result.success = iface.createRechargeTransaction(args.thriftRechargeTransaction);
        return result;
      }
    }

    private static class getRechargeTransactions<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getRechargeTransactions_args> {
      public getRechargeTransactions() {
        super("getRechargeTransactions");
      }

      protected getRechargeTransactions_args getEmptyArgsInstance() {
        return new getRechargeTransactions_args();
      }

      protected getRechargeTransactions_result getResult(I iface, getRechargeTransactions_args args) throws org.apache.thrift.TException {
        getRechargeTransactions_result result = new getRechargeTransactions_result();
        result.success = iface.getRechargeTransactions(args.storeId);
        return result;
      }
    }

    private static class getRechargeTrans<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getRechargeTrans_args> {
      public getRechargeTrans() {
        super("getRechargeTrans");
      }

      protected getRechargeTrans_args getEmptyArgsInstance() {
        return new getRechargeTrans_args();
      }

      protected getRechargeTrans_result getResult(I iface, getRechargeTrans_args args) throws org.apache.thrift.TException {
        getRechargeTrans_result result = new getRechargeTrans_result();
        result.success = iface.getRechargeTrans(args.storeId, args.startDate, args.endDate, args.status);
        return result;
      }
    }

    private static class getRechargeTransaction<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getRechargeTransaction_args> {
      public getRechargeTransaction() {
        super("getRechargeTransaction");
      }

      protected getRechargeTransaction_args getEmptyArgsInstance() {
        return new getRechargeTransaction_args();
      }

      protected getRechargeTransaction_result getResult(I iface, getRechargeTransaction_args args) throws org.apache.thrift.TException {
        getRechargeTransaction_result result = new getRechargeTransaction_result();
        result.success = iface.getRechargeTransaction(args.rechargeId);
        return result;
      }
    }

    private static class getFRCs<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getFRCs_args> {
      public getFRCs() {
        super("getFRCs");
      }

      protected getFRCs_args getEmptyArgsInstance() {
        return new getFRCs_args();
      }

      protected getFRCs_result getResult(I iface, getFRCs_args args) throws org.apache.thrift.TException {
        getFRCs_result result = new getFRCs_result();
        result.success = iface.getFRCs(args.circleId, args.operatorId);
        return result;
      }
    }

    private static class getHotspotStore<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getHotspotStore_args> {
      public getHotspotStore() {
        super("getHotspotStore");
      }

      protected getHotspotStore_args getEmptyArgsInstance() {
        return new getHotspotStore_args();
      }

      protected getHotspotStore_result getResult(I iface, getHotspotStore_args args) throws org.apache.thrift.TException {
        getHotspotStore_result result = new getHotspotStore_result();
        result.success = iface.getHotspotStore(args.id, args.hotspotid);
        return result;
      }
    }

    private static class getTelecomCircle<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getTelecomCircle_args> {
      public getTelecomCircle() {
        super("getTelecomCircle");
      }

      protected getTelecomCircle_args getEmptyArgsInstance() {
        return new getTelecomCircle_args();
      }

      protected getTelecomCircle_result getResult(I iface, getTelecomCircle_args args) throws org.apache.thrift.TException {
        getTelecomCircle_result result = new getTelecomCircle_result();
        result.success = iface.getTelecomCircle(args.id, args.code);
        return result;
      }
    }

    private static class retrieveHotspotRechargeInvoice<I extends Iface> extends org.apache.thrift.ProcessFunction<I, retrieveHotspotRechargeInvoice_args> {
      public retrieveHotspotRechargeInvoice() {
        super("retrieveHotspotRechargeInvoice");
      }

      protected retrieveHotspotRechargeInvoice_args getEmptyArgsInstance() {
        return new retrieveHotspotRechargeInvoice_args();
      }

      protected retrieveHotspotRechargeInvoice_result getResult(I iface, retrieveHotspotRechargeInvoice_args args) throws org.apache.thrift.TException {
        retrieveHotspotRechargeInvoice_result result = new retrieveHotspotRechargeInvoice_result();
        result.success = iface.retrieveHotspotRechargeInvoice(args.rechargeId);
        return result;
      }
    }

    private static class splitFreebieOrder<I extends Iface> extends org.apache.thrift.ProcessFunction<I, splitFreebieOrder_args> {
      public splitFreebieOrder() {
        super("splitFreebieOrder");
      }

      protected splitFreebieOrder_args getEmptyArgsInstance() {
        return new splitFreebieOrder_args();
      }

      protected splitFreebieOrder_result getResult(I iface, splitFreebieOrder_args args) throws org.apache.thrift.TException {
        splitFreebieOrder_result result = new splitFreebieOrder_result();
        result.success = iface.splitFreebieOrder(args.orderId, args.splitReason, args.shippingDate);
        return result;
      }
    }

    private static class getRechargeTransactionsByNumber<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getRechargeTransactionsByNumber_args> {
      public getRechargeTransactionsByNumber() {
        super("getRechargeTransactionsByNumber");
      }

      protected getRechargeTransactionsByNumber_args getEmptyArgsInstance() {
        return new getRechargeTransactionsByNumber_args();
      }

      protected getRechargeTransactionsByNumber_result getResult(I iface, getRechargeTransactionsByNumber_args args) throws org.apache.thrift.TException {
        getRechargeTransactionsByNumber_result result = new getRechargeTransactionsByNumber_result();
        result.success = iface.getRechargeTransactionsByNumber(args.number, args.storeId);
        return result;
      }
    }

    private static class updateHotspotStorePassword<I extends Iface> extends org.apache.thrift.ProcessFunction<I, updateHotspotStorePassword_args> {
      public updateHotspotStorePassword() {
        super("updateHotspotStorePassword");
      }

      protected updateHotspotStorePassword_args getEmptyArgsInstance() {
        return new updateHotspotStorePassword_args();
      }

      protected updateHotspotStorePassword_result getResult(I iface, updateHotspotStorePassword_args args) throws org.apache.thrift.TException {
        updateHotspotStorePassword_result result = new updateHotspotStorePassword_result();
        result.success = iface.updateHotspotStorePassword(args.storeId, args.password);
        result.setSuccessIsSet(true);
        return result;
      }
    }

    private static class topupCompanyWallet<I extends Iface> extends org.apache.thrift.ProcessFunction<I, topupCompanyWallet_args> {
      public topupCompanyWallet() {
        super("topupCompanyWallet");
      }

      protected topupCompanyWallet_args getEmptyArgsInstance() {
        return new topupCompanyWallet_args();
      }

      protected topupCompanyWallet_result getResult(I iface, topupCompanyWallet_args args) throws org.apache.thrift.TException {
        topupCompanyWallet_result result = new topupCompanyWallet_result();
        result.success = iface.topupCompanyWallet(args.companyId, args.amount);
        result.setSuccessIsSet(true);
        return result;
      }
    }

    private static class getWalletBalanceForCompany<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getWalletBalanceForCompany_args> {
      public getWalletBalanceForCompany() {
        super("getWalletBalanceForCompany");
      }

      protected getWalletBalanceForCompany_args getEmptyArgsInstance() {
        return new getWalletBalanceForCompany_args();
      }

      protected getWalletBalanceForCompany_result getResult(I iface, getWalletBalanceForCompany_args args) throws org.apache.thrift.TException {
        getWalletBalanceForCompany_result result = new getWalletBalanceForCompany_result();
        result.success = iface.getWalletBalanceForCompany(args.companyId);
        result.setSuccessIsSet(true);
        return result;
      }
    }

    private static class getSaholicRechargeBalance<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getSaholicRechargeBalance_args> {
      public getSaholicRechargeBalance() {
        super("getSaholicRechargeBalance");
      }

      protected getSaholicRechargeBalance_args getEmptyArgsInstance() {
        return new getSaholicRechargeBalance_args();
      }

      protected getSaholicRechargeBalance_result getResult(I iface, getSaholicRechargeBalance_args args) throws org.apache.thrift.TException {
        getSaholicRechargeBalance_result result = new getSaholicRechargeBalance_result();
        result.success = iface.getSaholicRechargeBalance();
        result.setSuccessIsSet(true);
        return result;
      }
    }

    private static class getSourceDetail<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getSourceDetail_args> {
      public getSourceDetail() {
        super("getSourceDetail");
      }

      protected getSourceDetail_args getEmptyArgsInstance() {
        return new getSourceDetail_args();
      }

      protected getSourceDetail_result getResult(I iface, getSourceDetail_args args) throws org.apache.thrift.TException {
        getSourceDetail_result result = new getSourceDetail_result();
        result.success = iface.getSourceDetail(args.source);
        return result;
      }
    }

    private static class getAllCircles<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getAllCircles_args> {
      public getAllCircles() {
        super("getAllCircles");
      }

      protected getAllCircles_args getEmptyArgsInstance() {
        return new getAllCircles_args();
      }

      protected getAllCircles_result getResult(I iface, getAllCircles_args args) throws org.apache.thrift.TException {
        getAllCircles_result result = new getAllCircles_result();
        result.success = iface.getAllCircles();
        return result;
      }
    }

    private static class deleteFrcs<I extends Iface> extends org.apache.thrift.ProcessFunction<I, deleteFrcs_args> {
      public deleteFrcs() {
        super("deleteFrcs");
      }

      protected deleteFrcs_args getEmptyArgsInstance() {
        return new deleteFrcs_args();
      }

      protected deleteFrcs_result getResult(I iface, deleteFrcs_args args) throws org.apache.thrift.TException {
        deleteFrcs_result result = new deleteFrcs_result();
        result.success = iface.deleteFrcs(args.frcIdsToDelete);
        result.setSuccessIsSet(true);
        return result;
      }
    }

    private static class addAmazonOrder<I extends Iface> extends org.apache.thrift.ProcessFunction<I, addAmazonOrder_args> {
      public addAmazonOrder() {
        super("addAmazonOrder");
      }

      protected addAmazonOrder_args getEmptyArgsInstance() {
        return new addAmazonOrder_args();
      }

      protected addAmazonOrder_result getResult(I iface, addAmazonOrder_args args) throws org.apache.thrift.TException {
        addAmazonOrder_result result = new addAmazonOrder_result();
        iface.addAmazonOrder(args.amazonOrder);
        return result;
      }
    }

    private static class updateAmazonOrderStatus<I extends Iface> extends org.apache.thrift.ProcessFunction<I, updateAmazonOrderStatus_args> {
      public updateAmazonOrderStatus() {
        super("updateAmazonOrderStatus");
      }

      protected updateAmazonOrderStatus_args getEmptyArgsInstance() {
        return new updateAmazonOrderStatus_args();
      }

      protected updateAmazonOrderStatus_result getResult(I iface, updateAmazonOrderStatus_args args) throws org.apache.thrift.TException {
        updateAmazonOrderStatus_result result = new updateAmazonOrderStatus_result();
        result.success = iface.updateAmazonOrderStatus(args.orderId, args.status);
        result.setSuccessIsSet(true);
        return result;
      }
    }

    private static class getAmazonOrdersShipped<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getAmazonOrdersShipped_args> {
      public getAmazonOrdersShipped() {
        super("getAmazonOrdersShipped");
      }

      protected getAmazonOrdersShipped_args getEmptyArgsInstance() {
        return new getAmazonOrdersShipped_args();
      }

      protected getAmazonOrdersShipped_result getResult(I iface, getAmazonOrdersShipped_args args) throws org.apache.thrift.TException {
        getAmazonOrdersShipped_result result = new getAmazonOrdersShipped_result();
        result.success = iface.getAmazonOrdersShipped();
        return result;
      }
    }

    private static class getAmazonOrdersCancelled<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getAmazonOrdersCancelled_args> {
      public getAmazonOrdersCancelled() {
        super("getAmazonOrdersCancelled");
      }

      protected getAmazonOrdersCancelled_args getEmptyArgsInstance() {
        return new getAmazonOrdersCancelled_args();
      }

      protected getAmazonOrdersCancelled_result getResult(I iface, getAmazonOrdersCancelled_args args) throws org.apache.thrift.TException {
        getAmazonOrdersCancelled_result result = new getAmazonOrdersCancelled_result();
        result.success = iface.getAmazonOrdersCancelled(args.interval);
        return result;
      }
    }

    private static class getAmazonOrder<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getAmazonOrder_args> {
      public getAmazonOrder() {
        super("getAmazonOrder");
      }

      protected getAmazonOrder_args getEmptyArgsInstance() {
        return new getAmazonOrder_args();
      }

      protected getAmazonOrder_result getResult(I iface, getAmazonOrder_args args) throws org.apache.thrift.TException {
        getAmazonOrder_result result = new getAmazonOrder_result();
        result.success = iface.getAmazonOrder(args.orderId);
        return result;
      }
    }

    private static class getAmazonOrderByAmazonOrderId<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getAmazonOrderByAmazonOrderId_args> {
      public getAmazonOrderByAmazonOrderId() {
        super("getAmazonOrderByAmazonOrderId");
      }

      protected getAmazonOrderByAmazonOrderId_args getEmptyArgsInstance() {
        return new getAmazonOrderByAmazonOrderId_args();
      }

      protected getAmazonOrderByAmazonOrderId_result getResult(I iface, getAmazonOrderByAmazonOrderId_args args) throws org.apache.thrift.TException {
        getAmazonOrderByAmazonOrderId_result result = new getAmazonOrderByAmazonOrderId_result();
        result.success = iface.getAmazonOrderByAmazonOrderId(args.amazonOrderId);
        return result;
      }
    }

    private static class getOrdersForStore<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getOrdersForStore_args> {
      public getOrdersForStore() {
        super("getOrdersForStore");
      }

      protected getOrdersForStore_args getEmptyArgsInstance() {
        return new getOrdersForStore_args();
      }

      protected getOrdersForStore_result getResult(I iface, getOrdersForStore_args args) throws org.apache.thrift.TException {
        getOrdersForStore_result result = new getOrdersForStore_result();
        result.success = iface.getOrdersForStore(args.id, args.storeId, args.startDate, args.endDate, args.statuses);
        return result;
      }
    }

    private static class getStoreOrderAdvanceInvoice<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getStoreOrderAdvanceInvoice_args> {
      public getStoreOrderAdvanceInvoice() {
        super("getStoreOrderAdvanceInvoice");
      }

      protected getStoreOrderAdvanceInvoice_args getEmptyArgsInstance() {
        return new getStoreOrderAdvanceInvoice_args();
      }

      protected getStoreOrderAdvanceInvoice_result getResult(I iface, getStoreOrderAdvanceInvoice_args args) throws org.apache.thrift.TException {
        getStoreOrderAdvanceInvoice_result result = new getStoreOrderAdvanceInvoice_result();
        result.success = iface.getStoreOrderAdvanceInvoice(args.orderId, args.storeId);
        return result;
      }
    }

    private static class addFrc<I extends Iface> extends org.apache.thrift.ProcessFunction<I, addFrc_args> {
      public addFrc() {
        super("addFrc");
      }

      protected addFrc_args getEmptyArgsInstance() {
        return new addFrc_args();
      }

      protected addFrc_result getResult(I iface, addFrc_args args) throws org.apache.thrift.TException {
        addFrc_result result = new addFrc_result();
        result.success = iface.addFrc(args.circleId, args.operatorId, args.denomination, args.maxDiscount);
        result.setSuccessIsSet(true);
        return result;
      }
    }

    private static class addSeries<I extends Iface> extends org.apache.thrift.ProcessFunction<I, addSeries_args> {
      public addSeries() {
        super("addSeries");
      }

      protected addSeries_args getEmptyArgsInstance() {
        return new addSeries_args();
      }

      protected addSeries_result getResult(I iface, addSeries_args args) throws org.apache.thrift.TException {
        addSeries_result result = new addSeries_result();
        result.success = iface.addSeries(args.circle, args.operatorId, args.series);
        return result;
      }
    }

    private static class saveStoreOrderDetail<I extends Iface> extends org.apache.thrift.ProcessFunction<I, saveStoreOrderDetail_args> {
      public saveStoreOrderDetail() {
        super("saveStoreOrderDetail");
      }

      protected saveStoreOrderDetail_args getEmptyArgsInstance() {
        return new saveStoreOrderDetail_args();
      }

      protected saveStoreOrderDetail_result getResult(I iface, saveStoreOrderDetail_args args) throws org.apache.thrift.TException {
        saveStoreOrderDetail_result result = new saveStoreOrderDetail_result();
        result.success = iface.saveStoreOrderDetail(args.storeOrderDetail);
        result.setSuccessIsSet(true);
        return result;
      }
    }

    private static class getStoreOrderDetail<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getStoreOrderDetail_args> {
      public getStoreOrderDetail() {
        super("getStoreOrderDetail");
      }

      protected getStoreOrderDetail_args getEmptyArgsInstance() {
        return new getStoreOrderDetail_args();
      }

      protected getStoreOrderDetail_result getResult(I iface, getStoreOrderDetail_args args) throws org.apache.thrift.TException {
        getStoreOrderDetail_result result = new getStoreOrderDetail_result();
        result.success = iface.getStoreOrderDetail(args.orderId, args.storeId);
        return result;
      }
    }

    private static class getAllEdcBanks<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getAllEdcBanks_args> {
      public getAllEdcBanks() {
        super("getAllEdcBanks");
      }

      protected getAllEdcBanks_args getEmptyArgsInstance() {
        return new getAllEdcBanks_args();
      }

      protected getAllEdcBanks_result getResult(I iface, getAllEdcBanks_args args) throws org.apache.thrift.TException {
        getAllEdcBanks_result result = new getAllEdcBanks_result();
        result.success = iface.getAllEdcBanks();
        return result;
      }
    }

    private static class saveRefundAmountsForStoreOrder<I extends Iface> extends org.apache.thrift.ProcessFunction<I, saveRefundAmountsForStoreOrder_args> {
      public saveRefundAmountsForStoreOrder() {
        super("saveRefundAmountsForStoreOrder");
      }

      protected saveRefundAmountsForStoreOrder_args getEmptyArgsInstance() {
        return new saveRefundAmountsForStoreOrder_args();
      }

      protected saveRefundAmountsForStoreOrder_result getResult(I iface, saveRefundAmountsForStoreOrder_args args) throws org.apache.thrift.TException {
        saveRefundAmountsForStoreOrder_result result = new saveRefundAmountsForStoreOrder_result();
        result.success = iface.saveRefundAmountsForStoreOrder(args.orderId, args.storeId, args.cashRefundAmount, args.cardRefundAmount);
        result.setSuccessIsSet(true);
        return result;
      }
    }

    private static class getCollectionsForStore<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getCollectionsForStore_args> {
      public getCollectionsForStore() {
        super("getCollectionsForStore");
      }

      protected getCollectionsForStore_args getEmptyArgsInstance() {
        return new getCollectionsForStore_args();
      }

      protected getCollectionsForStore_result getResult(I iface, getCollectionsForStore_args args) throws org.apache.thrift.TException {
        getCollectionsForStore_result result = new getCollectionsForStore_result();
        result.success = iface.getCollectionsForStore(args.storeId, args.startDate, args.endDate);
        return result;
      }
    }

    private static class getAmazonOrdersToAcknowledge<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getAmazonOrdersToAcknowledge_args> {
      public getAmazonOrdersToAcknowledge() {
        super("getAmazonOrdersToAcknowledge");
      }

      protected getAmazonOrdersToAcknowledge_args getEmptyArgsInstance() {
        return new getAmazonOrdersToAcknowledge_args();
      }

      protected getAmazonOrdersToAcknowledge_result getResult(I iface, getAmazonOrdersToAcknowledge_args args) throws org.apache.thrift.TException {
        getAmazonOrdersToAcknowledge_result result = new getAmazonOrdersToAcknowledge_result();
        result.success = iface.getAmazonOrdersToAcknowledge(args.source);
        return result;
      }
    }

    private static class changeAmazonOrderStatus<I extends Iface> extends org.apache.thrift.ProcessFunction<I, changeAmazonOrderStatus_args> {
      public changeAmazonOrderStatus() {
        super("changeAmazonOrderStatus");
      }

      protected changeAmazonOrderStatus_args getEmptyArgsInstance() {
        return new changeAmazonOrderStatus_args();
      }

      protected changeAmazonOrderStatus_result getResult(I iface, changeAmazonOrderStatus_args args) throws org.apache.thrift.TException {
        changeAmazonOrderStatus_result result = new changeAmazonOrderStatus_result();
        iface.changeAmazonOrderStatus(args.amazonOrderCode, args.status);
        return result;
      }
    }

    private static class updateTimestampForAmazonOrder<I extends Iface> extends org.apache.thrift.ProcessFunction<I, updateTimestampForAmazonOrder_args> {
      public updateTimestampForAmazonOrder() {
        super("updateTimestampForAmazonOrder");
      }

      protected updateTimestampForAmazonOrder_args getEmptyArgsInstance() {
        return new updateTimestampForAmazonOrder_args();
      }

      protected updateTimestampForAmazonOrder_result getResult(I iface, updateTimestampForAmazonOrder_args args) throws org.apache.thrift.TException {
        updateTimestampForAmazonOrder_result result = new updateTimestampForAmazonOrder_result();
        result.success = iface.updateTimestampForAmazonOrder(args.amazonOrderDelivery);
        result.setSuccessIsSet(true);
        return result;
      }
    }

    private static class updateSourceDetailTimestamp<I extends Iface> extends org.apache.thrift.ProcessFunction<I, updateSourceDetailTimestamp_args> {
      public updateSourceDetailTimestamp() {
        super("updateSourceDetailTimestamp");
      }

      protected updateSourceDetailTimestamp_args getEmptyArgsInstance() {
        return new updateSourceDetailTimestamp_args();
      }

      protected updateSourceDetailTimestamp_result getResult(I iface, updateSourceDetailTimestamp_args args) throws org.apache.thrift.TException {
        updateSourceDetailTimestamp_result result = new updateSourceDetailTimestamp_result();
        result.success = iface.updateSourceDetailTimestamp(args.id, args.lastUpdatedOn);
        result.setSuccessIsSet(true);
        return result;
      }
    }

    private static class getOrdersByMobileNumber<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getOrdersByMobileNumber_args> {
      public getOrdersByMobileNumber() {
        super("getOrdersByMobileNumber");
      }

      protected getOrdersByMobileNumber_args getEmptyArgsInstance() {
        return new getOrdersByMobileNumber_args();
      }

      protected getOrdersByMobileNumber_result getResult(I iface, getOrdersByMobileNumber_args args) throws org.apache.thrift.TException {
        getOrdersByMobileNumber_result result = new getOrdersByMobileNumber_result();
        result.success = iface.getOrdersByMobileNumber(args.mobileNumber);
        return result;
      }
    }

    private static class getOrdersByAmazonOrderCode<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getOrdersByAmazonOrderCode_args> {
      public getOrdersByAmazonOrderCode() {
        super("getOrdersByAmazonOrderCode");
      }

      protected getOrdersByAmazonOrderCode_args getEmptyArgsInstance() {
        return new getOrdersByAmazonOrderCode_args();
      }

      protected getOrdersByAmazonOrderCode_result getResult(I iface, getOrdersByAmazonOrderCode_args args) throws org.apache.thrift.TException {
        getOrdersByAmazonOrderCode_result result = new getOrdersByAmazonOrderCode_result();
        result.success = iface.getOrdersByAmazonOrderCode(args.amazonId);
        return result;
      }
    }

    private static class convertStoreToNormal<I extends Iface> extends org.apache.thrift.ProcessFunction<I, convertStoreToNormal_args> {
      public convertStoreToNormal() {
        super("convertStoreToNormal");
      }

      protected convertStoreToNormal_args getEmptyArgsInstance() {
        return new convertStoreToNormal_args();
      }

      protected convertStoreToNormal_result getResult(I iface, convertStoreToNormal_args args) throws org.apache.thrift.TException {
        convertStoreToNormal_result result = new convertStoreToNormal_result();
        result.success = iface.convertStoreToNormal(args.orderId);
        result.setSuccessIsSet(true);
        return result;
      }
    }

    private static class updateFreebieItem<I extends Iface> extends org.apache.thrift.ProcessFunction<I, updateFreebieItem_args> {
      public updateFreebieItem() {
        super("updateFreebieItem");
      }

      protected updateFreebieItem_args getEmptyArgsInstance() {
        return new updateFreebieItem_args();
      }

      protected updateFreebieItem_result getResult(I iface, updateFreebieItem_args args) throws org.apache.thrift.TException {
        updateFreebieItem_result result = new updateFreebieItem_result();
        result.success = iface.updateFreebieItem(args.orderId, args.newFreebieItemId);
        return result;
      }
    }

    private static class getHotspotServiceMatrices<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getHotspotServiceMatrices_args> {
      public getHotspotServiceMatrices() {
        super("getHotspotServiceMatrices");
      }

      protected getHotspotServiceMatrices_args getEmptyArgsInstance() {
        return new getHotspotServiceMatrices_args();
      }

      protected getHotspotServiceMatrices_result getResult(I iface, getHotspotServiceMatrices_args args) throws org.apache.thrift.TException {
        getHotspotServiceMatrices_result result = new getHotspotServiceMatrices_result();
        result.success = iface.getHotspotServiceMatrices();
        return result;
      }
    }

    private static class updateOrderAWB<I extends Iface> extends org.apache.thrift.ProcessFunction<I, updateOrderAWB_args> {
      public updateOrderAWB() {
        super("updateOrderAWB");
      }

      protected updateOrderAWB_args getEmptyArgsInstance() {
        return new updateOrderAWB_args();
      }

      protected updateOrderAWB_result getResult(I iface, updateOrderAWB_args args) throws org.apache.thrift.TException {
        updateOrderAWB_result result = new updateOrderAWB_result();
        result.success = iface.updateOrderAWB(args.orderId, args.airwayBillNo);
        return result;
      }
    }

    private static class getOrdersByVendor<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getOrdersByVendor_args> {
      public getOrdersByVendor() {
        super("getOrdersByVendor");
      }

      protected getOrdersByVendor_args getEmptyArgsInstance() {
        return new getOrdersByVendor_args();
      }

      protected getOrdersByVendor_result getResult(I iface, getOrdersByVendor_args args) throws org.apache.thrift.TException {
        getOrdersByVendor_result result = new getOrdersByVendor_result();
        try {
          result.success = iface.getOrdersByVendor(args.vendors, args.statuses);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class createEbayOrder<I extends Iface> extends org.apache.thrift.ProcessFunction<I, createEbayOrder_args> {
      public createEbayOrder() {
        super("createEbayOrder");
      }

      protected createEbayOrder_args getEmptyArgsInstance() {
        return new createEbayOrder_args();
      }

      protected createEbayOrder_result getResult(I iface, createEbayOrder_args args) throws org.apache.thrift.TException {
        createEbayOrder_result result = new createEbayOrder_result();
        iface.createEbayOrder(args.ebayOrder);
        return result;
      }
    }

    private static class getEbayOrderByOrderId<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getEbayOrderByOrderId_args> {
      public getEbayOrderByOrderId() {
        super("getEbayOrderByOrderId");
      }

      protected getEbayOrderByOrderId_args getEmptyArgsInstance() {
        return new getEbayOrderByOrderId_args();
      }

      protected getEbayOrderByOrderId_result getResult(I iface, getEbayOrderByOrderId_args args) throws org.apache.thrift.TException {
        getEbayOrderByOrderId_result result = new getEbayOrderByOrderId_result();
        result.success = iface.getEbayOrderByOrderId(args.orderId);
        return result;
      }
    }

    private static class getEbayOrderBySalesRecNumber<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getEbayOrderBySalesRecNumber_args> {
      public getEbayOrderBySalesRecNumber() {
        super("getEbayOrderBySalesRecNumber");
      }

      protected getEbayOrderBySalesRecNumber_args getEmptyArgsInstance() {
        return new getEbayOrderBySalesRecNumber_args();
      }

      protected getEbayOrderBySalesRecNumber_result getResult(I iface, getEbayOrderBySalesRecNumber_args args) throws org.apache.thrift.TException {
        getEbayOrderBySalesRecNumber_result result = new getEbayOrderBySalesRecNumber_result();
        result.success = iface.getEbayOrderBySalesRecNumber(args.salesRecordNumber);
        return result;
      }
    }

    private static class getEbayOrder<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getEbayOrder_args> {
      public getEbayOrder() {
        super("getEbayOrder");
      }

      protected getEbayOrder_args getEmptyArgsInstance() {
        return new getEbayOrder_args();
      }

      protected getEbayOrder_result getResult(I iface, getEbayOrder_args args) throws org.apache.thrift.TException {
        getEbayOrder_result result = new getEbayOrder_result();
        result.success = iface.getEbayOrder(args.salesRecordNumber, args.listingId, args.paisapayId);
        return result;
      }
    }

    private static class updateEbayOrder<I extends Iface> extends org.apache.thrift.ProcessFunction<I, updateEbayOrder_args> {
      public updateEbayOrder() {
        super("updateEbayOrder");
      }

      protected updateEbayOrder_args getEmptyArgsInstance() {
        return new updateEbayOrder_args();
      }

      protected updateEbayOrder_result getResult(I iface, updateEbayOrder_args args) throws org.apache.thrift.TException {
        updateEbayOrder_result result = new updateEbayOrder_result();
        iface.updateEbayOrder(args.ebayOrder);
        return result;
      }
    }

    private static class ebayOrderExists<I extends Iface> extends org.apache.thrift.ProcessFunction<I, ebayOrderExists_args> {
      public ebayOrderExists() {
        super("ebayOrderExists");
      }

      protected ebayOrderExists_args getEmptyArgsInstance() {
        return new ebayOrderExists_args();
      }

      protected ebayOrderExists_result getResult(I iface, ebayOrderExists_args args) throws org.apache.thrift.TException {
        ebayOrderExists_result result = new ebayOrderExists_result();
        result.success = iface.ebayOrderExists(args.salesRecNumber, args.ebayListingId);
        result.setSuccessIsSet(true);
        return result;
      }
    }

    private static class updateOrderForEbay<I extends Iface> extends org.apache.thrift.ProcessFunction<I, updateOrderForEbay_args> {
      public updateOrderForEbay() {
        super("updateOrderForEbay");
      }

      protected updateOrderForEbay_args getEmptyArgsInstance() {
        return new updateOrderForEbay_args();
      }

      protected updateOrderForEbay_result getResult(I iface, updateOrderForEbay_args args) throws org.apache.thrift.TException {
        updateOrderForEbay_result result = new updateOrderForEbay_result();
        iface.updateOrderForEbay(args.order);
        return result;
      }
    }

    private static class splitEbayOrder<I extends Iface> extends org.apache.thrift.ProcessFunction<I, splitEbayOrder_args> {
      public splitEbayOrder() {
        super("splitEbayOrder");
      }

      protected splitEbayOrder_args getEmptyArgsInstance() {
        return new splitEbayOrder_args();
      }

      protected splitEbayOrder_result getResult(I iface, splitEbayOrder_args args) throws org.apache.thrift.TException {
        splitEbayOrder_result result = new splitEbayOrder_result();
        result.success = iface.splitEbayOrder(args.orderId, args.splitOrderQty, args.splitOrderItemId, args.usePowerShip);
        return result;
      }
    }

    private static class addOrUpdateAmazonFbaSalesSnapshot<I extends Iface> extends org.apache.thrift.ProcessFunction<I, addOrUpdateAmazonFbaSalesSnapshot_args> {
      public addOrUpdateAmazonFbaSalesSnapshot() {
        super("addOrUpdateAmazonFbaSalesSnapshot");
      }

      protected addOrUpdateAmazonFbaSalesSnapshot_args getEmptyArgsInstance() {
        return new addOrUpdateAmazonFbaSalesSnapshot_args();
      }

      protected addOrUpdateAmazonFbaSalesSnapshot_result getResult(I iface, addOrUpdateAmazonFbaSalesSnapshot_args args) throws org.apache.thrift.TException {
        addOrUpdateAmazonFbaSalesSnapshot_result result = new addOrUpdateAmazonFbaSalesSnapshot_result();
        iface.addOrUpdateAmazonFbaSalesSnapshot(args.amazonfbasalessnapshot);
        return result;
      }
    }

    private static class getAmazonFbaSalesSnapshotForDays<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getAmazonFbaSalesSnapshotForDays_args> {
      public getAmazonFbaSalesSnapshotForDays() {
        super("getAmazonFbaSalesSnapshotForDays");
      }

      protected getAmazonFbaSalesSnapshotForDays_args getEmptyArgsInstance() {
        return new getAmazonFbaSalesSnapshotForDays_args();
      }

      protected getAmazonFbaSalesSnapshotForDays_result getResult(I iface, getAmazonFbaSalesSnapshotForDays_args args) throws org.apache.thrift.TException {
        getAmazonFbaSalesSnapshotForDays_result result = new getAmazonFbaSalesSnapshotForDays_result();
        result.success = iface.getAmazonFbaSalesSnapshotForDays(args.days);
        return result;
      }
    }

    private static class getAmazonFbaSalesLatestSnapshotForItem<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getAmazonFbaSalesLatestSnapshotForItem_args> {
      public getAmazonFbaSalesLatestSnapshotForItem() {
        super("getAmazonFbaSalesLatestSnapshotForItem");
      }

      protected getAmazonFbaSalesLatestSnapshotForItem_args getEmptyArgsInstance() {
        return new getAmazonFbaSalesLatestSnapshotForItem_args();
      }

      protected getAmazonFbaSalesLatestSnapshotForItem_result getResult(I iface, getAmazonFbaSalesLatestSnapshotForItem_args args) throws org.apache.thrift.TException {
        getAmazonFbaSalesLatestSnapshotForItem_result result = new getAmazonFbaSalesLatestSnapshotForItem_result();
        result.success = iface.getAmazonFbaSalesLatestSnapshotForItem(args.item_id);
        return result;
      }
    }

    private static class createSnapdealOrder<I extends Iface> extends org.apache.thrift.ProcessFunction<I, createSnapdealOrder_args> {
      public createSnapdealOrder() {
        super("createSnapdealOrder");
      }

      protected createSnapdealOrder_args getEmptyArgsInstance() {
        return new createSnapdealOrder_args();
      }

      protected createSnapdealOrder_result getResult(I iface, createSnapdealOrder_args args) throws org.apache.thrift.TException {
        createSnapdealOrder_result result = new createSnapdealOrder_result();
        iface.createSnapdealOrder(args.snapdealOrder);
        return result;
      }
    }

    private static class getSnapdealOrder<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getSnapdealOrder_args> {
      public getSnapdealOrder() {
        super("getSnapdealOrder");
      }

      protected getSnapdealOrder_args getEmptyArgsInstance() {
        return new getSnapdealOrder_args();
      }

      protected getSnapdealOrder_result getResult(I iface, getSnapdealOrder_args args) throws org.apache.thrift.TException {
        getSnapdealOrder_result result = new getSnapdealOrder_result();
        result.success = iface.getSnapdealOrder(args.orderId, args.referenceCode, args.subrderId);
        return result;
      }
    }

    private static class snapdealOrderExists<I extends Iface> extends org.apache.thrift.ProcessFunction<I, snapdealOrderExists_args> {
      public snapdealOrderExists() {
        super("snapdealOrderExists");
      }

      protected snapdealOrderExists_args getEmptyArgsInstance() {
        return new snapdealOrderExists_args();
      }

      protected snapdealOrderExists_result getResult(I iface, snapdealOrderExists_args args) throws org.apache.thrift.TException {
        snapdealOrderExists_result result = new snapdealOrderExists_result();
        result.success = iface.snapdealOrderExists(args.subOrderId, args.referenceCode);
        result.setSuccessIsSet(true);
        return result;
      }
    }

    private static class updateLatestFbaPricesForItem<I extends Iface> extends org.apache.thrift.ProcessFunction<I, updateLatestFbaPricesForItem_args> {
      public updateLatestFbaPricesForItem() {
        super("updateLatestFbaPricesForItem");
      }

      protected updateLatestFbaPricesForItem_args getEmptyArgsInstance() {
        return new updateLatestFbaPricesForItem_args();
      }

      protected updateLatestFbaPricesForItem_result getResult(I iface, updateLatestFbaPricesForItem_args args) throws org.apache.thrift.TException {
        updateLatestFbaPricesForItem_result result = new updateLatestFbaPricesForItem_result();
        iface.updateLatestFbaPricesForItem(args.fbaitemprices);
        return result;
      }
    }

    private static class flipkartOrderExists<I extends Iface> extends org.apache.thrift.ProcessFunction<I, flipkartOrderExists_args> {
      public flipkartOrderExists() {
        super("flipkartOrderExists");
      }

      protected flipkartOrderExists_args getEmptyArgsInstance() {
        return new flipkartOrderExists_args();
      }

      protected flipkartOrderExists_result getResult(I iface, flipkartOrderExists_args args) throws org.apache.thrift.TException {
        flipkartOrderExists_result result = new flipkartOrderExists_result();
        result.success = iface.flipkartOrderExists(args.flipkartOrderId, args.flipkartSubOrderId);
        result.setSuccessIsSet(true);
        return result;
      }
    }

    private static class createFlipkartOrder<I extends Iface> extends org.apache.thrift.ProcessFunction<I, createFlipkartOrder_args> {
      public createFlipkartOrder() {
        super("createFlipkartOrder");
      }

      protected createFlipkartOrder_args getEmptyArgsInstance() {
        return new createFlipkartOrder_args();
      }

      protected createFlipkartOrder_result getResult(I iface, createFlipkartOrder_args args) throws org.apache.thrift.TException {
        createFlipkartOrder_result result = new createFlipkartOrder_result();
        iface.createFlipkartOrder(args.flipkartOrder);
        return result;
      }
    }

    private static class getFlipkartOrder<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getFlipkartOrder_args> {
      public getFlipkartOrder() {
        super("getFlipkartOrder");
      }

      protected getFlipkartOrder_args getEmptyArgsInstance() {
        return new getFlipkartOrder_args();
      }

      protected getFlipkartOrder_result getResult(I iface, getFlipkartOrder_args args) throws org.apache.thrift.TException {
        getFlipkartOrder_result result = new getFlipkartOrder_result();
        result.success = iface.getFlipkartOrder(args.orderId);
        return result;
      }
    }

    private static class getFlipkartOrderByOrderItemId<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getFlipkartOrderByOrderItemId_args> {
      public getFlipkartOrderByOrderItemId() {
        super("getFlipkartOrderByOrderItemId");
      }

      protected getFlipkartOrderByOrderItemId_args getEmptyArgsInstance() {
        return new getFlipkartOrderByOrderItemId_args();
      }

      protected getFlipkartOrderByOrderItemId_result getResult(I iface, getFlipkartOrderByOrderItemId_args args) throws org.apache.thrift.TException {
        getFlipkartOrderByOrderItemId_result result = new getFlipkartOrderByOrderItemId_result();
        result.success = iface.getFlipkartOrderByOrderItemId(args.flipkartOrderItemId);
        return result;
      }
    }

    private static class updateFlipkartOrderDatesAndAWB<I extends Iface> extends org.apache.thrift.ProcessFunction<I, updateFlipkartOrderDatesAndAWB_args> {
      public updateFlipkartOrderDatesAndAWB() {
        super("updateFlipkartOrderDatesAndAWB");
      }

      protected updateFlipkartOrderDatesAndAWB_args getEmptyArgsInstance() {
        return new updateFlipkartOrderDatesAndAWB_args();
      }

      protected updateFlipkartOrderDatesAndAWB_result getResult(I iface, updateFlipkartOrderDatesAndAWB_args args) throws org.apache.thrift.TException {
        updateFlipkartOrderDatesAndAWB_result result = new updateFlipkartOrderDatesAndAWB_result();
        iface.updateFlipkartOrderDatesAndAWB(args.flipkartOrderId, args.flipkartSubOrderId, args.date, args.awb);
        return result;
      }
    }

    private static class getOrdersCreatedAfterTimestampForSource<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getOrdersCreatedAfterTimestampForSource_args> {
      public getOrdersCreatedAfterTimestampForSource() {
        super("getOrdersCreatedAfterTimestampForSource");
      }

      protected getOrdersCreatedAfterTimestampForSource_args getEmptyArgsInstance() {
        return new getOrdersCreatedAfterTimestampForSource_args();
      }

      protected getOrdersCreatedAfterTimestampForSource_result getResult(I iface, getOrdersCreatedAfterTimestampForSource_args args) throws org.apache.thrift.TException {
        getOrdersCreatedAfterTimestampForSource_result result = new getOrdersCreatedAfterTimestampForSource_result();
        result.success = iface.getOrdersCreatedAfterTimestampForSource(args.timestamp, args.source);
        return result;
      }
    }

    private static class getOrderForAirwayBillNo<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getOrderForAirwayBillNo_args> {
      public getOrderForAirwayBillNo() {
        super("getOrderForAirwayBillNo");
      }

      protected getOrderForAirwayBillNo_args getEmptyArgsInstance() {
        return new getOrderForAirwayBillNo_args();
      }

      protected getOrderForAirwayBillNo_result getResult(I iface, getOrderForAirwayBillNo_args args) throws org.apache.thrift.TException {
        getOrderForAirwayBillNo_result result = new getOrderForAirwayBillNo_result();
        try {
          result.success = iface.getOrderForAirwayBillNo(args.airwaybillNo);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class getMinCreatedTimeStampUndeliveredOrdersForSource<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getMinCreatedTimeStampUndeliveredOrdersForSource_args> {
      public getMinCreatedTimeStampUndeliveredOrdersForSource() {
        super("getMinCreatedTimeStampUndeliveredOrdersForSource");
      }

      protected getMinCreatedTimeStampUndeliveredOrdersForSource_args getEmptyArgsInstance() {
        return new getMinCreatedTimeStampUndeliveredOrdersForSource_args();
      }

      protected getMinCreatedTimeStampUndeliveredOrdersForSource_result getResult(I iface, getMinCreatedTimeStampUndeliveredOrdersForSource_args args) throws org.apache.thrift.TException {
        getMinCreatedTimeStampUndeliveredOrdersForSource_result result = new getMinCreatedTimeStampUndeliveredOrdersForSource_result();
        result.success = iface.getMinCreatedTimeStampUndeliveredOrdersForSource(args.source);
        result.setSuccessIsSet(true);
        return result;
      }
    }

    private static class updateSnapdealOrdersStatus<I extends Iface> extends org.apache.thrift.ProcessFunction<I, updateSnapdealOrdersStatus_args> {
      public updateSnapdealOrdersStatus() {
        super("updateSnapdealOrdersStatus");
      }

      protected updateSnapdealOrdersStatus_args getEmptyArgsInstance() {
        return new updateSnapdealOrdersStatus_args();
      }

      protected updateSnapdealOrdersStatus_result getResult(I iface, updateSnapdealOrdersStatus_args args) throws org.apache.thrift.TException {
        updateSnapdealOrdersStatus_result result = new updateSnapdealOrdersStatus_result();
        try {
          iface.updateSnapdealOrdersStatus(args.orders);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class updateFlipkartOrdersStatus<I extends Iface> extends org.apache.thrift.ProcessFunction<I, updateFlipkartOrdersStatus_args> {
      public updateFlipkartOrdersStatus() {
        super("updateFlipkartOrdersStatus");
      }

      protected updateFlipkartOrdersStatus_args getEmptyArgsInstance() {
        return new updateFlipkartOrdersStatus_args();
      }

      protected updateFlipkartOrdersStatus_result getResult(I iface, updateFlipkartOrdersStatus_args args) throws org.apache.thrift.TException {
        updateFlipkartOrdersStatus_result result = new updateFlipkartOrdersStatus_result();
        try {
          iface.updateFlipkartOrdersStatus(args.delivered_orders);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class bulkAddOrUpdateAmazonFbaSalesSnapshot<I extends Iface> extends org.apache.thrift.ProcessFunction<I, bulkAddOrUpdateAmazonFbaSalesSnapshot_args> {
      public bulkAddOrUpdateAmazonFbaSalesSnapshot() {
        super("bulkAddOrUpdateAmazonFbaSalesSnapshot");
      }

      protected bulkAddOrUpdateAmazonFbaSalesSnapshot_args getEmptyArgsInstance() {
        return new bulkAddOrUpdateAmazonFbaSalesSnapshot_args();
      }

      protected bulkAddOrUpdateAmazonFbaSalesSnapshot_result getResult(I iface, bulkAddOrUpdateAmazonFbaSalesSnapshot_args args) throws org.apache.thrift.TException {
        bulkAddOrUpdateAmazonFbaSalesSnapshot_result result = new bulkAddOrUpdateAmazonFbaSalesSnapshot_result();
        iface.bulkAddOrUpdateAmazonFbaSalesSnapshot(args.amazonfbasalessnapshotlist);
        return result;
      }
    }

    private static class getCreatedOrdersForFlipkart<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getCreatedOrdersForFlipkart_args> {
      public getCreatedOrdersForFlipkart() {
        super("getCreatedOrdersForFlipkart");
      }

      protected getCreatedOrdersForFlipkart_args getEmptyArgsInstance() {
        return new getCreatedOrdersForFlipkart_args();
      }

      protected getCreatedOrdersForFlipkart_result getResult(I iface, getCreatedOrdersForFlipkart_args args) throws org.apache.thrift.TException {
        getCreatedOrdersForFlipkart_result result = new getCreatedOrdersForFlipkart_result();
        result.success = iface.getCreatedOrdersForFlipkart(args.flipkartorderids);
        return result;
      }
    }

    private static class isPrivateDealTransaction<I extends Iface> extends org.apache.thrift.ProcessFunction<I, isPrivateDealTransaction_args> {
      public isPrivateDealTransaction() {
        super("isPrivateDealTransaction");
      }

      protected isPrivateDealTransaction_args getEmptyArgsInstance() {
        return new isPrivateDealTransaction_args();
      }

      protected isPrivateDealTransaction_result getResult(I iface, isPrivateDealTransaction_args args) throws org.apache.thrift.TException {
        isPrivateDealTransaction_result result = new isPrivateDealTransaction_result();
        result.success = iface.isPrivateDealTransaction(args.transactionId);
        result.setSuccessIsSet(true);
        return result;
      }
    }

    private static class getAmazonFbaSalesLatestSnapshotForItemLocationWise<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getAmazonFbaSalesLatestSnapshotForItemLocationWise_args> {
      public getAmazonFbaSalesLatestSnapshotForItemLocationWise() {
        super("getAmazonFbaSalesLatestSnapshotForItemLocationWise");
      }

      protected getAmazonFbaSalesLatestSnapshotForItemLocationWise_args getEmptyArgsInstance() {
        return new getAmazonFbaSalesLatestSnapshotForItemLocationWise_args();
      }

      protected getAmazonFbaSalesLatestSnapshotForItemLocationWise_result getResult(I iface, getAmazonFbaSalesLatestSnapshotForItemLocationWise_args args) throws org.apache.thrift.TException {
        getAmazonFbaSalesLatestSnapshotForItemLocationWise_result result = new getAmazonFbaSalesLatestSnapshotForItemLocationWise_result();
        result.success = iface.getAmazonFbaSalesLatestSnapshotForItemLocationWise(args.item_id, args.location);
        return result;
      }
    }

    private static class changeEasyshipMfnOrderTxnStatus<I extends Iface> extends org.apache.thrift.ProcessFunction<I, changeEasyshipMfnOrderTxnStatus_args> {
      public changeEasyshipMfnOrderTxnStatus() {
        super("changeEasyshipMfnOrderTxnStatus");
      }

      protected changeEasyshipMfnOrderTxnStatus_args getEmptyArgsInstance() {
        return new changeEasyshipMfnOrderTxnStatus_args();
      }

      protected changeEasyshipMfnOrderTxnStatus_result getResult(I iface, changeEasyshipMfnOrderTxnStatus_args args) throws org.apache.thrift.TException {
        changeEasyshipMfnOrderTxnStatus_result result = new changeEasyshipMfnOrderTxnStatus_result();
        try {
          result.success = iface.changeEasyshipMfnOrderTxnStatus(args.transactionId, args.status, args.description, args.pickUp, args.orderType, args.source, args.shipTimestamp, args.deliveryTimeStamp);
          result.setSuccessIsSet(true);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class updateAmazonFbaOrdersReturns<I extends Iface> extends org.apache.thrift.ProcessFunction<I, updateAmazonFbaOrdersReturns_args> {
      public updateAmazonFbaOrdersReturns() {
        super("updateAmazonFbaOrdersReturns");
      }

      protected updateAmazonFbaOrdersReturns_args getEmptyArgsInstance() {
        return new updateAmazonFbaOrdersReturns_args();
      }

      protected updateAmazonFbaOrdersReturns_result getResult(I iface, updateAmazonFbaOrdersReturns_args args) throws org.apache.thrift.TException {
        updateAmazonFbaOrdersReturns_result result = new updateAmazonFbaOrdersReturns_result();
        try {
          iface.updateAmazonFbaOrdersReturns(args.fbaOrderReturns);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class getAllAmazonFbaOrderReturnsByCurrentTime<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getAllAmazonFbaOrderReturnsByCurrentTime_args> {
      public getAllAmazonFbaOrderReturnsByCurrentTime() {
        super("getAllAmazonFbaOrderReturnsByCurrentTime");
      }

      protected getAllAmazonFbaOrderReturnsByCurrentTime_args getEmptyArgsInstance() {
        return new getAllAmazonFbaOrderReturnsByCurrentTime_args();
      }

      protected getAllAmazonFbaOrderReturnsByCurrentTime_result getResult(I iface, getAllAmazonFbaOrderReturnsByCurrentTime_args args) throws org.apache.thrift.TException {
        getAllAmazonFbaOrderReturnsByCurrentTime_result result = new getAllAmazonFbaOrderReturnsByCurrentTime_result();
        try {
          result.success = iface.getAllAmazonFbaOrderReturnsByCurrentTime(args.insertionTimestamp);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class getTotalSaleReturnsFbaSkusCurentTime<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getTotalSaleReturnsFbaSkusCurentTime_args> {
      public getTotalSaleReturnsFbaSkusCurentTime() {
        super("getTotalSaleReturnsFbaSkusCurentTime");
      }

      protected getTotalSaleReturnsFbaSkusCurentTime_args getEmptyArgsInstance() {
        return new getTotalSaleReturnsFbaSkusCurentTime_args();
      }

      protected getTotalSaleReturnsFbaSkusCurentTime_result getResult(I iface, getTotalSaleReturnsFbaSkusCurentTime_args args) throws org.apache.thrift.TException {
        getTotalSaleReturnsFbaSkusCurentTime_result result = new getTotalSaleReturnsFbaSkusCurentTime_result();
        try {
          result.success = iface.getTotalSaleReturnsFbaSkusCurentTime(args.insertionTimestamp);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class getVerificationPendingOrdersFK<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getVerificationPendingOrdersFK_args> {
      public getVerificationPendingOrdersFK() {
        super("getVerificationPendingOrdersFK");
      }

      protected getVerificationPendingOrdersFK_args getEmptyArgsInstance() {
        return new getVerificationPendingOrdersFK_args();
      }

      protected getVerificationPendingOrdersFK_result getResult(I iface, getVerificationPendingOrdersFK_args args) throws org.apache.thrift.TException {
        getVerificationPendingOrdersFK_result result = new getVerificationPendingOrdersFK_result();
        try {
          result.success = iface.getVerificationPendingOrdersFK();
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class getFAOrderByFkOrderId<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getFAOrderByFkOrderId_args> {
      public getFAOrderByFkOrderId() {
        super("getFAOrderByFkOrderId");
      }

      protected getFAOrderByFkOrderId_args getEmptyArgsInstance() {
        return new getFAOrderByFkOrderId_args();
      }

      protected getFAOrderByFkOrderId_result getResult(I iface, getFAOrderByFkOrderId_args args) throws org.apache.thrift.TException {
        getFAOrderByFkOrderId_result result = new getFAOrderByFkOrderId_result();
        try {
          result.success = iface.getFAOrderByFkOrderId(args.fkOrderId, args.fkOrderItemId);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class getAllFAOrdersList<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getAllFAOrdersList_args> {
      public getAllFAOrdersList() {
        super("getAllFAOrdersList");
      }

      protected getAllFAOrdersList_args getEmptyArgsInstance() {
        return new getAllFAOrdersList_args();
      }

      protected getAllFAOrdersList_result getResult(I iface, getAllFAOrdersList_args args) throws org.apache.thrift.TException {
        getAllFAOrdersList_result result = new getAllFAOrdersList_result();
        try {
          result.success = iface.getAllFAOrdersList(args.status);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class addUpdateFaOrdersBulk<I extends Iface> extends org.apache.thrift.ProcessFunction<I, addUpdateFaOrdersBulk_args> {
      public addUpdateFaOrdersBulk() {
        super("addUpdateFaOrdersBulk");
      }

      protected addUpdateFaOrdersBulk_args getEmptyArgsInstance() {
        return new addUpdateFaOrdersBulk_args();
      }

      protected addUpdateFaOrdersBulk_result getResult(I iface, addUpdateFaOrdersBulk_args args) throws org.apache.thrift.TException {
        addUpdateFaOrdersBulk_result result = new addUpdateFaOrdersBulk_result();
        try {
          iface.addUpdateFaOrdersBulk(args.faOrdersList);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class addInvoiceDetailsToOrders<I extends Iface> extends org.apache.thrift.ProcessFunction<I, addInvoiceDetailsToOrders_args> {
      public addInvoiceDetailsToOrders() {
        super("addInvoiceDetailsToOrders");
      }

      protected addInvoiceDetailsToOrders_args getEmptyArgsInstance() {
        return new addInvoiceDetailsToOrders_args();
      }

      protected addInvoiceDetailsToOrders_result getResult(I iface, addInvoiceDetailsToOrders_args args) throws org.apache.thrift.TException {
        addInvoiceDetailsToOrders_result result = new addInvoiceDetailsToOrders_result();
        try {
          iface.addInvoiceDetailsToOrders(args.transactionId, args.customerId);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class flipkartFaOrderExists<I extends Iface> extends org.apache.thrift.ProcessFunction<I, flipkartFaOrderExists_args> {
      public flipkartFaOrderExists() {
        super("flipkartFaOrderExists");
      }

      protected flipkartFaOrderExists_args getEmptyArgsInstance() {
        return new flipkartFaOrderExists_args();
      }

      protected flipkartFaOrderExists_result getResult(I iface, flipkartFaOrderExists_args args) throws org.apache.thrift.TException {
        flipkartFaOrderExists_result result = new flipkartFaOrderExists_result();
        try {
          result.success = iface.flipkartFaOrderExists(args.fkOrderId, args.fkOrderItemId);
          result.setSuccessIsSet(true);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class getRcgOrderStatus<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getRcgOrderStatus_args> {
      public getRcgOrderStatus() {
        super("getRcgOrderStatus");
      }

      protected getRcgOrderStatus_args getEmptyArgsInstance() {
        return new getRcgOrderStatus_args();
      }

      protected getRcgOrderStatus_result getResult(I iface, getRcgOrderStatus_args args) throws org.apache.thrift.TException {
        getRcgOrderStatus_result result = new getRcgOrderStatus_result();
        result.success = iface.getRcgOrderStatus(args.rechargeOrderId, args.isFinal);
        return result;
      }
    }

    private static class getRcgTransactionStatus<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getRcgTransactionStatus_args> {
      public getRcgTransactionStatus() {
        super("getRcgTransactionStatus");
      }

      protected getRcgTransactionStatus_args getEmptyArgsInstance() {
        return new getRcgTransactionStatus_args();
      }

      protected getRcgTransactionStatus_result getResult(I iface, getRcgTransactionStatus_args args) throws org.apache.thrift.TException {
        getRcgTransactionStatus_result result = new getRcgTransactionStatus_result();
        result.success = iface.getRcgTransactionStatus(args.rechargeTransactionId, args.isFinal);
        return result;
      }
    }

    private static class bulkAddOrUpdateFlipkartFaSalesSnapshot<I extends Iface> extends org.apache.thrift.ProcessFunction<I, bulkAddOrUpdateFlipkartFaSalesSnapshot_args> {
      public bulkAddOrUpdateFlipkartFaSalesSnapshot() {
        super("bulkAddOrUpdateFlipkartFaSalesSnapshot");
      }

      protected bulkAddOrUpdateFlipkartFaSalesSnapshot_args getEmptyArgsInstance() {
        return new bulkAddOrUpdateFlipkartFaSalesSnapshot_args();
      }

      protected bulkAddOrUpdateFlipkartFaSalesSnapshot_result getResult(I iface, bulkAddOrUpdateFlipkartFaSalesSnapshot_args args) throws org.apache.thrift.TException {
        bulkAddOrUpdateFlipkartFaSalesSnapshot_result result = new bulkAddOrUpdateFlipkartFaSalesSnapshot_result();
        iface.bulkAddOrUpdateFlipkartFaSalesSnapshot(args.flipkartfasalessnapshotlist);
        return result;
      }
    }

    private static class getFlipkartFaSalesSnapshotForDays<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getFlipkartFaSalesSnapshotForDays_args> {
      public getFlipkartFaSalesSnapshotForDays() {
        super("getFlipkartFaSalesSnapshotForDays");
      }

      protected getFlipkartFaSalesSnapshotForDays_args getEmptyArgsInstance() {
        return new getFlipkartFaSalesSnapshotForDays_args();
      }

      protected getFlipkartFaSalesSnapshotForDays_result getResult(I iface, getFlipkartFaSalesSnapshotForDays_args args) throws org.apache.thrift.TException {
        getFlipkartFaSalesSnapshotForDays_result result = new getFlipkartFaSalesSnapshotForDays_result();
        result.success = iface.getFlipkartFaSalesSnapshotForDays(args.days);
        return result;
      }
    }

    private static class getFlipkartFaSalesSnapshotBySkuAndSaleDate<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getFlipkartFaSalesSnapshotBySkuAndSaleDate_args> {
      public getFlipkartFaSalesSnapshotBySkuAndSaleDate() {
        super("getFlipkartFaSalesSnapshotBySkuAndSaleDate");
      }

      protected getFlipkartFaSalesSnapshotBySkuAndSaleDate_args getEmptyArgsInstance() {
        return new getFlipkartFaSalesSnapshotBySkuAndSaleDate_args();
      }

      protected getFlipkartFaSalesSnapshotBySkuAndSaleDate_result getResult(I iface, getFlipkartFaSalesSnapshotBySkuAndSaleDate_args args) throws org.apache.thrift.TException {
        getFlipkartFaSalesSnapshotBySkuAndSaleDate_result result = new getFlipkartFaSalesSnapshotBySkuAndSaleDate_result();
        result.success = iface.getFlipkartFaSalesSnapshotBySkuAndSaleDate(args.item_id, args.dateOfSale);
        return result;
      }
    }

    private static class acceptPackageOrders<I extends Iface> extends org.apache.thrift.ProcessFunction<I, acceptPackageOrders_args> {
      public acceptPackageOrders() {
        super("acceptPackageOrders");
      }

      protected acceptPackageOrders_args getEmptyArgsInstance() {
        return new acceptPackageOrders_args();
      }

      protected acceptPackageOrders_result getResult(I iface, acceptPackageOrders_args args) throws org.apache.thrift.TException {
        acceptPackageOrders_result result = new acceptPackageOrders_result();
        try {
          result.success = iface.acceptPackageOrders(args.orders);
          result.setSuccessIsSet(true);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class getGroupOrdersByLogisticsTxnId<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getGroupOrdersByLogisticsTxnId_args> {
      public getGroupOrdersByLogisticsTxnId() {
        super("getGroupOrdersByLogisticsTxnId");
      }

      protected getGroupOrdersByLogisticsTxnId_args getEmptyArgsInstance() {
        return new getGroupOrdersByLogisticsTxnId_args();
      }

      protected getGroupOrdersByLogisticsTxnId_result getResult(I iface, getGroupOrdersByLogisticsTxnId_args args) throws org.apache.thrift.TException {
        getGroupOrdersByLogisticsTxnId_result result = new getGroupOrdersByLogisticsTxnId_result();
        try {
          result.success = iface.getGroupOrdersByLogisticsTxnId(args.logisticsTxnId);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class addBillingDetailsForGrouppedOrders<I extends Iface> extends org.apache.thrift.ProcessFunction<I, addBillingDetailsForGrouppedOrders_args> {
      public addBillingDetailsForGrouppedOrders() {
        super("addBillingDetailsForGrouppedOrders");
      }

      protected addBillingDetailsForGrouppedOrders_args getEmptyArgsInstance() {
        return new addBillingDetailsForGrouppedOrders_args();
      }

      protected addBillingDetailsForGrouppedOrders_result getResult(I iface, addBillingDetailsForGrouppedOrders_args args) throws org.apache.thrift.TException {
        addBillingDetailsForGrouppedOrders_result result = new addBillingDetailsForGrouppedOrders_result();
        try {
          result.success = iface.addBillingDetailsForGrouppedOrders(args.order_ids, args.invoice_number, args.itemNumbersMap, args.serialNumbersMap, args.freebieWarehouseIdMap, args.billed_by, args.jacketNumber, args.billingType, args.authorize, args.invoiceType);
          result.setSuccessIsSet(true);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class getInvoiceFormatLogisticsTxnId<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getInvoiceFormatLogisticsTxnId_args> {
      public getInvoiceFormatLogisticsTxnId() {
        super("getInvoiceFormatLogisticsTxnId");
      }

      protected getInvoiceFormatLogisticsTxnId_args getEmptyArgsInstance() {
        return new getInvoiceFormatLogisticsTxnId_args();
      }

      protected getInvoiceFormatLogisticsTxnId_result getResult(I iface, getInvoiceFormatLogisticsTxnId_args args) throws org.apache.thrift.TException {
        getInvoiceFormatLogisticsTxnId_result result = new getInvoiceFormatLogisticsTxnId_result();
        try {
          result.success = iface.getInvoiceFormatLogisticsTxnId(args.transactionId, args.shipementSeq);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class createHomeShopOrder<I extends Iface> extends org.apache.thrift.ProcessFunction<I, createHomeShopOrder_args> {
      public createHomeShopOrder() {
        super("createHomeShopOrder");
      }

      protected createHomeShopOrder_args getEmptyArgsInstance() {
        return new createHomeShopOrder_args();
      }

      protected createHomeShopOrder_result getResult(I iface, createHomeShopOrder_args args) throws org.apache.thrift.TException {
        createHomeShopOrder_result result = new createHomeShopOrder_result();
        iface.createHomeShopOrder(args.snapdealOrder);
        return result;
      }
    }

    private static class getHomeShopOrder<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getHomeShopOrder_args> {
      public getHomeShopOrder() {
        super("getHomeShopOrder");
      }

      protected getHomeShopOrder_args getEmptyArgsInstance() {
        return new getHomeShopOrder_args();
      }

      protected getHomeShopOrder_result getResult(I iface, getHomeShopOrder_args args) throws org.apache.thrift.TException {
        getHomeShopOrder_result result = new getHomeShopOrder_result();
        result.success = iface.getHomeShopOrder(args.orderId, args.hsOrderNo, args.hsSubOrderNo);
        return result;
      }
    }

    private static class homeShopOrderExists<I extends Iface> extends org.apache.thrift.ProcessFunction<I, homeShopOrderExists_args> {
      public homeShopOrderExists() {
        super("homeShopOrderExists");
      }

      protected homeShopOrderExists_args getEmptyArgsInstance() {
        return new homeShopOrderExists_args();
      }

      protected homeShopOrderExists_result getResult(I iface, homeShopOrderExists_args args) throws org.apache.thrift.TException {
        homeShopOrderExists_result result = new homeShopOrderExists_result();
        result.success = iface.homeShopOrderExists(args.hsOrderNo, args.hsSubOrderNo);
        result.setSuccessIsSet(true);
        return result;
      }
    }

    private static class splitBulkOrder<I extends Iface> extends org.apache.thrift.ProcessFunction<I, splitBulkOrder_args> {
      public splitBulkOrder() {
        super("splitBulkOrder");
      }

      protected splitBulkOrder_args getEmptyArgsInstance() {
        return new splitBulkOrder_args();
      }

      protected splitBulkOrder_result getResult(I iface, splitBulkOrder_args args) throws org.apache.thrift.TException {
        splitBulkOrder_result result = new splitBulkOrder_result();
        result.success = iface.splitBulkOrder(args.orderId, args.splitOrderQty);
        return result;
      }
    }

    private static class moveOrdersToCorrectWarehouse<I extends Iface> extends org.apache.thrift.ProcessFunction<I, moveOrdersToCorrectWarehouse_args> {
      public moveOrdersToCorrectWarehouse() {
        super("moveOrdersToCorrectWarehouse");
      }

      protected moveOrdersToCorrectWarehouse_args getEmptyArgsInstance() {
        return new moveOrdersToCorrectWarehouse_args();
      }

      protected moveOrdersToCorrectWarehouse_result getResult(I iface, moveOrdersToCorrectWarehouse_args args) throws org.apache.thrift.TException {
        moveOrdersToCorrectWarehouse_result result = new moveOrdersToCorrectWarehouse_result();
        result.success = iface.moveOrdersToCorrectWarehouse();
        return result;
      }
    }

    private static class getCreditorInfo<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getCreditorInfo_args> {
      public getCreditorInfo() {
        super("getCreditorInfo");
      }

      protected getCreditorInfo_args getEmptyArgsInstance() {
        return new getCreditorInfo_args();
      }

      protected getCreditorInfo_result getResult(I iface, getCreditorInfo_args args) throws org.apache.thrift.TException {
        getCreditorInfo_result result = new getCreditorInfo_result();
        result.success = iface.getCreditorInfo(args.id, args.name);
        return result;
      }
    }

    private static class updateCreditorInfo<I extends Iface> extends org.apache.thrift.ProcessFunction<I, updateCreditorInfo_args> {
      public updateCreditorInfo() {
        super("updateCreditorInfo");
      }

      protected updateCreditorInfo_args getEmptyArgsInstance() {
        return new updateCreditorInfo_args();
      }

      protected updateCreditorInfo_result getResult(I iface, updateCreditorInfo_args args) throws org.apache.thrift.TException {
        updateCreditorInfo_result result = new updateCreditorInfo_result();
        result.success = iface.updateCreditorInfo(args.creditor);
        result.setSuccessIsSet(true);
        return result;
      }
    }

    private static class getUserSanctionDetails<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getUserSanctionDetails_args> {
      public getUserSanctionDetails() {
        super("getUserSanctionDetails");
      }

      protected getUserSanctionDetails_args getEmptyArgsInstance() {
        return new getUserSanctionDetails_args();
      }

      protected getUserSanctionDetails_result getResult(I iface, getUserSanctionDetails_args args) throws org.apache.thrift.TException {
        getUserSanctionDetails_result result = new getUserSanctionDetails_result();
        result.success = iface.getUserSanctionDetails(args.userId);
        return result;
      }
    }

    private static class getUserSanctionDetailsForCreditor<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getUserSanctionDetailsForCreditor_args> {
      public getUserSanctionDetailsForCreditor() {
        super("getUserSanctionDetailsForCreditor");
      }

      protected getUserSanctionDetailsForCreditor_args getEmptyArgsInstance() {
        return new getUserSanctionDetailsForCreditor_args();
      }

      protected getUserSanctionDetailsForCreditor_result getResult(I iface, getUserSanctionDetailsForCreditor_args args) throws org.apache.thrift.TException {
        getUserSanctionDetailsForCreditor_result result = new getUserSanctionDetailsForCreditor_result();
        result.success = iface.getUserSanctionDetailsForCreditor(args.userId, args.creditorId);
        return result;
      }
    }

    private static class updateUserSanction<I extends Iface> extends org.apache.thrift.ProcessFunction<I, updateUserSanction_args> {
      public updateUserSanction() {
        super("updateUserSanction");
      }

      protected updateUserSanction_args getEmptyArgsInstance() {
        return new updateUserSanction_args();
      }

      protected updateUserSanction_result getResult(I iface, updateUserSanction_args args) throws org.apache.thrift.TException {
        updateUserSanction_result result = new updateUserSanction_result();
        try {
          result.success = iface.updateUserSanction(args.userSanaction);
          result.setSuccessIsSet(true);
        } catch (TransactionServiceException pe) {
          result.pe = pe;
        }
        return result;
      }
    }

    private static class getCreditHistoryRecordsForTransaction<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getCreditHistoryRecordsForTransaction_args> {
      public getCreditHistoryRecordsForTransaction() {
        super("getCreditHistoryRecordsForTransaction");
      }

      protected getCreditHistoryRecordsForTransaction_args getEmptyArgsInstance() {
        return new getCreditHistoryRecordsForTransaction_args();
      }

      protected getCreditHistoryRecordsForTransaction_result getResult(I iface, getCreditHistoryRecordsForTransaction_args args) throws org.apache.thrift.TException {
        getCreditHistoryRecordsForTransaction_result result = new getCreditHistoryRecordsForTransaction_result();
        result.success = iface.getCreditHistoryRecordsForTransaction(args.paymentId, args.creditTxnType);
        return result;
      }
    }

    private static class getCreditHistoryRecordsForUserAndCreditor<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getCreditHistoryRecordsForUserAndCreditor_args> {
      public getCreditHistoryRecordsForUserAndCreditor() {
        super("getCreditHistoryRecordsForUserAndCreditor");
      }

      protected getCreditHistoryRecordsForUserAndCreditor_args getEmptyArgsInstance() {
        return new getCreditHistoryRecordsForUserAndCreditor_args();
      }

      protected getCreditHistoryRecordsForUserAndCreditor_result getResult(I iface, getCreditHistoryRecordsForUserAndCreditor_args args) throws org.apache.thrift.TException {
        getCreditHistoryRecordsForUserAndCreditor_result result = new getCreditHistoryRecordsForUserAndCreditor_result();
        result.success = iface.getCreditHistoryRecordsForUserAndCreditor(args.userId, args.creditorId, args.creditTxnType);
        return result;
      }
    }

    private static class processCreditTransaction<I extends Iface> extends org.apache.thrift.ProcessFunction<I, processCreditTransaction_args> {
      public processCreditTransaction() {
        super("processCreditTransaction");
      }

      protected processCreditTransaction_args getEmptyArgsInstance() {
        return new processCreditTransaction_args();
      }

      protected processCreditTransaction_result getResult(I iface, processCreditTransaction_args args) throws org.apache.thrift.TException {
        processCreditTransaction_result result = new processCreditTransaction_result();
        try {
          result.success = iface.processCreditTransaction(args.paymentId, args.userId, args.creditorId, args.creditTxns);
          result.setSuccessIsSet(true);
        } catch (TransactionServiceException pe) {
          result.pe = pe;
        }
        return result;
      }
    }

    private static class getLoanPayableForUserToCreditor<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getLoanPayableForUserToCreditor_args> {
      public getLoanPayableForUserToCreditor() {
        super("getLoanPayableForUserToCreditor");
      }

      protected getLoanPayableForUserToCreditor_args getEmptyArgsInstance() {
        return new getLoanPayableForUserToCreditor_args();
      }

      protected getLoanPayableForUserToCreditor_result getResult(I iface, getLoanPayableForUserToCreditor_args args) throws org.apache.thrift.TException {
        getLoanPayableForUserToCreditor_result result = new getLoanPayableForUserToCreditor_result();
        result.success = iface.getLoanPayableForUserToCreditor(args.userId, args.creditorId, args.dueDate);
        result.setSuccessIsSet(true);
        return result;
      }
    }

    private static class getLoanHistoryRecordsForTransaction<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getLoanHistoryRecordsForTransaction_args> {
      public getLoanHistoryRecordsForTransaction() {
        super("getLoanHistoryRecordsForTransaction");
      }

      protected getLoanHistoryRecordsForTransaction_args getEmptyArgsInstance() {
        return new getLoanHistoryRecordsForTransaction_args();
      }

      protected getLoanHistoryRecordsForTransaction_result getResult(I iface, getLoanHistoryRecordsForTransaction_args args) throws org.apache.thrift.TException {
        getLoanHistoryRecordsForTransaction_result result = new getLoanHistoryRecordsForTransaction_result();
        result.success = iface.getLoanHistoryRecordsForTransaction(args.paymentId, args.creditTxnType);
        return result;
      }
    }

    private static class getLoanHistoryRecordsForUserAndCreditor<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getLoanHistoryRecordsForUserAndCreditor_args> {
      public getLoanHistoryRecordsForUserAndCreditor() {
        super("getLoanHistoryRecordsForUserAndCreditor");
      }

      protected getLoanHistoryRecordsForUserAndCreditor_args getEmptyArgsInstance() {
        return new getLoanHistoryRecordsForUserAndCreditor_args();
      }

      protected getLoanHistoryRecordsForUserAndCreditor_result getResult(I iface, getLoanHistoryRecordsForUserAndCreditor_args args) throws org.apache.thrift.TException {
        getLoanHistoryRecordsForUserAndCreditor_result result = new getLoanHistoryRecordsForUserAndCreditor_result();
        result.success = iface.getLoanHistoryRecordsForUserAndCreditor(args.userId, args.creditorId, args.creditTxnType);
        return result;
      }
    }

    private static class processLoanTransaction<I extends Iface> extends org.apache.thrift.ProcessFunction<I, processLoanTransaction_args> {
      public processLoanTransaction() {
        super("processLoanTransaction");
      }

      protected processLoanTransaction_args getEmptyArgsInstance() {
        return new processLoanTransaction_args();
      }

      protected processLoanTransaction_result getResult(I iface, processLoanTransaction_args args) throws org.apache.thrift.TException {
        processLoanTransaction_result result = new processLoanTransaction_result();
        try {
          result.success = iface.processLoanTransaction(args.paymentId, args.userId, args.creditorId, args.creditTxns);
          result.setSuccessIsSet(true);
        } catch (TransactionServiceException pe) {
          result.pe = pe;
        }
        return result;
      }
    }

    private static class getLimitedCreditHistoryRecords<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getLimitedCreditHistoryRecords_args> {
      public getLimitedCreditHistoryRecords() {
        super("getLimitedCreditHistoryRecords");
      }

      protected getLimitedCreditHistoryRecords_args getEmptyArgsInstance() {
        return new getLimitedCreditHistoryRecords_args();
      }

      protected getLimitedCreditHistoryRecords_result getResult(I iface, getLimitedCreditHistoryRecords_args args) throws org.apache.thrift.TException {
        getLimitedCreditHistoryRecords_result result = new getLimitedCreditHistoryRecords_result();
        result.success = iface.getLimitedCreditHistoryRecords(args.paymentId, args.userId, args.creditorId, args.limit, args.offset);
        return result;
      }
    }

    private static class getLimitedLoanHistoryRecords<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getLimitedLoanHistoryRecords_args> {
      public getLimitedLoanHistoryRecords() {
        super("getLimitedLoanHistoryRecords");
      }

      protected getLimitedLoanHistoryRecords_args getEmptyArgsInstance() {
        return new getLimitedLoanHistoryRecords_args();
      }

      protected getLimitedLoanHistoryRecords_result getResult(I iface, getLimitedLoanHistoryRecords_args args) throws org.apache.thrift.TException {
        getLimitedLoanHistoryRecords_result result = new getLimitedLoanHistoryRecords_result();
        result.success = iface.getLimitedLoanHistoryRecords(args.paymentId, args.userId, args.creditorId, args.limit, args.offset);
        return result;
      }
    }

    private static class getUserSanctionsDetailsAsPerLimit<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getUserSanctionsDetailsAsPerLimit_args> {
      public getUserSanctionsDetailsAsPerLimit() {
        super("getUserSanctionsDetailsAsPerLimit");
      }

      protected getUserSanctionsDetailsAsPerLimit_args getEmptyArgsInstance() {
        return new getUserSanctionsDetailsAsPerLimit_args();
      }

      protected getUserSanctionsDetailsAsPerLimit_result getResult(I iface, getUserSanctionsDetailsAsPerLimit_args args) throws org.apache.thrift.TException {
        getUserSanctionsDetailsAsPerLimit_result result = new getUserSanctionsDetailsAsPerLimit_result();
        result.success = iface.getUserSanctionsDetailsAsPerLimit(args.userId, args.creditorId, args.limit, args.offset, args.sort);
        return result;
      }
    }

    private static class getOutstandingPayments<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getOutstandingPayments_args> {
      public getOutstandingPayments() {
        super("getOutstandingPayments");
      }

      protected getOutstandingPayments_args getEmptyArgsInstance() {
        return new getOutstandingPayments_args();
      }

      protected getOutstandingPayments_result getResult(I iface, getOutstandingPayments_args args) throws org.apache.thrift.TException {
        getOutstandingPayments_result result = new getOutstandingPayments_result();
        result.success = iface.getOutstandingPayments(args.fetchType, args.userId, args.limit);
        return result;
      }
    }

    private static class markPaymentSettled<I extends Iface> extends org.apache.thrift.ProcessFunction<I, markPaymentSettled_args> {
      public markPaymentSettled() {
        super("markPaymentSettled");
      }

      protected markPaymentSettled_args getEmptyArgsInstance() {
        return new markPaymentSettled_args();
      }

      protected markPaymentSettled_result getResult(I iface, markPaymentSettled_args args) throws org.apache.thrift.TException {
        markPaymentSettled_result result = new markPaymentSettled_result();
        result.success = iface.markPaymentSettled(args.userId, args.paymentId, args.totalAmount, args.repaymentDate);
        return result;
      }
    }

    private static class getReturnOrderInfo<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getReturnOrderInfo_args> {
      public getReturnOrderInfo() {
        super("getReturnOrderInfo");
      }

      protected getReturnOrderInfo_args getEmptyArgsInstance() {
        return new getReturnOrderInfo_args();
      }

      protected getReturnOrderInfo_result getResult(I iface, getReturnOrderInfo_args args) throws org.apache.thrift.TException {
        getReturnOrderInfo_result result = new getReturnOrderInfo_result();
        try {
          result.success = iface.getReturnOrderInfo(args.id);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class getReturnOrderInfoList<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getReturnOrderInfoList_args> {
      public getReturnOrderInfoList() {
        super("getReturnOrderInfoList");
      }

      protected getReturnOrderInfoList_args getEmptyArgsInstance() {
        return new getReturnOrderInfoList_args();
      }

      protected getReturnOrderInfoList_result getResult(I iface, getReturnOrderInfoList_args args) throws org.apache.thrift.TException {
        getReturnOrderInfoList_result result = new getReturnOrderInfoList_result();
        result.success = iface.getReturnOrderInfoList(args.order_ids);
        return result;
      }
    }

    private static class getReturnOrderInfoListAsByStatus<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getReturnOrderInfoListAsByStatus_args> {
      public getReturnOrderInfoListAsByStatus() {
        super("getReturnOrderInfoListAsByStatus");
      }

      protected getReturnOrderInfoListAsByStatus_args getEmptyArgsInstance() {
        return new getReturnOrderInfoListAsByStatus_args();
      }

      protected getReturnOrderInfoListAsByStatus_result getResult(I iface, getReturnOrderInfoListAsByStatus_args args) throws org.apache.thrift.TException {
        getReturnOrderInfoListAsByStatus_result result = new getReturnOrderInfoListAsByStatus_result();
        result.success = iface.getReturnOrderInfoListAsByStatus(args.order_ids, args.statuses);
        return result;
      }
    }

    private static class updateReturnOrderInfo<I extends Iface> extends org.apache.thrift.ProcessFunction<I, updateReturnOrderInfo_args> {
      public updateReturnOrderInfo() {
        super("updateReturnOrderInfo");
      }

      protected updateReturnOrderInfo_args getEmptyArgsInstance() {
        return new updateReturnOrderInfo_args();
      }

      protected updateReturnOrderInfo_result getResult(I iface, updateReturnOrderInfo_args args) throws org.apache.thrift.TException {
        updateReturnOrderInfo_result result = new updateReturnOrderInfo_result();
        try {
          result.success = iface.updateReturnOrderInfo(args.returnInfo);
          result.setSuccessIsSet(true);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class bulkUpdateReturnOrderInfo<I extends Iface> extends org.apache.thrift.ProcessFunction<I, bulkUpdateReturnOrderInfo_args> {
      public bulkUpdateReturnOrderInfo() {
        super("bulkUpdateReturnOrderInfo");
      }

      protected bulkUpdateReturnOrderInfo_args getEmptyArgsInstance() {
        return new bulkUpdateReturnOrderInfo_args();
      }

      protected bulkUpdateReturnOrderInfo_result getResult(I iface, bulkUpdateReturnOrderInfo_args args) throws org.apache.thrift.TException {
        bulkUpdateReturnOrderInfo_result result = new bulkUpdateReturnOrderInfo_result();
        try {
          result.success = iface.bulkUpdateReturnOrderInfo(args.orderReturnInfosMap);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class getReturnOrdersAsPerWarehouseId<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getReturnOrdersAsPerWarehouseId_args> {
      public getReturnOrdersAsPerWarehouseId() {
        super("getReturnOrdersAsPerWarehouseId");
      }

      protected getReturnOrdersAsPerWarehouseId_args getEmptyArgsInstance() {
        return new getReturnOrdersAsPerWarehouseId_args();
      }

      protected getReturnOrdersAsPerWarehouseId_result getResult(I iface, getReturnOrdersAsPerWarehouseId_args args) throws org.apache.thrift.TException {
        getReturnOrdersAsPerWarehouseId_result result = new getReturnOrdersAsPerWarehouseId_result();
        result.success = iface.getReturnOrdersAsPerWarehouseId(args.warehouseId);
        return result;
      }
    }

    private static class createReturnTransaction<I extends Iface> extends org.apache.thrift.ProcessFunction<I, createReturnTransaction_args> {
      public createReturnTransaction() {
        super("createReturnTransaction");
      }

      protected createReturnTransaction_args getEmptyArgsInstance() {
        return new createReturnTransaction_args();
      }

      protected createReturnTransaction_result getResult(I iface, createReturnTransaction_args args) throws org.apache.thrift.TException {
        createReturnTransaction_result result = new createReturnTransaction_result();
        try {
          result.success = iface.createReturnTransaction(args.returnTransaction, args.itemCondition, args.overrideWarranty);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class getReturnTransaction<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getReturnTransaction_args> {
      public getReturnTransaction() {
        super("getReturnTransaction");
      }

      protected getReturnTransaction_args getEmptyArgsInstance() {
        return new getReturnTransaction_args();
      }

      protected getReturnTransaction_result getResult(I iface, getReturnTransaction_args args) throws org.apache.thrift.TException {
        getReturnTransaction_result result = new getReturnTransaction_result();
        try {
          result.success = iface.getReturnTransaction(args.id);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class getReturnOrdersForReturnTransaction<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getReturnOrdersForReturnTransaction_args> {
      public getReturnOrdersForReturnTransaction() {
        super("getReturnOrdersForReturnTransaction");
      }

      protected getReturnOrdersForReturnTransaction_args getEmptyArgsInstance() {
        return new getReturnOrdersForReturnTransaction_args();
      }

      protected getReturnOrdersForReturnTransaction_result getResult(I iface, getReturnOrdersForReturnTransaction_args args) throws org.apache.thrift.TException {
        getReturnOrdersForReturnTransaction_result result = new getReturnOrdersForReturnTransaction_result();
        try {
          result.success = iface.getReturnOrdersForReturnTransaction(args.returnTransactionId);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class changeReturnTransactionStatus<I extends Iface> extends org.apache.thrift.ProcessFunction<I, changeReturnTransactionStatus_args> {
      public changeReturnTransactionStatus() {
        super("changeReturnTransactionStatus");
      }

      protected changeReturnTransactionStatus_args getEmptyArgsInstance() {
        return new changeReturnTransactionStatus_args();
      }

      protected changeReturnTransactionStatus_result getResult(I iface, changeReturnTransactionStatus_args args) throws org.apache.thrift.TException {
        changeReturnTransactionStatus_result result = new changeReturnTransactionStatus_result();
        try {
          result.success = iface.changeReturnTransactionStatus(args.returnTransactionId, args.status, args.returnOrderIds);
          result.setSuccessIsSet(true);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class createReturnPickupRequest<I extends Iface> extends org.apache.thrift.ProcessFunction<I, createReturnPickupRequest_args> {
      public createReturnPickupRequest() {
        super("createReturnPickupRequest");
      }

      protected createReturnPickupRequest_args getEmptyArgsInstance() {
        return new createReturnPickupRequest_args();
      }

      protected createReturnPickupRequest_result getResult(I iface, createReturnPickupRequest_args args) throws org.apache.thrift.TException {
        createReturnPickupRequest_result result = new createReturnPickupRequest_result();
        try {
          result.success = iface.createReturnPickupRequest(args.returnOrderIds);
          result.setSuccessIsSet(true);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class updateReturnPickupRequest<I extends Iface> extends org.apache.thrift.ProcessFunction<I, updateReturnPickupRequest_args> {
      public updateReturnPickupRequest() {
        super("updateReturnPickupRequest");
      }

      protected updateReturnPickupRequest_args getEmptyArgsInstance() {
        return new updateReturnPickupRequest_args();
      }

      protected updateReturnPickupRequest_result getResult(I iface, updateReturnPickupRequest_args args) throws org.apache.thrift.TException {
        updateReturnPickupRequest_result result = new updateReturnPickupRequest_result();
        try {
          result.success = iface.updateReturnPickupRequest(args.returnPickupRequest);
          result.setSuccessIsSet(true);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class getAllReturnOrdersForReturnPickupRequest<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getAllReturnOrdersForReturnPickupRequest_args> {
      public getAllReturnOrdersForReturnPickupRequest() {
        super("getAllReturnOrdersForReturnPickupRequest");
      }

      protected getAllReturnOrdersForReturnPickupRequest_args getEmptyArgsInstance() {
        return new getAllReturnOrdersForReturnPickupRequest_args();
      }

      protected getAllReturnOrdersForReturnPickupRequest_result getResult(I iface, getAllReturnOrdersForReturnPickupRequest_args args) throws org.apache.thrift.TException {
        getAllReturnOrdersForReturnPickupRequest_result result = new getAllReturnOrdersForReturnPickupRequest_result();
        try {
          result.success = iface.getAllReturnOrdersForReturnPickupRequest(args.logisticsRequestId);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class receiveReturnPickup<I extends Iface> extends org.apache.thrift.ProcessFunction<I, receiveReturnPickup_args> {
      public receiveReturnPickup() {
        super("receiveReturnPickup");
      }

      protected receiveReturnPickup_args getEmptyArgsInstance() {
        return new receiveReturnPickup_args();
      }

      protected receiveReturnPickup_result getResult(I iface, receiveReturnPickup_args args) throws org.apache.thrift.TException {
        receiveReturnPickup_result result = new receiveReturnPickup_result();
        try {
          result.success = iface.receiveReturnPickup(args.returnOrdersMap, args.id);
          result.setSuccessIsSet(true);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class validateReturnPickup<I extends Iface> extends org.apache.thrift.ProcessFunction<I, validateReturnPickup_args> {
      public validateReturnPickup() {
        super("validateReturnPickup");
      }

      protected validateReturnPickup_args getEmptyArgsInstance() {
        return new validateReturnPickup_args();
      }

      protected validateReturnPickup_result getResult(I iface, validateReturnPickup_args args) throws org.apache.thrift.TException {
        validateReturnPickup_result result = new validateReturnPickup_result();
        try {
          result.success = iface.validateReturnPickup(args.returnPickupId, args.returnOrdersMap);
          result.setSuccessIsSet(true);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class processReturnPickup<I extends Iface> extends org.apache.thrift.ProcessFunction<I, processReturnPickup_args> {
      public processReturnPickup() {
        super("processReturnPickup");
      }

      protected processReturnPickup_args getEmptyArgsInstance() {
        return new processReturnPickup_args();
      }

      protected processReturnPickup_result getResult(I iface, processReturnPickup_args args) throws org.apache.thrift.TException {
        processReturnPickup_result result = new processReturnPickup_result();
        try {
          result.success = iface.processReturnPickup(args.returnPickupId, args.returnOrdersMap);
          result.setSuccessIsSet(true);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class markReturnTransactionComplete<I extends Iface> extends org.apache.thrift.ProcessFunction<I, markReturnTransactionComplete_args> {
      public markReturnTransactionComplete() {
        super("markReturnTransactionComplete");
      }

      protected markReturnTransactionComplete_args getEmptyArgsInstance() {
        return new markReturnTransactionComplete_args();
      }

      protected markReturnTransactionComplete_result getResult(I iface, markReturnTransactionComplete_args args) throws org.apache.thrift.TException {
        markReturnTransactionComplete_result result = new markReturnTransactionComplete_result();
        try {
          result.success = iface.markReturnTransactionComplete(args.returnTransactionId);
          result.setSuccessIsSet(true);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class refundReturnTransactionPayment<I extends Iface> extends org.apache.thrift.ProcessFunction<I, refundReturnTransactionPayment_args> {
      public refundReturnTransactionPayment() {
        super("refundReturnTransactionPayment");
      }

      protected refundReturnTransactionPayment_args getEmptyArgsInstance() {
        return new refundReturnTransactionPayment_args();
      }

      protected refundReturnTransactionPayment_result getResult(I iface, refundReturnTransactionPayment_args args) throws org.apache.thrift.TException {
        refundReturnTransactionPayment_result result = new refundReturnTransactionPayment_result();
        try {
          result.success = iface.refundReturnTransactionPayment(args.refundOrdersMap, args.returntransactionId);
          result.setSuccessIsSet(true);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class getReturnTransactionsForCustomer<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getReturnTransactionsForCustomer_args> {
      public getReturnTransactionsForCustomer() {
        super("getReturnTransactionsForCustomer");
      }

      protected getReturnTransactionsForCustomer_args getEmptyArgsInstance() {
        return new getReturnTransactionsForCustomer_args();
      }

      protected getReturnTransactionsForCustomer_result getResult(I iface, getReturnTransactionsForCustomer_args args) throws org.apache.thrift.TException {
        getReturnTransactionsForCustomer_result result = new getReturnTransactionsForCustomer_result();
        try {
          result.success = iface.getReturnTransactionsForCustomer(args.statusList, args.customerMobile, args.customerEmail, args.returnTransactionId, args.customerId);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class verifyOrderForTransaction<I extends Iface> extends org.apache.thrift.ProcessFunction<I, verifyOrderForTransaction_args> {
      public verifyOrderForTransaction() {
        super("verifyOrderForTransaction");
      }

      protected verifyOrderForTransaction_args getEmptyArgsInstance() {
        return new verifyOrderForTransaction_args();
      }

      protected verifyOrderForTransaction_result getResult(I iface, verifyOrderForTransaction_args args) throws org.apache.thrift.TException {
        verifyOrderForTransaction_result result = new verifyOrderForTransaction_result();
        try {
          result.success = iface.verifyOrderForTransaction(args.transactionId);
          result.setSuccessIsSet(true);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class getOrdersInBatchAsPromisedShipping<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getOrdersInBatchAsPromisedShipping_args> {
      public getOrdersInBatchAsPromisedShipping() {
        super("getOrdersInBatchAsPromisedShipping");
      }

      protected getOrdersInBatchAsPromisedShipping_args getEmptyArgsInstance() {
        return new getOrdersInBatchAsPromisedShipping_args();
      }

      protected getOrdersInBatchAsPromisedShipping_result getResult(I iface, getOrdersInBatchAsPromisedShipping_args args) throws org.apache.thrift.TException {
        getOrdersInBatchAsPromisedShipping_result result = new getOrdersInBatchAsPromisedShipping_result();
        try {
          result.success = iface.getOrdersInBatchAsPromisedShipping(args.statuses, args.offset, args.limit, args.warehouse_id, args.source);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class setOrderAttributeForMasterOrderId<I extends Iface> extends org.apache.thrift.ProcessFunction<I, setOrderAttributeForMasterOrderId_args> {
      public setOrderAttributeForMasterOrderId() {
        super("setOrderAttributeForMasterOrderId");
      }

      protected setOrderAttributeForMasterOrderId_args getEmptyArgsInstance() {
        return new setOrderAttributeForMasterOrderId_args();
      }

      protected setOrderAttributeForMasterOrderId_result getResult(I iface, setOrderAttributeForMasterOrderId_args args) throws org.apache.thrift.TException {
        setOrderAttributeForMasterOrderId_result result = new setOrderAttributeForMasterOrderId_result();
        iface.setOrderAttributeForMasterOrderId(args.logisticsTransactionId, args.attributes);
        return result;
      }
    }

    private static class updateMasterOrderAWB<I extends Iface> extends org.apache.thrift.ProcessFunction<I, updateMasterOrderAWB_args> {
      public updateMasterOrderAWB() {
        super("updateMasterOrderAWB");
      }

      protected updateMasterOrderAWB_args getEmptyArgsInstance() {
        return new updateMasterOrderAWB_args();
      }

      protected updateMasterOrderAWB_result getResult(I iface, updateMasterOrderAWB_args args) throws org.apache.thrift.TException {
        updateMasterOrderAWB_result result = new updateMasterOrderAWB_result();
        result.success = iface.updateMasterOrderAWB(args.logisticsTransactionId, args.airwayBillNo);
        result.setSuccessIsSet(true);
        return result;
      }
    }

    private static class addOrUpdateShipmentLogisticsCostDetails<I extends Iface> extends org.apache.thrift.ProcessFunction<I, addOrUpdateShipmentLogisticsCostDetails_args> {
      public addOrUpdateShipmentLogisticsCostDetails() {
        super("addOrUpdateShipmentLogisticsCostDetails");
      }

      protected addOrUpdateShipmentLogisticsCostDetails_args getEmptyArgsInstance() {
        return new addOrUpdateShipmentLogisticsCostDetails_args();
      }

      protected addOrUpdateShipmentLogisticsCostDetails_result getResult(I iface, addOrUpdateShipmentLogisticsCostDetails_args args) throws org.apache.thrift.TException {
        addOrUpdateShipmentLogisticsCostDetails_result result = new addOrUpdateShipmentLogisticsCostDetails_result();
        result.success = iface.addOrUpdateShipmentLogisticsCostDetails(args.shipmentLogisticsCostDetails);
        result.setSuccessIsSet(true);
        return result;
      }
    }

    private static class getEligibleOrdersForReturn<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getEligibleOrdersForReturn_args> {
      public getEligibleOrdersForReturn() {
        super("getEligibleOrdersForReturn");
      }

      protected getEligibleOrdersForReturn_args getEmptyArgsInstance() {
        return new getEligibleOrdersForReturn_args();
      }

      protected getEligibleOrdersForReturn_result getResult(I iface, getEligibleOrdersForReturn_args args) throws org.apache.thrift.TException {
        getEligibleOrdersForReturn_result result = new getEligibleOrdersForReturn_result();
        result.success = iface.getEligibleOrdersForReturn(args.customerId, args.itemCondition, args.overrideWarranty);
        return result;
      }
    }

    private static class getEligibleReturnOrdersForPickup<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getEligibleReturnOrdersForPickup_args> {
      public getEligibleReturnOrdersForPickup() {
        super("getEligibleReturnOrdersForPickup");
      }

      protected getEligibleReturnOrdersForPickup_args getEmptyArgsInstance() {
        return new getEligibleReturnOrdersForPickup_args();
      }

      protected getEligibleReturnOrdersForPickup_result getResult(I iface, getEligibleReturnOrdersForPickup_args args) throws org.apache.thrift.TException {
        getEligibleReturnOrdersForPickup_result result = new getEligibleReturnOrdersForPickup_result();
        result.success = iface.getEligibleReturnOrdersForPickup(args.customerId);
        return result;
      }
    }

    private static class validateReturnTransaction<I extends Iface> extends org.apache.thrift.ProcessFunction<I, validateReturnTransaction_args> {
      public validateReturnTransaction() {
        super("validateReturnTransaction");
      }

      protected validateReturnTransaction_args getEmptyArgsInstance() {
        return new validateReturnTransaction_args();
      }

      protected validateReturnTransaction_result getResult(I iface, validateReturnTransaction_args args) throws org.apache.thrift.TException {
        validateReturnTransaction_result result = new validateReturnTransaction_result();
        result.success = iface.validateReturnTransaction(args.customerId, args.returnOrdersMap, args.itemCondition, args.overrideWarranty);
        result.setSuccessIsSet(true);
        return result;
      }
    }

    private static class getPendingStoreOrders<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getPendingStoreOrders_args> {
      public getPendingStoreOrders() {
        super("getPendingStoreOrders");
      }

      protected getPendingStoreOrders_args getEmptyArgsInstance() {
        return new getPendingStoreOrders_args();
      }

      protected getPendingStoreOrders_result getResult(I iface, getPendingStoreOrders_args args) throws org.apache.thrift.TException {
        getPendingStoreOrders_result result = new getPendingStoreOrders_result();
        result.success = iface.getPendingStoreOrders(args.storeId);
        return result;
      }
    }

    private static class getSellerInfo<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getSellerInfo_args> {
      public getSellerInfo() {
        super("getSellerInfo");
      }

      protected getSellerInfo_args getEmptyArgsInstance() {
        return new getSellerInfo_args();
      }

      protected getSellerInfo_result getResult(I iface, getSellerInfo_args args) throws org.apache.thrift.TException {
        getSellerInfo_result result = new getSellerInfo_result();
        result.success = iface.getSellerInfo(args.sellerId);
        return result;
      }
    }

    private static class getWarehouseAddress<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getWarehouseAddress_args> {
      public getWarehouseAddress() {
        super("getWarehouseAddress");
      }

      protected getWarehouseAddress_args getEmptyArgsInstance() {
        return new getWarehouseAddress_args();
      }

      protected getWarehouseAddress_result getResult(I iface, getWarehouseAddress_args args) throws org.apache.thrift.TException {
        getWarehouseAddress_result result = new getWarehouseAddress_result();
        result.success = iface.getWarehouseAddress(args.address_id);
        return result;
      }
    }

    private static class getBuyerByWarehouse<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getBuyerByWarehouse_args> {
      public getBuyerByWarehouse() {
        super("getBuyerByWarehouse");
      }

      protected getBuyerByWarehouse_args getEmptyArgsInstance() {
        return new getBuyerByWarehouse_args();
      }

      protected getBuyerByWarehouse_result getResult(I iface, getBuyerByWarehouse_args args) throws org.apache.thrift.TException {
        getBuyerByWarehouse_result result = new getBuyerByWarehouse_result();
        result.success = iface.getBuyerByWarehouse(args.warehouse_id);
        return result;
      }
    }

    private static class markReturnNotRequiredOrdersProcessed<I extends Iface> extends org.apache.thrift.ProcessFunction<I, markReturnNotRequiredOrdersProcessed_args> {
      public markReturnNotRequiredOrdersProcessed() {
        super("markReturnNotRequiredOrdersProcessed");
      }

      protected markReturnNotRequiredOrdersProcessed_args getEmptyArgsInstance() {
        return new markReturnNotRequiredOrdersProcessed_args();
      }

      protected markReturnNotRequiredOrdersProcessed_result getResult(I iface, markReturnNotRequiredOrdersProcessed_args args) throws org.apache.thrift.TException {
        markReturnNotRequiredOrdersProcessed_result result = new markReturnNotRequiredOrdersProcessed_result();
        try {
          result.success = iface.markReturnNotRequiredOrdersProcessed(args.returnOrderInfo);
          result.setSuccessIsSet(true);
        } catch (TransactionServiceException ex) {
          result.ex = ex;
        }
        return result;
      }
    }

    private static class getReturnPickupRequest<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getReturnPickupRequest_args> {
      public getReturnPickupRequest() {
        super("getReturnPickupRequest");
      }

      protected getReturnPickupRequest_args getEmptyArgsInstance() {
        return new getReturnPickupRequest_args();
      }

      protected getReturnPickupRequest_result getResult(I iface, getReturnPickupRequest_args args) throws org.apache.thrift.TException {
        getReturnPickupRequest_result result = new getReturnPickupRequest_result();
        result.success = iface.getReturnPickupRequest(args.returnPickupId);
        return result;
      }
    }

    private static class splitReturnOrderInfo<I extends Iface> extends org.apache.thrift.ProcessFunction<I, splitReturnOrderInfo_args> {
      public splitReturnOrderInfo() {
        super("splitReturnOrderInfo");
      }

      protected splitReturnOrderInfo_args getEmptyArgsInstance() {
        return new splitReturnOrderInfo_args();
      }

      protected splitReturnOrderInfo_result getResult(I iface, splitReturnOrderInfo_args args) throws org.apache.thrift.TException {
        splitReturnOrderInfo_result result = new splitReturnOrderInfo_result();
        result.success = iface.splitReturnOrderInfo(args.returnOrderId, args.splitOrderQty);
        return result;
      }
    }

    private static class deleteReturnOrder<I extends Iface> extends org.apache.thrift.ProcessFunction<I, deleteReturnOrder_args> {
      public deleteReturnOrder() {
        super("deleteReturnOrder");
      }

      protected deleteReturnOrder_args getEmptyArgsInstance() {
        return new deleteReturnOrder_args();
      }

      protected deleteReturnOrder_result getResult(I iface, deleteReturnOrder_args args) throws org.apache.thrift.TException {
        deleteReturnOrder_result result = new deleteReturnOrder_result();
        result.success = iface.deleteReturnOrder(args.returnOrderId);
        result.setSuccessIsSet(true);
        return result;
      }
    }

    private static class refundReturnOrder<I extends Iface> extends org.apache.thrift.ProcessFunction<I, refundReturnOrder_args> {
      public refundReturnOrder() {
        super("refundReturnOrder");
      }

      protected refundReturnOrder_args getEmptyArgsInstance() {
        return new refundReturnOrder_args();
      }

      protected refundReturnOrder_result getResult(I iface, refundReturnOrder_args args) throws org.apache.thrift.TException {
        refundReturnOrder_result result = new refundReturnOrder_result();
        result.success = iface.refundReturnOrder(args.returnOrderInfo, args.attributes);
        result.setSuccessIsSet(true);
        return result;
      }
    }

    private static class addShipmentDelay<I extends Iface> extends org.apache.thrift.ProcessFunction<I, addShipmentDelay_args> {
      public addShipmentDelay() {
        super("addShipmentDelay");
      }

      protected addShipmentDelay_args getEmptyArgsInstance() {
        return new addShipmentDelay_args();
      }

      protected addShipmentDelay_result getResult(I iface, addShipmentDelay_args args) throws org.apache.thrift.TException {
        addShipmentDelay_result result = new addShipmentDelay_result();
        result.success = iface.addShipmentDelay(args.shipmentDelayDetail);
        return result;
      }
    }

    private static class getCostDetailForLogisticsTxnId<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getCostDetailForLogisticsTxnId_args> {
      public getCostDetailForLogisticsTxnId() {
        super("getCostDetailForLogisticsTxnId");
      }

      protected getCostDetailForLogisticsTxnId_args getEmptyArgsInstance() {
        return new getCostDetailForLogisticsTxnId_args();
      }

      protected getCostDetailForLogisticsTxnId_result getResult(I iface, getCostDetailForLogisticsTxnId_args args) throws org.apache.thrift.TException {
        getCostDetailForLogisticsTxnId_result result = new getCostDetailForLogisticsTxnId_result();
        result.success = iface.getCostDetailForLogisticsTxnId(args.logisticsTxnId);
        return result;
      }
    }

    private static class addShipmentLogisticDetail<I extends Iface> extends org.apache.thrift.ProcessFunction<I, addShipmentLogisticDetail_args> {
      public addShipmentLogisticDetail() {
        super("addShipmentLogisticDetail");
      }

      protected addShipmentLogisticDetail_args getEmptyArgsInstance() {
        return new addShipmentLogisticDetail_args();
      }

      protected addShipmentLogisticDetail_result getResult(I iface, addShipmentLogisticDetail_args args) throws org.apache.thrift.TException {
        addShipmentLogisticDetail_result result = new addShipmentLogisticDetail_result();
        iface.addShipmentLogisticDetail(args.shipmentLogisticsCostDetail);
        return result;
      }
    }

    private static class createPayment<I extends Iface> extends org.apache.thrift.ProcessFunction<I, createPayment_args> {
      public createPayment() {
        super("createPayment");
      }

      protected createPayment_args getEmptyArgsInstance() {
        return new createPayment_args();
      }

      protected createPayment_result getResult(I iface, createPayment_args args) throws org.apache.thrift.TException {
        createPayment_result result = new createPayment_result();
        result.success = iface.createPayment(args.userId, args.txnId, args.gatewayId);
        result.setSuccessIsSet(true);
        return result;
      }
    }

    private static class calculatePaymentAmount<I extends Iface> extends org.apache.thrift.ProcessFunction<I, calculatePaymentAmount_args> {
      public calculatePaymentAmount() {
        super("calculatePaymentAmount");
      }

      protected calculatePaymentAmount_args getEmptyArgsInstance() {
        return new calculatePaymentAmount_args();
      }

      protected calculatePaymentAmount_result getResult(I iface, calculatePaymentAmount_args args) throws org.apache.thrift.TException {
        calculatePaymentAmount_result result = new calculatePaymentAmount_result();
        result.success = iface.calculatePaymentAmount(args.txnId);
        result.setSuccessIsSet(true);
        return result;
      }
    }

    private static class getBilledOrdersForManifestGen<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getBilledOrdersForManifestGen_args> {
      public getBilledOrdersForManifestGen() {
        super("getBilledOrdersForManifestGen");
      }

      protected getBilledOrdersForManifestGen_args getEmptyArgsInstance() {
        return new getBilledOrdersForManifestGen_args();
      }

      protected getBilledOrdersForManifestGen_result getResult(I iface, getBilledOrdersForManifestGen_args args) throws org.apache.thrift.TException {
        getBilledOrdersForManifestGen_result result = new getBilledOrdersForManifestGen_result();
        result.success = iface.getBilledOrdersForManifestGen(args.warehouse_id, args.logistics_provider_id, args.cod);
        return result;
      }
    }

    private static class registerRsa<I extends Iface> extends org.apache.thrift.ProcessFunction<I, registerRsa_args> {
      public registerRsa() {
        super("registerRsa");
      }

      protected registerRsa_args getEmptyArgsInstance() {
        return new registerRsa_args();
      }

      protected registerRsa_result getResult(I iface, registerRsa_args args) throws org.apache.thrift.TException {
        registerRsa_result result = new registerRsa_result();
        result.success = iface.registerRsa(args.userId, args.activation_code);
        result.setSuccessIsSet(true);
        return result;
      }
    }

    private static class addSalesAssociate<I extends Iface> extends org.apache.thrift.ProcessFunction<I, addSalesAssociate_args> {
      public addSalesAssociate() {
        super("addSalesAssociate");
      }

      protected addSalesAssociate_args getEmptyArgsInstance() {
        return new addSalesAssociate_args();
      }

      protected addSalesAssociate_result getResult(I iface, addSalesAssociate_args args) throws org.apache.thrift.TException {
        addSalesAssociate_result result = new addSalesAssociate_result();
        result.success = iface.addSalesAssociate(args.pmsa, args.referrerEmail, args.l1_userEmail);
        return result;
      }
    }

    private static class searchPmsa<I extends Iface> extends org.apache.thrift.ProcessFunction<I, searchPmsa_args> {
      public searchPmsa() {
        super("searchPmsa");
      }

      protected searchPmsa_args getEmptyArgsInstance() {
        return new searchPmsa_args();
      }

      protected searchPmsa_result getResult(I iface, searchPmsa_args args) throws org.apache.thrift.TException {
        searchPmsa_result result = new searchPmsa_result();
        result.success = iface.searchPmsa(args.pmsaSearchFilter, args.associateEmail);
        return result;
      }
    }

    private static class getPmsaUser<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getPmsaUser_args> {
      public getPmsaUser() {
        super("getPmsaUser");
      }

      protected getPmsaUser_args getEmptyArgsInstance() {
        return new getPmsaUser_args();
      }

      protected getPmsaUser_result getResult(I iface, getPmsaUser_args args) throws org.apache.thrift.TException {
        getPmsaUser_result result = new getPmsaUser_result();
        result.success = iface.getPmsaUser(args.id, args.associateEmail);
        return result;
      }
    }

    private static class updatePmsaUser<I extends Iface> extends org.apache.thrift.ProcessFunction<I, updatePmsaUser_args> {
      public updatePmsaUser() {
        super("updatePmsaUser");
      }

      protected updatePmsaUser_args getEmptyArgsInstance() {
        return new updatePmsaUser_args();
      }

      protected updatePmsaUser_result getResult(I iface, updatePmsaUser_args args) throws org.apache.thrift.TException {
        updatePmsaUser_result result = new updatePmsaUser_result();
        result.success = iface.updatePmsaUser(args.pmsa, args.associateEmail);
        return result;
      }
    }

    private static class getPmsaUsers<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getPmsaUsers_args> {
      public getPmsaUsers() {
        super("getPmsaUsers");
      }

      protected getPmsaUsers_args getEmptyArgsInstance() {
        return new getPmsaUsers_args();
      }

      protected getPmsaUsers_result getResult(I iface, getPmsaUsers_args args) throws org.apache.thrift.TException {
        getPmsaUsers_result result = new getPmsaUsers_result();
        result.success = iface.getPmsaUsers(args.associateEmail);
        return result;
      }
    }

    private static class getPendingAssociates<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getPendingAssociates_args> {
      public getPendingAssociates() {
        super("getPendingAssociates");
      }

      protected getPendingAssociates_args getEmptyArgsInstance() {
        return new getPendingAssociates_args();
      }

      protected getPendingAssociates_result getResult(I iface, getPendingAssociates_args args) throws org.apache.thrift.TException {
        getPendingAssociates_result result = new getPendingAssociates_result();
        result.success = iface.getPendingAssociates(args.associateEmail);
        return result;
      }
    }

    private static class getStatsForAssociates<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getStatsForAssociates_args> {
      public getStatsForAssociates() {
        super("getStatsForAssociates");
      }

      protected getStatsForAssociates_args getEmptyArgsInstance() {
        return new getStatsForAssociates_args();
      }

      protected getStatsForAssociates_result getResult(I iface, getStatsForAssociates_args args) throws org.apache.thrift.TException {
        getStatsForAssociates_result result = new getStatsForAssociates_result();
        result.success = iface.getStatsForAssociates(args.associateEmail);
        return result;
      }
    }

    private static class getmypmsaprofile<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getmypmsaprofile_args> {
      public getmypmsaprofile() {
        super("getmypmsaprofile");
      }

      protected getmypmsaprofile_args getEmptyArgsInstance() {
        return new getmypmsaprofile_args();
      }

      protected getmypmsaprofile_result getResult(I iface, getmypmsaprofile_args args) throws org.apache.thrift.TException {
        getmypmsaprofile_result result = new getmypmsaprofile_result();
        result.success = iface.getmypmsaprofile(args.associateEmail);
        return result;
      }
    }

    private static class creditUserWallet<I extends Iface> extends org.apache.thrift.ProcessFunction<I, creditUserWallet_args> {
      public creditUserWallet() {
        super("creditUserWallet");
      }

      protected creditUserWallet_args getEmptyArgsInstance() {
        return new creditUserWallet_args();
      }

      protected creditUserWallet_result getResult(I iface, creditUserWallet_args args) throws org.apache.thrift.TException {
        creditUserWallet_result result = new creditUserWallet_result();
        result.success = iface.creditUserWallet(args.userId, args.amount, args.cash_back, args.shortDesc);
        result.setSuccessIsSet(true);
        return result;
      }
    }

    private static class getPaginatedRechargeOrders<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getPaginatedRechargeOrders_args> {
      public getPaginatedRechargeOrders() {
        super("getPaginatedRechargeOrders");
      }

      protected getPaginatedRechargeOrders_args getEmptyArgsInstance() {
        return new getPaginatedRechargeOrders_args();
      }

      protected getPaginatedRechargeOrders_result getResult(I iface, getPaginatedRechargeOrders_args args) throws org.apache.thrift.TException {
        getPaginatedRechargeOrders_result result = new getPaginatedRechargeOrders_result();
        result.success = iface.getPaginatedRechargeOrders(args.userId, args.offset, args.limit);
        return result;
      }
    }

    private static class markOrderForRegisteredGstInvoice<I extends Iface> extends org.apache.thrift.ProcessFunction<I, markOrderForRegisteredGstInvoice_args> {
      public markOrderForRegisteredGstInvoice() {
        super("markOrderForRegisteredGstInvoice");
      }

      protected markOrderForRegisteredGstInvoice_args getEmptyArgsInstance() {
        return new markOrderForRegisteredGstInvoice_args();
      }

      protected markOrderForRegisteredGstInvoice_result getResult(I iface, markOrderForRegisteredGstInvoice_args args) throws org.apache.thrift.TException {
        markOrderForRegisteredGstInvoice_result result = new markOrderForRegisteredGstInvoice_result();
        result.success = iface.markOrderForRegisteredGstInvoice(args.tranasction_ids);
        result.setSuccessIsSet(true);
        return result;
      }
    }

    private static class isShipmentCod<I extends Iface> extends org.apache.thrift.ProcessFunction<I, isShipmentCod_args> {
      public isShipmentCod() {
        super("isShipmentCod");
      }

      protected isShipmentCod_args getEmptyArgsInstance() {
        return new isShipmentCod_args();
      }

      protected isShipmentCod_result getResult(I iface, isShipmentCod_args args) throws org.apache.thrift.TException {
        isShipmentCod_result result = new isShipmentCod_result();
        result.success = iface.isShipmentCod(args.logisticsTransactionId);
        result.setSuccessIsSet(true);
        return result;
      }
    }

    private static class getInTransitOrdersOnDate<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getInTransitOrdersOnDate_args> {
      public getInTransitOrdersOnDate() {
        super("getInTransitOrdersOnDate");
      }

      protected getInTransitOrdersOnDate_args getEmptyArgsInstance() {
        return new getInTransitOrdersOnDate_args();
      }

      protected getInTransitOrdersOnDate_result getResult(I iface, getInTransitOrdersOnDate_args args) throws org.apache.thrift.TException {
        getInTransitOrdersOnDate_result result = new getInTransitOrdersOnDate_result();
        result.success = iface.getInTransitOrdersOnDate(args.closingDate);
        return result;
      }
    }

    private static class getInTransitOrdersOnDateByItemId<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getInTransitOrdersOnDateByItemId_args> {
      public getInTransitOrdersOnDateByItemId() {
        super("getInTransitOrdersOnDateByItemId");
      }

      protected getInTransitOrdersOnDateByItemId_args getEmptyArgsInstance() {
        return new getInTransitOrdersOnDateByItemId_args();
      }

      protected getInTransitOrdersOnDateByItemId_result getResult(I iface, getInTransitOrdersOnDateByItemId_args args) throws org.apache.thrift.TException {
        getInTransitOrdersOnDateByItemId_result result = new getInTransitOrdersOnDateByItemId_result();
        result.success = iface.getInTransitOrdersOnDateByItemId(args.closingDate, args.itemId);
        return result;
      }
    }

    private static class addPriceDrop<I extends Iface> extends org.apache.thrift.ProcessFunction<I, addPriceDrop_args> {
      public addPriceDrop() {
        super("addPriceDrop");
      }

      protected addPriceDrop_args getEmptyArgsInstance() {
        return new addPriceDrop_args();
      }

      protected addPriceDrop_result getResult(I iface, addPriceDrop_args args) throws org.apache.thrift.TException {
        addPriceDrop_result result = new addPriceDrop_result();
        result.success = iface.addPriceDrop(args.item_id, args.imeis, args.amount, args.affected_on);
        result.setSuccessIsSet(true);
        return result;
      }
    }

  }

  public static class createTransaction_args implements org.apache.thrift.TBase<createTransaction_args, createTransaction_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("createTransaction_args");

    private static final org.apache.thrift.protocol.TField TRANSACTION_FIELD_DESC = new org.apache.thrift.protocol.TField("transaction", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private Transaction transaction; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      TRANSACTION((short)1, "transaction");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // TRANSACTION
            return TRANSACTION;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.TRANSACTION, new org.apache.thrift.meta_data.FieldMetaData("transaction", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Transaction.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(createTransaction_args.class, metaDataMap);
    }

    public createTransaction_args() {
    }

    public createTransaction_args(
      Transaction transaction)
    {
      this();
      this.transaction = transaction;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public createTransaction_args(createTransaction_args other) {
      if (other.isSetTransaction()) {
        this.transaction = new Transaction(other.transaction);
      }
    }

    public createTransaction_args deepCopy() {
      return new createTransaction_args(this);
    }

    @Override
    public void clear() {
      this.transaction = null;
    }

    public Transaction getTransaction() {
      return this.transaction;
    }

    public void setTransaction(Transaction transaction) {
      this.transaction = transaction;
    }

    public void unsetTransaction() {
      this.transaction = null;
    }

    /** Returns true if field transaction is set (has been assigned a value) and false otherwise */
    public boolean isSetTransaction() {
      return this.transaction != null;
    }

    public void setTransactionIsSet(boolean value) {
      if (!value) {
        this.transaction = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case TRANSACTION:
        if (value == null) {
          unsetTransaction();
        } else {
          setTransaction((Transaction)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case TRANSACTION:
        return getTransaction();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case TRANSACTION:
        return isSetTransaction();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof createTransaction_args)
        return this.equals((createTransaction_args)that);
      return false;
    }

    public boolean equals(createTransaction_args that) {
      if (that == null)
        return false;

      boolean this_present_transaction = true && this.isSetTransaction();
      boolean that_present_transaction = true && that.isSetTransaction();
      if (this_present_transaction || that_present_transaction) {
        if (!(this_present_transaction && that_present_transaction))
          return false;
        if (!this.transaction.equals(that.transaction))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(createTransaction_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      createTransaction_args typedOther = (createTransaction_args)other;

      lastComparison = Boolean.valueOf(isSetTransaction()).compareTo(typedOther.isSetTransaction());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetTransaction()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.transaction, typedOther.transaction);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // TRANSACTION
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.transaction = new Transaction();
              this.transaction.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.transaction != null) {
        oprot.writeFieldBegin(TRANSACTION_FIELD_DESC);
        this.transaction.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("createTransaction_args(");
      boolean first = true;

      sb.append("transaction:");
      if (this.transaction == null) {
        sb.append("null");
      } else {
        sb.append(this.transaction);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class createTransaction_result implements org.apache.thrift.TBase<createTransaction_result, createTransaction_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("createTransaction_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.I64, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private long success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(createTransaction_result.class, metaDataMap);
    }

    public createTransaction_result() {
    }

    public createTransaction_result(
      long success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public createTransaction_result(createTransaction_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public createTransaction_result deepCopy() {
      return new createTransaction_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = 0;
      this.ex = null;
    }

    public long getSuccess() {
      return this.success;
    }

    public void setSuccess(long success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Long)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Long.valueOf(getSuccess());

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof createTransaction_result)
        return this.equals((createTransaction_result)that);
      return false;
    }

    public boolean equals(createTransaction_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(createTransaction_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      createTransaction_result typedOther = (createTransaction_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.success = iprot.readI64();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeI64(this.success);
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("createTransaction_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getTransaction_args implements org.apache.thrift.TBase<getTransaction_args, getTransaction_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getTransaction_args");

    private static final org.apache.thrift.protocol.TField ID_FIELD_DESC = new org.apache.thrift.protocol.TField("id", org.apache.thrift.protocol.TType.I64, (short)1);

    private long id; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ID((short)1, "id");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ID
            return ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ID, new org.apache.thrift.meta_data.FieldMetaData("id", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getTransaction_args.class, metaDataMap);
    }

    public getTransaction_args() {
    }

    public getTransaction_args(
      long id)
    {
      this();
      this.id = id;
      setIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getTransaction_args(getTransaction_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.id = other.id;
    }

    public getTransaction_args deepCopy() {
      return new getTransaction_args(this);
    }

    @Override
    public void clear() {
      setIdIsSet(false);
      this.id = 0;
    }

    public long getId() {
      return this.id;
    }

    public void setId(long id) {
      this.id = id;
      setIdIsSet(true);
    }

    public void unsetId() {
      __isset_bit_vector.clear(__ID_ISSET_ID);
    }

    /** Returns true if field id is set (has been assigned a value) and false otherwise */
    public boolean isSetId() {
      return __isset_bit_vector.get(__ID_ISSET_ID);
    }

    public void setIdIsSet(boolean value) {
      __isset_bit_vector.set(__ID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ID:
        if (value == null) {
          unsetId();
        } else {
          setId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ID:
        return Long.valueOf(getId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ID:
        return isSetId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getTransaction_args)
        return this.equals((getTransaction_args)that);
      return false;
    }

    public boolean equals(getTransaction_args that) {
      if (that == null)
        return false;

      boolean this_present_id = true;
      boolean that_present_id = true;
      if (this_present_id || that_present_id) {
        if (!(this_present_id && that_present_id))
          return false;
        if (this.id != that.id)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getTransaction_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getTransaction_args typedOther = (getTransaction_args)other;

      lastComparison = Boolean.valueOf(isSetId()).compareTo(typedOther.isSetId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.id, typedOther.id);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.id = iprot.readI64();
              setIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ID_FIELD_DESC);
      oprot.writeI64(this.id);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getTransaction_args(");
      boolean first = true;

      sb.append("id:");
      sb.append(this.id);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getTransaction_result implements org.apache.thrift.TBase<getTransaction_result, getTransaction_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getTransaction_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private Transaction success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Transaction.class)));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getTransaction_result.class, metaDataMap);
    }

    public getTransaction_result() {
    }

    public getTransaction_result(
      Transaction success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getTransaction_result(getTransaction_result other) {
      if (other.isSetSuccess()) {
        this.success = new Transaction(other.success);
      }
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public getTransaction_result deepCopy() {
      return new getTransaction_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.ex = null;
    }

    public Transaction getSuccess() {
      return this.success;
    }

    public void setSuccess(Transaction success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Transaction)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getTransaction_result)
        return this.equals((getTransaction_result)that);
      return false;
    }

    public boolean equals(getTransaction_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getTransaction_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getTransaction_result typedOther = (getTransaction_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.success = new Transaction();
              this.success.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        this.success.write(oprot);
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getTransaction_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getTransactionsForCustomer_args implements org.apache.thrift.TBase<getTransactionsForCustomer_args, getTransactionsForCustomer_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getTransactionsForCustomer_args");

    private static final org.apache.thrift.protocol.TField CUSTOMER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("customerId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField FROM_DATE_FIELD_DESC = new org.apache.thrift.protocol.TField("from_date", org.apache.thrift.protocol.TType.I64, (short)2);
    private static final org.apache.thrift.protocol.TField TO_DATE_FIELD_DESC = new org.apache.thrift.protocol.TField("to_date", org.apache.thrift.protocol.TType.I64, (short)3);
    private static final org.apache.thrift.protocol.TField STATUS_FIELD_DESC = new org.apache.thrift.protocol.TField("status", org.apache.thrift.protocol.TType.I32, (short)4);

    private long customerId; // required
    private long from_date; // required
    private long to_date; // required
    private TransactionStatus status; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      CUSTOMER_ID((short)1, "customerId"),
      FROM_DATE((short)2, "from_date"),
      TO_DATE((short)3, "to_date"),
      /**
       * 
       * @see TransactionStatus
       */
      STATUS((short)4, "status");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // CUSTOMER_ID
            return CUSTOMER_ID;
          case 2: // FROM_DATE
            return FROM_DATE;
          case 3: // TO_DATE
            return TO_DATE;
          case 4: // STATUS
            return STATUS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __CUSTOMERID_ISSET_ID = 0;
    private static final int __FROM_DATE_ISSET_ID = 1;
    private static final int __TO_DATE_ISSET_ID = 2;
    private BitSet __isset_bit_vector = new BitSet(3);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.CUSTOMER_ID, new org.apache.thrift.meta_data.FieldMetaData("customerId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.FROM_DATE, new org.apache.thrift.meta_data.FieldMetaData("from_date", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.TO_DATE, new org.apache.thrift.meta_data.FieldMetaData("to_date", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.STATUS, new org.apache.thrift.meta_data.FieldMetaData("status", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, TransactionStatus.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getTransactionsForCustomer_args.class, metaDataMap);
    }

    public getTransactionsForCustomer_args() {
    }

    public getTransactionsForCustomer_args(
      long customerId,
      long from_date,
      long to_date,
      TransactionStatus status)
    {
      this();
      this.customerId = customerId;
      setCustomerIdIsSet(true);
      this.from_date = from_date;
      setFrom_dateIsSet(true);
      this.to_date = to_date;
      setTo_dateIsSet(true);
      this.status = status;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getTransactionsForCustomer_args(getTransactionsForCustomer_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.customerId = other.customerId;
      this.from_date = other.from_date;
      this.to_date = other.to_date;
      if (other.isSetStatus()) {
        this.status = other.status;
      }
    }

    public getTransactionsForCustomer_args deepCopy() {
      return new getTransactionsForCustomer_args(this);
    }

    @Override
    public void clear() {
      setCustomerIdIsSet(false);
      this.customerId = 0;
      setFrom_dateIsSet(false);
      this.from_date = 0;
      setTo_dateIsSet(false);
      this.to_date = 0;
      this.status = null;
    }

    public long getCustomerId() {
      return this.customerId;
    }

    public void setCustomerId(long customerId) {
      this.customerId = customerId;
      setCustomerIdIsSet(true);
    }

    public void unsetCustomerId() {
      __isset_bit_vector.clear(__CUSTOMERID_ISSET_ID);
    }

    /** Returns true if field customerId is set (has been assigned a value) and false otherwise */
    public boolean isSetCustomerId() {
      return __isset_bit_vector.get(__CUSTOMERID_ISSET_ID);
    }

    public void setCustomerIdIsSet(boolean value) {
      __isset_bit_vector.set(__CUSTOMERID_ISSET_ID, value);
    }

    public long getFrom_date() {
      return this.from_date;
    }

    public void setFrom_date(long from_date) {
      this.from_date = from_date;
      setFrom_dateIsSet(true);
    }

    public void unsetFrom_date() {
      __isset_bit_vector.clear(__FROM_DATE_ISSET_ID);
    }

    /** Returns true if field from_date is set (has been assigned a value) and false otherwise */
    public boolean isSetFrom_date() {
      return __isset_bit_vector.get(__FROM_DATE_ISSET_ID);
    }

    public void setFrom_dateIsSet(boolean value) {
      __isset_bit_vector.set(__FROM_DATE_ISSET_ID, value);
    }

    public long getTo_date() {
      return this.to_date;
    }

    public void setTo_date(long to_date) {
      this.to_date = to_date;
      setTo_dateIsSet(true);
    }

    public void unsetTo_date() {
      __isset_bit_vector.clear(__TO_DATE_ISSET_ID);
    }

    /** Returns true if field to_date is set (has been assigned a value) and false otherwise */
    public boolean isSetTo_date() {
      return __isset_bit_vector.get(__TO_DATE_ISSET_ID);
    }

    public void setTo_dateIsSet(boolean value) {
      __isset_bit_vector.set(__TO_DATE_ISSET_ID, value);
    }

    /**
     * 
     * @see TransactionStatus
     */
    public TransactionStatus getStatus() {
      return this.status;
    }

    /**
     * 
     * @see TransactionStatus
     */
    public void setStatus(TransactionStatus status) {
      this.status = status;
    }

    public void unsetStatus() {
      this.status = null;
    }

    /** Returns true if field status is set (has been assigned a value) and false otherwise */
    public boolean isSetStatus() {
      return this.status != null;
    }

    public void setStatusIsSet(boolean value) {
      if (!value) {
        this.status = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case CUSTOMER_ID:
        if (value == null) {
          unsetCustomerId();
        } else {
          setCustomerId((Long)value);
        }
        break;

      case FROM_DATE:
        if (value == null) {
          unsetFrom_date();
        } else {
          setFrom_date((Long)value);
        }
        break;

      case TO_DATE:
        if (value == null) {
          unsetTo_date();
        } else {
          setTo_date((Long)value);
        }
        break;

      case STATUS:
        if (value == null) {
          unsetStatus();
        } else {
          setStatus((TransactionStatus)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case CUSTOMER_ID:
        return Long.valueOf(getCustomerId());

      case FROM_DATE:
        return Long.valueOf(getFrom_date());

      case TO_DATE:
        return Long.valueOf(getTo_date());

      case STATUS:
        return getStatus();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case CUSTOMER_ID:
        return isSetCustomerId();
      case FROM_DATE:
        return isSetFrom_date();
      case TO_DATE:
        return isSetTo_date();
      case STATUS:
        return isSetStatus();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getTransactionsForCustomer_args)
        return this.equals((getTransactionsForCustomer_args)that);
      return false;
    }

    public boolean equals(getTransactionsForCustomer_args that) {
      if (that == null)
        return false;

      boolean this_present_customerId = true;
      boolean that_present_customerId = true;
      if (this_present_customerId || that_present_customerId) {
        if (!(this_present_customerId && that_present_customerId))
          return false;
        if (this.customerId != that.customerId)
          return false;
      }

      boolean this_present_from_date = true;
      boolean that_present_from_date = true;
      if (this_present_from_date || that_present_from_date) {
        if (!(this_present_from_date && that_present_from_date))
          return false;
        if (this.from_date != that.from_date)
          return false;
      }

      boolean this_present_to_date = true;
      boolean that_present_to_date = true;
      if (this_present_to_date || that_present_to_date) {
        if (!(this_present_to_date && that_present_to_date))
          return false;
        if (this.to_date != that.to_date)
          return false;
      }

      boolean this_present_status = true && this.isSetStatus();
      boolean that_present_status = true && that.isSetStatus();
      if (this_present_status || that_present_status) {
        if (!(this_present_status && that_present_status))
          return false;
        if (!this.status.equals(that.status))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getTransactionsForCustomer_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getTransactionsForCustomer_args typedOther = (getTransactionsForCustomer_args)other;

      lastComparison = Boolean.valueOf(isSetCustomerId()).compareTo(typedOther.isSetCustomerId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetCustomerId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.customerId, typedOther.customerId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetFrom_date()).compareTo(typedOther.isSetFrom_date());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetFrom_date()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.from_date, typedOther.from_date);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetTo_date()).compareTo(typedOther.isSetTo_date());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetTo_date()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.to_date, typedOther.to_date);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetStatus()).compareTo(typedOther.isSetStatus());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetStatus()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.status, typedOther.status);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // CUSTOMER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.customerId = iprot.readI64();
              setCustomerIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // FROM_DATE
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.from_date = iprot.readI64();
              setFrom_dateIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // TO_DATE
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.to_date = iprot.readI64();
              setTo_dateIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 4: // STATUS
            if (field.type == org.apache.thrift.protocol.TType.I32) {
              this.status = TransactionStatus.findByValue(iprot.readI32());
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(CUSTOMER_ID_FIELD_DESC);
      oprot.writeI64(this.customerId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(FROM_DATE_FIELD_DESC);
      oprot.writeI64(this.from_date);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(TO_DATE_FIELD_DESC);
      oprot.writeI64(this.to_date);
      oprot.writeFieldEnd();
      if (this.status != null) {
        oprot.writeFieldBegin(STATUS_FIELD_DESC);
        oprot.writeI32(this.status.getValue());
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getTransactionsForCustomer_args(");
      boolean first = true;

      sb.append("customerId:");
      sb.append(this.customerId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("from_date:");
      sb.append(this.from_date);
      first = false;
      if (!first) sb.append(", ");
      sb.append("to_date:");
      sb.append(this.to_date);
      first = false;
      if (!first) sb.append(", ");
      sb.append("status:");
      if (this.status == null) {
        sb.append("null");
      } else {
        sb.append(this.status);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getTransactionsForCustomer_result implements org.apache.thrift.TBase<getTransactionsForCustomer_result, getTransactionsForCustomer_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getTransactionsForCustomer_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private List<Transaction> success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Transaction.class))));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getTransactionsForCustomer_result.class, metaDataMap);
    }

    public getTransactionsForCustomer_result() {
    }

    public getTransactionsForCustomer_result(
      List<Transaction> success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getTransactionsForCustomer_result(getTransactionsForCustomer_result other) {
      if (other.isSetSuccess()) {
        List<Transaction> __this__success = new ArrayList<Transaction>();
        for (Transaction other_element : other.success) {
          __this__success.add(new Transaction(other_element));
        }
        this.success = __this__success;
      }
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public getTransactionsForCustomer_result deepCopy() {
      return new getTransactionsForCustomer_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.ex = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<Transaction> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(Transaction elem) {
      if (this.success == null) {
        this.success = new ArrayList<Transaction>();
      }
      this.success.add(elem);
    }

    public List<Transaction> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<Transaction> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<Transaction>)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getTransactionsForCustomer_result)
        return this.equals((getTransactionsForCustomer_result)that);
      return false;
    }

    public boolean equals(getTransactionsForCustomer_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getTransactionsForCustomer_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getTransactionsForCustomer_result typedOther = (getTransactionsForCustomer_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list76 = iprot.readListBegin();
                this.success = new ArrayList<Transaction>(_list76.size);
                for (int _i77 = 0; _i77 < _list76.size; ++_i77)
                {
                  Transaction _elem78; // required
                  _elem78 = new Transaction();
                  _elem78.read(iprot);
                  this.success.add(_elem78);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (Transaction _iter79 : this.success)
          {
            _iter79.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getTransactionsForCustomer_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getTransactionsForShoppingCartId_args implements org.apache.thrift.TBase<getTransactionsForShoppingCartId_args, getTransactionsForShoppingCartId_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getTransactionsForShoppingCartId_args");

    private static final org.apache.thrift.protocol.TField SHOPPING_CART_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("shoppingCartId", org.apache.thrift.protocol.TType.I64, (short)1);

    private long shoppingCartId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SHOPPING_CART_ID((short)1, "shoppingCartId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // SHOPPING_CART_ID
            return SHOPPING_CART_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SHOPPINGCARTID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SHOPPING_CART_ID, new org.apache.thrift.meta_data.FieldMetaData("shoppingCartId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getTransactionsForShoppingCartId_args.class, metaDataMap);
    }

    public getTransactionsForShoppingCartId_args() {
    }

    public getTransactionsForShoppingCartId_args(
      long shoppingCartId)
    {
      this();
      this.shoppingCartId = shoppingCartId;
      setShoppingCartIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getTransactionsForShoppingCartId_args(getTransactionsForShoppingCartId_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.shoppingCartId = other.shoppingCartId;
    }

    public getTransactionsForShoppingCartId_args deepCopy() {
      return new getTransactionsForShoppingCartId_args(this);
    }

    @Override
    public void clear() {
      setShoppingCartIdIsSet(false);
      this.shoppingCartId = 0;
    }

    public long getShoppingCartId() {
      return this.shoppingCartId;
    }

    public void setShoppingCartId(long shoppingCartId) {
      this.shoppingCartId = shoppingCartId;
      setShoppingCartIdIsSet(true);
    }

    public void unsetShoppingCartId() {
      __isset_bit_vector.clear(__SHOPPINGCARTID_ISSET_ID);
    }

    /** Returns true if field shoppingCartId is set (has been assigned a value) and false otherwise */
    public boolean isSetShoppingCartId() {
      return __isset_bit_vector.get(__SHOPPINGCARTID_ISSET_ID);
    }

    public void setShoppingCartIdIsSet(boolean value) {
      __isset_bit_vector.set(__SHOPPINGCARTID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SHOPPING_CART_ID:
        if (value == null) {
          unsetShoppingCartId();
        } else {
          setShoppingCartId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SHOPPING_CART_ID:
        return Long.valueOf(getShoppingCartId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SHOPPING_CART_ID:
        return isSetShoppingCartId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getTransactionsForShoppingCartId_args)
        return this.equals((getTransactionsForShoppingCartId_args)that);
      return false;
    }

    public boolean equals(getTransactionsForShoppingCartId_args that) {
      if (that == null)
        return false;

      boolean this_present_shoppingCartId = true;
      boolean that_present_shoppingCartId = true;
      if (this_present_shoppingCartId || that_present_shoppingCartId) {
        if (!(this_present_shoppingCartId && that_present_shoppingCartId))
          return false;
        if (this.shoppingCartId != that.shoppingCartId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getTransactionsForShoppingCartId_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getTransactionsForShoppingCartId_args typedOther = (getTransactionsForShoppingCartId_args)other;

      lastComparison = Boolean.valueOf(isSetShoppingCartId()).compareTo(typedOther.isSetShoppingCartId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetShoppingCartId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.shoppingCartId, typedOther.shoppingCartId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // SHOPPING_CART_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.shoppingCartId = iprot.readI64();
              setShoppingCartIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(SHOPPING_CART_ID_FIELD_DESC);
      oprot.writeI64(this.shoppingCartId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getTransactionsForShoppingCartId_args(");
      boolean first = true;

      sb.append("shoppingCartId:");
      sb.append(this.shoppingCartId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getTransactionsForShoppingCartId_result implements org.apache.thrift.TBase<getTransactionsForShoppingCartId_result, getTransactionsForShoppingCartId_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getTransactionsForShoppingCartId_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private List<Transaction> success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Transaction.class))));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getTransactionsForShoppingCartId_result.class, metaDataMap);
    }

    public getTransactionsForShoppingCartId_result() {
    }

    public getTransactionsForShoppingCartId_result(
      List<Transaction> success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getTransactionsForShoppingCartId_result(getTransactionsForShoppingCartId_result other) {
      if (other.isSetSuccess()) {
        List<Transaction> __this__success = new ArrayList<Transaction>();
        for (Transaction other_element : other.success) {
          __this__success.add(new Transaction(other_element));
        }
        this.success = __this__success;
      }
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public getTransactionsForShoppingCartId_result deepCopy() {
      return new getTransactionsForShoppingCartId_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.ex = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<Transaction> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(Transaction elem) {
      if (this.success == null) {
        this.success = new ArrayList<Transaction>();
      }
      this.success.add(elem);
    }

    public List<Transaction> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<Transaction> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<Transaction>)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getTransactionsForShoppingCartId_result)
        return this.equals((getTransactionsForShoppingCartId_result)that);
      return false;
    }

    public boolean equals(getTransactionsForShoppingCartId_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getTransactionsForShoppingCartId_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getTransactionsForShoppingCartId_result typedOther = (getTransactionsForShoppingCartId_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list80 = iprot.readListBegin();
                this.success = new ArrayList<Transaction>(_list80.size);
                for (int _i81 = 0; _i81 < _list80.size; ++_i81)
                {
                  Transaction _elem82; // required
                  _elem82 = new Transaction();
                  _elem82.read(iprot);
                  this.success.add(_elem82);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (Transaction _iter83 : this.success)
          {
            _iter83.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getTransactionsForShoppingCartId_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getTransactionStatus_args implements org.apache.thrift.TBase<getTransactionStatus_args, getTransactionStatus_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getTransactionStatus_args");

    private static final org.apache.thrift.protocol.TField TRANSACTION_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("transactionId", org.apache.thrift.protocol.TType.I64, (short)1);

    private long transactionId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      TRANSACTION_ID((short)1, "transactionId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // TRANSACTION_ID
            return TRANSACTION_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __TRANSACTIONID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.TRANSACTION_ID, new org.apache.thrift.meta_data.FieldMetaData("transactionId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getTransactionStatus_args.class, metaDataMap);
    }

    public getTransactionStatus_args() {
    }

    public getTransactionStatus_args(
      long transactionId)
    {
      this();
      this.transactionId = transactionId;
      setTransactionIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getTransactionStatus_args(getTransactionStatus_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.transactionId = other.transactionId;
    }

    public getTransactionStatus_args deepCopy() {
      return new getTransactionStatus_args(this);
    }

    @Override
    public void clear() {
      setTransactionIdIsSet(false);
      this.transactionId = 0;
    }

    public long getTransactionId() {
      return this.transactionId;
    }

    public void setTransactionId(long transactionId) {
      this.transactionId = transactionId;
      setTransactionIdIsSet(true);
    }

    public void unsetTransactionId() {
      __isset_bit_vector.clear(__TRANSACTIONID_ISSET_ID);
    }

    /** Returns true if field transactionId is set (has been assigned a value) and false otherwise */
    public boolean isSetTransactionId() {
      return __isset_bit_vector.get(__TRANSACTIONID_ISSET_ID);
    }

    public void setTransactionIdIsSet(boolean value) {
      __isset_bit_vector.set(__TRANSACTIONID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case TRANSACTION_ID:
        if (value == null) {
          unsetTransactionId();
        } else {
          setTransactionId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case TRANSACTION_ID:
        return Long.valueOf(getTransactionId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case TRANSACTION_ID:
        return isSetTransactionId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getTransactionStatus_args)
        return this.equals((getTransactionStatus_args)that);
      return false;
    }

    public boolean equals(getTransactionStatus_args that) {
      if (that == null)
        return false;

      boolean this_present_transactionId = true;
      boolean that_present_transactionId = true;
      if (this_present_transactionId || that_present_transactionId) {
        if (!(this_present_transactionId && that_present_transactionId))
          return false;
        if (this.transactionId != that.transactionId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getTransactionStatus_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getTransactionStatus_args typedOther = (getTransactionStatus_args)other;

      lastComparison = Boolean.valueOf(isSetTransactionId()).compareTo(typedOther.isSetTransactionId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetTransactionId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.transactionId, typedOther.transactionId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // TRANSACTION_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.transactionId = iprot.readI64();
              setTransactionIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(TRANSACTION_ID_FIELD_DESC);
      oprot.writeI64(this.transactionId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getTransactionStatus_args(");
      boolean first = true;

      sb.append("transactionId:");
      sb.append(this.transactionId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getTransactionStatus_result implements org.apache.thrift.TBase<getTransactionStatus_result, getTransactionStatus_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getTransactionStatus_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.I32, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private TransactionStatus success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      /**
       * 
       * @see TransactionStatus
       */
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, TransactionStatus.class)));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getTransactionStatus_result.class, metaDataMap);
    }

    public getTransactionStatus_result() {
    }

    public getTransactionStatus_result(
      TransactionStatus success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getTransactionStatus_result(getTransactionStatus_result other) {
      if (other.isSetSuccess()) {
        this.success = other.success;
      }
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public getTransactionStatus_result deepCopy() {
      return new getTransactionStatus_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.ex = null;
    }

    /**
     * 
     * @see TransactionStatus
     */
    public TransactionStatus getSuccess() {
      return this.success;
    }

    /**
     * 
     * @see TransactionStatus
     */
    public void setSuccess(TransactionStatus success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((TransactionStatus)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getTransactionStatus_result)
        return this.equals((getTransactionStatus_result)that);
      return false;
    }

    public boolean equals(getTransactionStatus_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getTransactionStatus_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getTransactionStatus_result typedOther = (getTransactionStatus_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.I32) {
              this.success = TransactionStatus.findByValue(iprot.readI32());
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeI32(this.success.getValue());
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getTransactionStatus_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class changeTransactionStatus_args implements org.apache.thrift.TBase<changeTransactionStatus_args, changeTransactionStatus_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("changeTransactionStatus_args");

    private static final org.apache.thrift.protocol.TField TRANSACTION_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("transactionId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField STATUS_FIELD_DESC = new org.apache.thrift.protocol.TField("status", org.apache.thrift.protocol.TType.I32, (short)2);
    private static final org.apache.thrift.protocol.TField DESCRIPTION_FIELD_DESC = new org.apache.thrift.protocol.TField("description", org.apache.thrift.protocol.TType.STRING, (short)3);
    private static final org.apache.thrift.protocol.TField PICK_UP_FIELD_DESC = new org.apache.thrift.protocol.TField("pickUp", org.apache.thrift.protocol.TType.I64, (short)4);
    private static final org.apache.thrift.protocol.TField ORDER_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("orderType", org.apache.thrift.protocol.TType.I32, (short)5);
    private static final org.apache.thrift.protocol.TField SOURCE_FIELD_DESC = new org.apache.thrift.protocol.TField("source", org.apache.thrift.protocol.TType.I32, (short)6);

    private long transactionId; // required
    private TransactionStatus status; // required
    private String description; // required
    private long pickUp; // required
    private OrderType orderType; // required
    private OrderSource source; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      TRANSACTION_ID((short)1, "transactionId"),
      /**
       * 
       * @see TransactionStatus
       */
      STATUS((short)2, "status"),
      DESCRIPTION((short)3, "description"),
      PICK_UP((short)4, "pickUp"),
      /**
       * 
       * @see OrderType
       */
      ORDER_TYPE((short)5, "orderType"),
      /**
       * 
       * @see OrderSource
       */
      SOURCE((short)6, "source");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // TRANSACTION_ID
            return TRANSACTION_ID;
          case 2: // STATUS
            return STATUS;
          case 3: // DESCRIPTION
            return DESCRIPTION;
          case 4: // PICK_UP
            return PICK_UP;
          case 5: // ORDER_TYPE
            return ORDER_TYPE;
          case 6: // SOURCE
            return SOURCE;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __TRANSACTIONID_ISSET_ID = 0;
    private static final int __PICKUP_ISSET_ID = 1;
    private BitSet __isset_bit_vector = new BitSet(2);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.TRANSACTION_ID, new org.apache.thrift.meta_data.FieldMetaData("transactionId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.STATUS, new org.apache.thrift.meta_data.FieldMetaData("status", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, TransactionStatus.class)));
      tmpMap.put(_Fields.DESCRIPTION, new org.apache.thrift.meta_data.FieldMetaData("description", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.PICK_UP, new org.apache.thrift.meta_data.FieldMetaData("pickUp", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.ORDER_TYPE, new org.apache.thrift.meta_data.FieldMetaData("orderType", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, OrderType.class)));
      tmpMap.put(_Fields.SOURCE, new org.apache.thrift.meta_data.FieldMetaData("source", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, OrderSource.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(changeTransactionStatus_args.class, metaDataMap);
    }

    public changeTransactionStatus_args() {
    }

    public changeTransactionStatus_args(
      long transactionId,
      TransactionStatus status,
      String description,
      long pickUp,
      OrderType orderType,
      OrderSource source)
    {
      this();
      this.transactionId = transactionId;
      setTransactionIdIsSet(true);
      this.status = status;
      this.description = description;
      this.pickUp = pickUp;
      setPickUpIsSet(true);
      this.orderType = orderType;
      this.source = source;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public changeTransactionStatus_args(changeTransactionStatus_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.transactionId = other.transactionId;
      if (other.isSetStatus()) {
        this.status = other.status;
      }
      if (other.isSetDescription()) {
        this.description = other.description;
      }
      this.pickUp = other.pickUp;
      if (other.isSetOrderType()) {
        this.orderType = other.orderType;
      }
      if (other.isSetSource()) {
        this.source = other.source;
      }
    }

    public changeTransactionStatus_args deepCopy() {
      return new changeTransactionStatus_args(this);
    }

    @Override
    public void clear() {
      setTransactionIdIsSet(false);
      this.transactionId = 0;
      this.status = null;
      this.description = null;
      setPickUpIsSet(false);
      this.pickUp = 0;
      this.orderType = null;
      this.source = null;
    }

    public long getTransactionId() {
      return this.transactionId;
    }

    public void setTransactionId(long transactionId) {
      this.transactionId = transactionId;
      setTransactionIdIsSet(true);
    }

    public void unsetTransactionId() {
      __isset_bit_vector.clear(__TRANSACTIONID_ISSET_ID);
    }

    /** Returns true if field transactionId is set (has been assigned a value) and false otherwise */
    public boolean isSetTransactionId() {
      return __isset_bit_vector.get(__TRANSACTIONID_ISSET_ID);
    }

    public void setTransactionIdIsSet(boolean value) {
      __isset_bit_vector.set(__TRANSACTIONID_ISSET_ID, value);
    }

    /**
     * 
     * @see TransactionStatus
     */
    public TransactionStatus getStatus() {
      return this.status;
    }

    /**
     * 
     * @see TransactionStatus
     */
    public void setStatus(TransactionStatus status) {
      this.status = status;
    }

    public void unsetStatus() {
      this.status = null;
    }

    /** Returns true if field status is set (has been assigned a value) and false otherwise */
    public boolean isSetStatus() {
      return this.status != null;
    }

    public void setStatusIsSet(boolean value) {
      if (!value) {
        this.status = null;
      }
    }

    public String getDescription() {
      return this.description;
    }

    public void setDescription(String description) {
      this.description = description;
    }

    public void unsetDescription() {
      this.description = null;
    }

    /** Returns true if field description is set (has been assigned a value) and false otherwise */
    public boolean isSetDescription() {
      return this.description != null;
    }

    public void setDescriptionIsSet(boolean value) {
      if (!value) {
        this.description = null;
      }
    }

    public long getPickUp() {
      return this.pickUp;
    }

    public void setPickUp(long pickUp) {
      this.pickUp = pickUp;
      setPickUpIsSet(true);
    }

    public void unsetPickUp() {
      __isset_bit_vector.clear(__PICKUP_ISSET_ID);
    }

    /** Returns true if field pickUp is set (has been assigned a value) and false otherwise */
    public boolean isSetPickUp() {
      return __isset_bit_vector.get(__PICKUP_ISSET_ID);
    }

    public void setPickUpIsSet(boolean value) {
      __isset_bit_vector.set(__PICKUP_ISSET_ID, value);
    }

    /**
     * 
     * @see OrderType
     */
    public OrderType getOrderType() {
      return this.orderType;
    }

    /**
     * 
     * @see OrderType
     */
    public void setOrderType(OrderType orderType) {
      this.orderType = orderType;
    }

    public void unsetOrderType() {
      this.orderType = null;
    }

    /** Returns true if field orderType is set (has been assigned a value) and false otherwise */
    public boolean isSetOrderType() {
      return this.orderType != null;
    }

    public void setOrderTypeIsSet(boolean value) {
      if (!value) {
        this.orderType = null;
      }
    }

    /**
     * 
     * @see OrderSource
     */
    public OrderSource getSource() {
      return this.source;
    }

    /**
     * 
     * @see OrderSource
     */
    public void setSource(OrderSource source) {
      this.source = source;
    }

    public void unsetSource() {
      this.source = null;
    }

    /** Returns true if field source is set (has been assigned a value) and false otherwise */
    public boolean isSetSource() {
      return this.source != null;
    }

    public void setSourceIsSet(boolean value) {
      if (!value) {
        this.source = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case TRANSACTION_ID:
        if (value == null) {
          unsetTransactionId();
        } else {
          setTransactionId((Long)value);
        }
        break;

      case STATUS:
        if (value == null) {
          unsetStatus();
        } else {
          setStatus((TransactionStatus)value);
        }
        break;

      case DESCRIPTION:
        if (value == null) {
          unsetDescription();
        } else {
          setDescription((String)value);
        }
        break;

      case PICK_UP:
        if (value == null) {
          unsetPickUp();
        } else {
          setPickUp((Long)value);
        }
        break;

      case ORDER_TYPE:
        if (value == null) {
          unsetOrderType();
        } else {
          setOrderType((OrderType)value);
        }
        break;

      case SOURCE:
        if (value == null) {
          unsetSource();
        } else {
          setSource((OrderSource)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case TRANSACTION_ID:
        return Long.valueOf(getTransactionId());

      case STATUS:
        return getStatus();

      case DESCRIPTION:
        return getDescription();

      case PICK_UP:
        return Long.valueOf(getPickUp());

      case ORDER_TYPE:
        return getOrderType();

      case SOURCE:
        return getSource();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case TRANSACTION_ID:
        return isSetTransactionId();
      case STATUS:
        return isSetStatus();
      case DESCRIPTION:
        return isSetDescription();
      case PICK_UP:
        return isSetPickUp();
      case ORDER_TYPE:
        return isSetOrderType();
      case SOURCE:
        return isSetSource();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof changeTransactionStatus_args)
        return this.equals((changeTransactionStatus_args)that);
      return false;
    }

    public boolean equals(changeTransactionStatus_args that) {
      if (that == null)
        return false;

      boolean this_present_transactionId = true;
      boolean that_present_transactionId = true;
      if (this_present_transactionId || that_present_transactionId) {
        if (!(this_present_transactionId && that_present_transactionId))
          return false;
        if (this.transactionId != that.transactionId)
          return false;
      }

      boolean this_present_status = true && this.isSetStatus();
      boolean that_present_status = true && that.isSetStatus();
      if (this_present_status || that_present_status) {
        if (!(this_present_status && that_present_status))
          return false;
        if (!this.status.equals(that.status))
          return false;
      }

      boolean this_present_description = true && this.isSetDescription();
      boolean that_present_description = true && that.isSetDescription();
      if (this_present_description || that_present_description) {
        if (!(this_present_description && that_present_description))
          return false;
        if (!this.description.equals(that.description))
          return false;
      }

      boolean this_present_pickUp = true;
      boolean that_present_pickUp = true;
      if (this_present_pickUp || that_present_pickUp) {
        if (!(this_present_pickUp && that_present_pickUp))
          return false;
        if (this.pickUp != that.pickUp)
          return false;
      }

      boolean this_present_orderType = true && this.isSetOrderType();
      boolean that_present_orderType = true && that.isSetOrderType();
      if (this_present_orderType || that_present_orderType) {
        if (!(this_present_orderType && that_present_orderType))
          return false;
        if (!this.orderType.equals(that.orderType))
          return false;
      }

      boolean this_present_source = true && this.isSetSource();
      boolean that_present_source = true && that.isSetSource();
      if (this_present_source || that_present_source) {
        if (!(this_present_source && that_present_source))
          return false;
        if (!this.source.equals(that.source))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(changeTransactionStatus_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      changeTransactionStatus_args typedOther = (changeTransactionStatus_args)other;

      lastComparison = Boolean.valueOf(isSetTransactionId()).compareTo(typedOther.isSetTransactionId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetTransactionId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.transactionId, typedOther.transactionId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetStatus()).compareTo(typedOther.isSetStatus());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetStatus()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.status, typedOther.status);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetDescription()).compareTo(typedOther.isSetDescription());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetDescription()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.description, typedOther.description);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetPickUp()).compareTo(typedOther.isSetPickUp());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetPickUp()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.pickUp, typedOther.pickUp);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetOrderType()).compareTo(typedOther.isSetOrderType());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrderType()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.orderType, typedOther.orderType);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetSource()).compareTo(typedOther.isSetSource());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSource()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.source, typedOther.source);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // TRANSACTION_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.transactionId = iprot.readI64();
              setTransactionIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // STATUS
            if (field.type == org.apache.thrift.protocol.TType.I32) {
              this.status = TransactionStatus.findByValue(iprot.readI32());
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // DESCRIPTION
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.description = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 4: // PICK_UP
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.pickUp = iprot.readI64();
              setPickUpIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 5: // ORDER_TYPE
            if (field.type == org.apache.thrift.protocol.TType.I32) {
              this.orderType = OrderType.findByValue(iprot.readI32());
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 6: // SOURCE
            if (field.type == org.apache.thrift.protocol.TType.I32) {
              this.source = OrderSource.findByValue(iprot.readI32());
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(TRANSACTION_ID_FIELD_DESC);
      oprot.writeI64(this.transactionId);
      oprot.writeFieldEnd();
      if (this.status != null) {
        oprot.writeFieldBegin(STATUS_FIELD_DESC);
        oprot.writeI32(this.status.getValue());
        oprot.writeFieldEnd();
      }
      if (this.description != null) {
        oprot.writeFieldBegin(DESCRIPTION_FIELD_DESC);
        oprot.writeString(this.description);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldBegin(PICK_UP_FIELD_DESC);
      oprot.writeI64(this.pickUp);
      oprot.writeFieldEnd();
      if (this.orderType != null) {
        oprot.writeFieldBegin(ORDER_TYPE_FIELD_DESC);
        oprot.writeI32(this.orderType.getValue());
        oprot.writeFieldEnd();
      }
      if (this.source != null) {
        oprot.writeFieldBegin(SOURCE_FIELD_DESC);
        oprot.writeI32(this.source.getValue());
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("changeTransactionStatus_args(");
      boolean first = true;

      sb.append("transactionId:");
      sb.append(this.transactionId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("status:");
      if (this.status == null) {
        sb.append("null");
      } else {
        sb.append(this.status);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("description:");
      if (this.description == null) {
        sb.append("null");
      } else {
        sb.append(this.description);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("pickUp:");
      sb.append(this.pickUp);
      first = false;
      if (!first) sb.append(", ");
      sb.append("orderType:");
      if (this.orderType == null) {
        sb.append("null");
      } else {
        sb.append(this.orderType);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("source:");
      if (this.source == null) {
        sb.append("null");
      } else {
        sb.append(this.source);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class changeTransactionStatus_result implements org.apache.thrift.TBase<changeTransactionStatus_result, changeTransactionStatus_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("changeTransactionStatus_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private boolean success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(changeTransactionStatus_result.class, metaDataMap);
    }

    public changeTransactionStatus_result() {
    }

    public changeTransactionStatus_result(
      boolean success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public changeTransactionStatus_result(changeTransactionStatus_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public changeTransactionStatus_result deepCopy() {
      return new changeTransactionStatus_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = false;
      this.ex = null;
    }

    public boolean isSuccess() {
      return this.success;
    }

    public void setSuccess(boolean success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Boolean.valueOf(isSuccess());

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof changeTransactionStatus_result)
        return this.equals((changeTransactionStatus_result)that);
      return false;
    }

    public boolean equals(changeTransactionStatus_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(changeTransactionStatus_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      changeTransactionStatus_result typedOther = (changeTransactionStatus_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.success = iprot.readBool();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBool(this.success);
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("changeTransactionStatus_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class enqueueTransactionInfoEmail_args implements org.apache.thrift.TBase<enqueueTransactionInfoEmail_args, enqueueTransactionInfoEmail_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("enqueueTransactionInfoEmail_args");

    private static final org.apache.thrift.protocol.TField TRANSACTION_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("transactionId", org.apache.thrift.protocol.TType.I64, (short)1);

    private long transactionId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      TRANSACTION_ID((short)1, "transactionId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // TRANSACTION_ID
            return TRANSACTION_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __TRANSACTIONID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.TRANSACTION_ID, new org.apache.thrift.meta_data.FieldMetaData("transactionId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(enqueueTransactionInfoEmail_args.class, metaDataMap);
    }

    public enqueueTransactionInfoEmail_args() {
    }

    public enqueueTransactionInfoEmail_args(
      long transactionId)
    {
      this();
      this.transactionId = transactionId;
      setTransactionIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public enqueueTransactionInfoEmail_args(enqueueTransactionInfoEmail_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.transactionId = other.transactionId;
    }

    public enqueueTransactionInfoEmail_args deepCopy() {
      return new enqueueTransactionInfoEmail_args(this);
    }

    @Override
    public void clear() {
      setTransactionIdIsSet(false);
      this.transactionId = 0;
    }

    public long getTransactionId() {
      return this.transactionId;
    }

    public void setTransactionId(long transactionId) {
      this.transactionId = transactionId;
      setTransactionIdIsSet(true);
    }

    public void unsetTransactionId() {
      __isset_bit_vector.clear(__TRANSACTIONID_ISSET_ID);
    }

    /** Returns true if field transactionId is set (has been assigned a value) and false otherwise */
    public boolean isSetTransactionId() {
      return __isset_bit_vector.get(__TRANSACTIONID_ISSET_ID);
    }

    public void setTransactionIdIsSet(boolean value) {
      __isset_bit_vector.set(__TRANSACTIONID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case TRANSACTION_ID:
        if (value == null) {
          unsetTransactionId();
        } else {
          setTransactionId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case TRANSACTION_ID:
        return Long.valueOf(getTransactionId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case TRANSACTION_ID:
        return isSetTransactionId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof enqueueTransactionInfoEmail_args)
        return this.equals((enqueueTransactionInfoEmail_args)that);
      return false;
    }

    public boolean equals(enqueueTransactionInfoEmail_args that) {
      if (that == null)
        return false;

      boolean this_present_transactionId = true;
      boolean that_present_transactionId = true;
      if (this_present_transactionId || that_present_transactionId) {
        if (!(this_present_transactionId && that_present_transactionId))
          return false;
        if (this.transactionId != that.transactionId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(enqueueTransactionInfoEmail_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      enqueueTransactionInfoEmail_args typedOther = (enqueueTransactionInfoEmail_args)other;

      lastComparison = Boolean.valueOf(isSetTransactionId()).compareTo(typedOther.isSetTransactionId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetTransactionId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.transactionId, typedOther.transactionId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // TRANSACTION_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.transactionId = iprot.readI64();
              setTransactionIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(TRANSACTION_ID_FIELD_DESC);
      oprot.writeI64(this.transactionId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("enqueueTransactionInfoEmail_args(");
      boolean first = true;

      sb.append("transactionId:");
      sb.append(this.transactionId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class enqueueTransactionInfoEmail_result implements org.apache.thrift.TBase<enqueueTransactionInfoEmail_result, enqueueTransactionInfoEmail_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("enqueueTransactionInfoEmail_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private boolean success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(enqueueTransactionInfoEmail_result.class, metaDataMap);
    }

    public enqueueTransactionInfoEmail_result() {
    }

    public enqueueTransactionInfoEmail_result(
      boolean success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public enqueueTransactionInfoEmail_result(enqueueTransactionInfoEmail_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public enqueueTransactionInfoEmail_result deepCopy() {
      return new enqueueTransactionInfoEmail_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = false;
      this.ex = null;
    }

    public boolean isSuccess() {
      return this.success;
    }

    public void setSuccess(boolean success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Boolean.valueOf(isSuccess());

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof enqueueTransactionInfoEmail_result)
        return this.equals((enqueueTransactionInfoEmail_result)that);
      return false;
    }

    public boolean equals(enqueueTransactionInfoEmail_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(enqueueTransactionInfoEmail_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      enqueueTransactionInfoEmail_result typedOther = (enqueueTransactionInfoEmail_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.success = iprot.readBool();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBool(this.success);
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("enqueueTransactionInfoEmail_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getAllOrders_args implements org.apache.thrift.TBase<getAllOrders_args, getAllOrders_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllOrders_args");

    private static final org.apache.thrift.protocol.TField STATUSES_FIELD_DESC = new org.apache.thrift.protocol.TField("statuses", org.apache.thrift.protocol.TType.LIST, (short)1);
    private static final org.apache.thrift.protocol.TField FROM_DATE_FIELD_DESC = new org.apache.thrift.protocol.TField("from_date", org.apache.thrift.protocol.TType.I64, (short)2);
    private static final org.apache.thrift.protocol.TField TO_DATE_FIELD_DESC = new org.apache.thrift.protocol.TField("to_date", org.apache.thrift.protocol.TType.I64, (short)3);
    private static final org.apache.thrift.protocol.TField WAREHOUSE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("warehouse_id", org.apache.thrift.protocol.TType.I64, (short)4);

    private List<OrderStatus> statuses; // required
    private long from_date; // required
    private long to_date; // required
    private long warehouse_id; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      STATUSES((short)1, "statuses"),
      FROM_DATE((short)2, "from_date"),
      TO_DATE((short)3, "to_date"),
      WAREHOUSE_ID((short)4, "warehouse_id");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // STATUSES
            return STATUSES;
          case 2: // FROM_DATE
            return FROM_DATE;
          case 3: // TO_DATE
            return TO_DATE;
          case 4: // WAREHOUSE_ID
            return WAREHOUSE_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __FROM_DATE_ISSET_ID = 0;
    private static final int __TO_DATE_ISSET_ID = 1;
    private static final int __WAREHOUSE_ID_ISSET_ID = 2;
    private BitSet __isset_bit_vector = new BitSet(3);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.STATUSES, new org.apache.thrift.meta_data.FieldMetaData("statuses", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, OrderStatus.class))));
      tmpMap.put(_Fields.FROM_DATE, new org.apache.thrift.meta_data.FieldMetaData("from_date", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.TO_DATE, new org.apache.thrift.meta_data.FieldMetaData("to_date", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.WAREHOUSE_ID, new org.apache.thrift.meta_data.FieldMetaData("warehouse_id", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAllOrders_args.class, metaDataMap);
    }

    public getAllOrders_args() {
    }

    public getAllOrders_args(
      List<OrderStatus> statuses,
      long from_date,
      long to_date,
      long warehouse_id)
    {
      this();
      this.statuses = statuses;
      this.from_date = from_date;
      setFrom_dateIsSet(true);
      this.to_date = to_date;
      setTo_dateIsSet(true);
      this.warehouse_id = warehouse_id;
      setWarehouse_idIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getAllOrders_args(getAllOrders_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      if (other.isSetStatuses()) {
        List<OrderStatus> __this__statuses = new ArrayList<OrderStatus>();
        for (OrderStatus other_element : other.statuses) {
          __this__statuses.add(other_element);
        }
        this.statuses = __this__statuses;
      }
      this.from_date = other.from_date;
      this.to_date = other.to_date;
      this.warehouse_id = other.warehouse_id;
    }

    public getAllOrders_args deepCopy() {
      return new getAllOrders_args(this);
    }

    @Override
    public void clear() {
      this.statuses = null;
      setFrom_dateIsSet(false);
      this.from_date = 0;
      setTo_dateIsSet(false);
      this.to_date = 0;
      setWarehouse_idIsSet(false);
      this.warehouse_id = 0;
    }

    public int getStatusesSize() {
      return (this.statuses == null) ? 0 : this.statuses.size();
    }

    public java.util.Iterator<OrderStatus> getStatusesIterator() {
      return (this.statuses == null) ? null : this.statuses.iterator();
    }

    public void addToStatuses(OrderStatus elem) {
      if (this.statuses == null) {
        this.statuses = new ArrayList<OrderStatus>();
      }
      this.statuses.add(elem);
    }

    public List<OrderStatus> getStatuses() {
      return this.statuses;
    }

    public void setStatuses(List<OrderStatus> statuses) {
      this.statuses = statuses;
    }

    public void unsetStatuses() {
      this.statuses = null;
    }

    /** Returns true if field statuses is set (has been assigned a value) and false otherwise */
    public boolean isSetStatuses() {
      return this.statuses != null;
    }

    public void setStatusesIsSet(boolean value) {
      if (!value) {
        this.statuses = null;
      }
    }

    public long getFrom_date() {
      return this.from_date;
    }

    public void setFrom_date(long from_date) {
      this.from_date = from_date;
      setFrom_dateIsSet(true);
    }

    public void unsetFrom_date() {
      __isset_bit_vector.clear(__FROM_DATE_ISSET_ID);
    }

    /** Returns true if field from_date is set (has been assigned a value) and false otherwise */
    public boolean isSetFrom_date() {
      return __isset_bit_vector.get(__FROM_DATE_ISSET_ID);
    }

    public void setFrom_dateIsSet(boolean value) {
      __isset_bit_vector.set(__FROM_DATE_ISSET_ID, value);
    }

    public long getTo_date() {
      return this.to_date;
    }

    public void setTo_date(long to_date) {
      this.to_date = to_date;
      setTo_dateIsSet(true);
    }

    public void unsetTo_date() {
      __isset_bit_vector.clear(__TO_DATE_ISSET_ID);
    }

    /** Returns true if field to_date is set (has been assigned a value) and false otherwise */
    public boolean isSetTo_date() {
      return __isset_bit_vector.get(__TO_DATE_ISSET_ID);
    }

    public void setTo_dateIsSet(boolean value) {
      __isset_bit_vector.set(__TO_DATE_ISSET_ID, value);
    }

    public long getWarehouse_id() {
      return this.warehouse_id;
    }

    public void setWarehouse_id(long warehouse_id) {
      this.warehouse_id = warehouse_id;
      setWarehouse_idIsSet(true);
    }

    public void unsetWarehouse_id() {
      __isset_bit_vector.clear(__WAREHOUSE_ID_ISSET_ID);
    }

    /** Returns true if field warehouse_id is set (has been assigned a value) and false otherwise */
    public boolean isSetWarehouse_id() {
      return __isset_bit_vector.get(__WAREHOUSE_ID_ISSET_ID);
    }

    public void setWarehouse_idIsSet(boolean value) {
      __isset_bit_vector.set(__WAREHOUSE_ID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case STATUSES:
        if (value == null) {
          unsetStatuses();
        } else {
          setStatuses((List<OrderStatus>)value);
        }
        break;

      case FROM_DATE:
        if (value == null) {
          unsetFrom_date();
        } else {
          setFrom_date((Long)value);
        }
        break;

      case TO_DATE:
        if (value == null) {
          unsetTo_date();
        } else {
          setTo_date((Long)value);
        }
        break;

      case WAREHOUSE_ID:
        if (value == null) {
          unsetWarehouse_id();
        } else {
          setWarehouse_id((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case STATUSES:
        return getStatuses();

      case FROM_DATE:
        return Long.valueOf(getFrom_date());

      case TO_DATE:
        return Long.valueOf(getTo_date());

      case WAREHOUSE_ID:
        return Long.valueOf(getWarehouse_id());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case STATUSES:
        return isSetStatuses();
      case FROM_DATE:
        return isSetFrom_date();
      case TO_DATE:
        return isSetTo_date();
      case WAREHOUSE_ID:
        return isSetWarehouse_id();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getAllOrders_args)
        return this.equals((getAllOrders_args)that);
      return false;
    }

    public boolean equals(getAllOrders_args that) {
      if (that == null)
        return false;

      boolean this_present_statuses = true && this.isSetStatuses();
      boolean that_present_statuses = true && that.isSetStatuses();
      if (this_present_statuses || that_present_statuses) {
        if (!(this_present_statuses && that_present_statuses))
          return false;
        if (!this.statuses.equals(that.statuses))
          return false;
      }

      boolean this_present_from_date = true;
      boolean that_present_from_date = true;
      if (this_present_from_date || that_present_from_date) {
        if (!(this_present_from_date && that_present_from_date))
          return false;
        if (this.from_date != that.from_date)
          return false;
      }

      boolean this_present_to_date = true;
      boolean that_present_to_date = true;
      if (this_present_to_date || that_present_to_date) {
        if (!(this_present_to_date && that_present_to_date))
          return false;
        if (this.to_date != that.to_date)
          return false;
      }

      boolean this_present_warehouse_id = true;
      boolean that_present_warehouse_id = true;
      if (this_present_warehouse_id || that_present_warehouse_id) {
        if (!(this_present_warehouse_id && that_present_warehouse_id))
          return false;
        if (this.warehouse_id != that.warehouse_id)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getAllOrders_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getAllOrders_args typedOther = (getAllOrders_args)other;

      lastComparison = Boolean.valueOf(isSetStatuses()).compareTo(typedOther.isSetStatuses());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetStatuses()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.statuses, typedOther.statuses);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetFrom_date()).compareTo(typedOther.isSetFrom_date());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetFrom_date()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.from_date, typedOther.from_date);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetTo_date()).compareTo(typedOther.isSetTo_date());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetTo_date()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.to_date, typedOther.to_date);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetWarehouse_id()).compareTo(typedOther.isSetWarehouse_id());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetWarehouse_id()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.warehouse_id, typedOther.warehouse_id);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // STATUSES
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list84 = iprot.readListBegin();
                this.statuses = new ArrayList<OrderStatus>(_list84.size);
                for (int _i85 = 0; _i85 < _list84.size; ++_i85)
                {
                  OrderStatus _elem86; // required
                  _elem86 = OrderStatus.findByValue(iprot.readI32());
                  this.statuses.add(_elem86);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // FROM_DATE
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.from_date = iprot.readI64();
              setFrom_dateIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // TO_DATE
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.to_date = iprot.readI64();
              setTo_dateIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 4: // WAREHOUSE_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.warehouse_id = iprot.readI64();
              setWarehouse_idIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.statuses != null) {
        oprot.writeFieldBegin(STATUSES_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I32, this.statuses.size()));
          for (OrderStatus _iter87 : this.statuses)
          {
            oprot.writeI32(_iter87.getValue());
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldBegin(FROM_DATE_FIELD_DESC);
      oprot.writeI64(this.from_date);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(TO_DATE_FIELD_DESC);
      oprot.writeI64(this.to_date);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(WAREHOUSE_ID_FIELD_DESC);
      oprot.writeI64(this.warehouse_id);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getAllOrders_args(");
      boolean first = true;

      sb.append("statuses:");
      if (this.statuses == null) {
        sb.append("null");
      } else {
        sb.append(this.statuses);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("from_date:");
      sb.append(this.from_date);
      first = false;
      if (!first) sb.append(", ");
      sb.append("to_date:");
      sb.append(this.to_date);
      first = false;
      if (!first) sb.append(", ");
      sb.append("warehouse_id:");
      sb.append(this.warehouse_id);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getAllOrders_result implements org.apache.thrift.TBase<getAllOrders_result, getAllOrders_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllOrders_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private List<Order> success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Order.class))));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAllOrders_result.class, metaDataMap);
    }

    public getAllOrders_result() {
    }

    public getAllOrders_result(
      List<Order> success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getAllOrders_result(getAllOrders_result other) {
      if (other.isSetSuccess()) {
        List<Order> __this__success = new ArrayList<Order>();
        for (Order other_element : other.success) {
          __this__success.add(new Order(other_element));
        }
        this.success = __this__success;
      }
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public getAllOrders_result deepCopy() {
      return new getAllOrders_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.ex = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<Order> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(Order elem) {
      if (this.success == null) {
        this.success = new ArrayList<Order>();
      }
      this.success.add(elem);
    }

    public List<Order> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<Order> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<Order>)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getAllOrders_result)
        return this.equals((getAllOrders_result)that);
      return false;
    }

    public boolean equals(getAllOrders_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getAllOrders_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getAllOrders_result typedOther = (getAllOrders_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list88 = iprot.readListBegin();
                this.success = new ArrayList<Order>(_list88.size);
                for (int _i89 = 0; _i89 < _list88.size; ++_i89)
                {
                  Order _elem90; // required
                  _elem90 = new Order();
                  _elem90.read(iprot);
                  this.success.add(_elem90);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (Order _iter91 : this.success)
          {
            _iter91.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getAllOrders_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getOrdersInBatch_args implements org.apache.thrift.TBase<getOrdersInBatch_args, getOrdersInBatch_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getOrdersInBatch_args");

    private static final org.apache.thrift.protocol.TField STATUSES_FIELD_DESC = new org.apache.thrift.protocol.TField("statuses", org.apache.thrift.protocol.TType.LIST, (short)1);
    private static final org.apache.thrift.protocol.TField OFFSET_FIELD_DESC = new org.apache.thrift.protocol.TField("offset", org.apache.thrift.protocol.TType.I64, (short)2);
    private static final org.apache.thrift.protocol.TField LIMIT_FIELD_DESC = new org.apache.thrift.protocol.TField("limit", org.apache.thrift.protocol.TType.I64, (short)3);
    private static final org.apache.thrift.protocol.TField WAREHOUSE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("warehouse_id", org.apache.thrift.protocol.TType.I64, (short)4);
    private static final org.apache.thrift.protocol.TField SOURCE_FIELD_DESC = new org.apache.thrift.protocol.TField("source", org.apache.thrift.protocol.TType.I64, (short)5);

    private List<OrderStatus> statuses; // required
    private long offset; // required
    private long limit; // required
    private long warehouse_id; // required
    private long source; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      STATUSES((short)1, "statuses"),
      OFFSET((short)2, "offset"),
      LIMIT((short)3, "limit"),
      WAREHOUSE_ID((short)4, "warehouse_id"),
      SOURCE((short)5, "source");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // STATUSES
            return STATUSES;
          case 2: // OFFSET
            return OFFSET;
          case 3: // LIMIT
            return LIMIT;
          case 4: // WAREHOUSE_ID
            return WAREHOUSE_ID;
          case 5: // SOURCE
            return SOURCE;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __OFFSET_ISSET_ID = 0;
    private static final int __LIMIT_ISSET_ID = 1;
    private static final int __WAREHOUSE_ID_ISSET_ID = 2;
    private static final int __SOURCE_ISSET_ID = 3;
    private BitSet __isset_bit_vector = new BitSet(4);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.STATUSES, new org.apache.thrift.meta_data.FieldMetaData("statuses", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, OrderStatus.class))));
      tmpMap.put(_Fields.OFFSET, new org.apache.thrift.meta_data.FieldMetaData("offset", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.LIMIT, new org.apache.thrift.meta_data.FieldMetaData("limit", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.WAREHOUSE_ID, new org.apache.thrift.meta_data.FieldMetaData("warehouse_id", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.SOURCE, new org.apache.thrift.meta_data.FieldMetaData("source", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getOrdersInBatch_args.class, metaDataMap);
    }

    public getOrdersInBatch_args() {
    }

    public getOrdersInBatch_args(
      List<OrderStatus> statuses,
      long offset,
      long limit,
      long warehouse_id,
      long source)
    {
      this();
      this.statuses = statuses;
      this.offset = offset;
      setOffsetIsSet(true);
      this.limit = limit;
      setLimitIsSet(true);
      this.warehouse_id = warehouse_id;
      setWarehouse_idIsSet(true);
      this.source = source;
      setSourceIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getOrdersInBatch_args(getOrdersInBatch_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      if (other.isSetStatuses()) {
        List<OrderStatus> __this__statuses = new ArrayList<OrderStatus>();
        for (OrderStatus other_element : other.statuses) {
          __this__statuses.add(other_element);
        }
        this.statuses = __this__statuses;
      }
      this.offset = other.offset;
      this.limit = other.limit;
      this.warehouse_id = other.warehouse_id;
      this.source = other.source;
    }

    public getOrdersInBatch_args deepCopy() {
      return new getOrdersInBatch_args(this);
    }

    @Override
    public void clear() {
      this.statuses = null;
      setOffsetIsSet(false);
      this.offset = 0;
      setLimitIsSet(false);
      this.limit = 0;
      setWarehouse_idIsSet(false);
      this.warehouse_id = 0;
      setSourceIsSet(false);
      this.source = 0;
    }

    public int getStatusesSize() {
      return (this.statuses == null) ? 0 : this.statuses.size();
    }

    public java.util.Iterator<OrderStatus> getStatusesIterator() {
      return (this.statuses == null) ? null : this.statuses.iterator();
    }

    public void addToStatuses(OrderStatus elem) {
      if (this.statuses == null) {
        this.statuses = new ArrayList<OrderStatus>();
      }
      this.statuses.add(elem);
    }

    public List<OrderStatus> getStatuses() {
      return this.statuses;
    }

    public void setStatuses(List<OrderStatus> statuses) {
      this.statuses = statuses;
    }

    public void unsetStatuses() {
      this.statuses = null;
    }

    /** Returns true if field statuses is set (has been assigned a value) and false otherwise */
    public boolean isSetStatuses() {
      return this.statuses != null;
    }

    public void setStatusesIsSet(boolean value) {
      if (!value) {
        this.statuses = null;
      }
    }

    public long getOffset() {
      return this.offset;
    }

    public void setOffset(long offset) {
      this.offset = offset;
      setOffsetIsSet(true);
    }

    public void unsetOffset() {
      __isset_bit_vector.clear(__OFFSET_ISSET_ID);
    }

    /** Returns true if field offset is set (has been assigned a value) and false otherwise */
    public boolean isSetOffset() {
      return __isset_bit_vector.get(__OFFSET_ISSET_ID);
    }

    public void setOffsetIsSet(boolean value) {
      __isset_bit_vector.set(__OFFSET_ISSET_ID, value);
    }

    public long getLimit() {
      return this.limit;
    }

    public void setLimit(long limit) {
      this.limit = limit;
      setLimitIsSet(true);
    }

    public void unsetLimit() {
      __isset_bit_vector.clear(__LIMIT_ISSET_ID);
    }

    /** Returns true if field limit is set (has been assigned a value) and false otherwise */
    public boolean isSetLimit() {
      return __isset_bit_vector.get(__LIMIT_ISSET_ID);
    }

    public void setLimitIsSet(boolean value) {
      __isset_bit_vector.set(__LIMIT_ISSET_ID, value);
    }

    public long getWarehouse_id() {
      return this.warehouse_id;
    }

    public void setWarehouse_id(long warehouse_id) {
      this.warehouse_id = warehouse_id;
      setWarehouse_idIsSet(true);
    }

    public void unsetWarehouse_id() {
      __isset_bit_vector.clear(__WAREHOUSE_ID_ISSET_ID);
    }

    /** Returns true if field warehouse_id is set (has been assigned a value) and false otherwise */
    public boolean isSetWarehouse_id() {
      return __isset_bit_vector.get(__WAREHOUSE_ID_ISSET_ID);
    }

    public void setWarehouse_idIsSet(boolean value) {
      __isset_bit_vector.set(__WAREHOUSE_ID_ISSET_ID, value);
    }

    public long getSource() {
      return this.source;
    }

    public void setSource(long source) {
      this.source = source;
      setSourceIsSet(true);
    }

    public void unsetSource() {
      __isset_bit_vector.clear(__SOURCE_ISSET_ID);
    }

    /** Returns true if field source is set (has been assigned a value) and false otherwise */
    public boolean isSetSource() {
      return __isset_bit_vector.get(__SOURCE_ISSET_ID);
    }

    public void setSourceIsSet(boolean value) {
      __isset_bit_vector.set(__SOURCE_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case STATUSES:
        if (value == null) {
          unsetStatuses();
        } else {
          setStatuses((List<OrderStatus>)value);
        }
        break;

      case OFFSET:
        if (value == null) {
          unsetOffset();
        } else {
          setOffset((Long)value);
        }
        break;

      case LIMIT:
        if (value == null) {
          unsetLimit();
        } else {
          setLimit((Long)value);
        }
        break;

      case WAREHOUSE_ID:
        if (value == null) {
          unsetWarehouse_id();
        } else {
          setWarehouse_id((Long)value);
        }
        break;

      case SOURCE:
        if (value == null) {
          unsetSource();
        } else {
          setSource((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case STATUSES:
        return getStatuses();

      case OFFSET:
        return Long.valueOf(getOffset());

      case LIMIT:
        return Long.valueOf(getLimit());

      case WAREHOUSE_ID:
        return Long.valueOf(getWarehouse_id());

      case SOURCE:
        return Long.valueOf(getSource());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case STATUSES:
        return isSetStatuses();
      case OFFSET:
        return isSetOffset();
      case LIMIT:
        return isSetLimit();
      case WAREHOUSE_ID:
        return isSetWarehouse_id();
      case SOURCE:
        return isSetSource();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getOrdersInBatch_args)
        return this.equals((getOrdersInBatch_args)that);
      return false;
    }

    public boolean equals(getOrdersInBatch_args that) {
      if (that == null)
        return false;

      boolean this_present_statuses = true && this.isSetStatuses();
      boolean that_present_statuses = true && that.isSetStatuses();
      if (this_present_statuses || that_present_statuses) {
        if (!(this_present_statuses && that_present_statuses))
          return false;
        if (!this.statuses.equals(that.statuses))
          return false;
      }

      boolean this_present_offset = true;
      boolean that_present_offset = true;
      if (this_present_offset || that_present_offset) {
        if (!(this_present_offset && that_present_offset))
          return false;
        if (this.offset != that.offset)
          return false;
      }

      boolean this_present_limit = true;
      boolean that_present_limit = true;
      if (this_present_limit || that_present_limit) {
        if (!(this_present_limit && that_present_limit))
          return false;
        if (this.limit != that.limit)
          return false;
      }

      boolean this_present_warehouse_id = true;
      boolean that_present_warehouse_id = true;
      if (this_present_warehouse_id || that_present_warehouse_id) {
        if (!(this_present_warehouse_id && that_present_warehouse_id))
          return false;
        if (this.warehouse_id != that.warehouse_id)
          return false;
      }

      boolean this_present_source = true;
      boolean that_present_source = true;
      if (this_present_source || that_present_source) {
        if (!(this_present_source && that_present_source))
          return false;
        if (this.source != that.source)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getOrdersInBatch_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getOrdersInBatch_args typedOther = (getOrdersInBatch_args)other;

      lastComparison = Boolean.valueOf(isSetStatuses()).compareTo(typedOther.isSetStatuses());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetStatuses()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.statuses, typedOther.statuses);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetOffset()).compareTo(typedOther.isSetOffset());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOffset()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.offset, typedOther.offset);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetLimit()).compareTo(typedOther.isSetLimit());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetLimit()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.limit, typedOther.limit);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetWarehouse_id()).compareTo(typedOther.isSetWarehouse_id());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetWarehouse_id()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.warehouse_id, typedOther.warehouse_id);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetSource()).compareTo(typedOther.isSetSource());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSource()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.source, typedOther.source);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // STATUSES
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list92 = iprot.readListBegin();
                this.statuses = new ArrayList<OrderStatus>(_list92.size);
                for (int _i93 = 0; _i93 < _list92.size; ++_i93)
                {
                  OrderStatus _elem94; // required
                  _elem94 = OrderStatus.findByValue(iprot.readI32());
                  this.statuses.add(_elem94);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // OFFSET
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.offset = iprot.readI64();
              setOffsetIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // LIMIT
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.limit = iprot.readI64();
              setLimitIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 4: // WAREHOUSE_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.warehouse_id = iprot.readI64();
              setWarehouse_idIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 5: // SOURCE
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.source = iprot.readI64();
              setSourceIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.statuses != null) {
        oprot.writeFieldBegin(STATUSES_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I32, this.statuses.size()));
          for (OrderStatus _iter95 : this.statuses)
          {
            oprot.writeI32(_iter95.getValue());
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldBegin(OFFSET_FIELD_DESC);
      oprot.writeI64(this.offset);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(LIMIT_FIELD_DESC);
      oprot.writeI64(this.limit);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(WAREHOUSE_ID_FIELD_DESC);
      oprot.writeI64(this.warehouse_id);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(SOURCE_FIELD_DESC);
      oprot.writeI64(this.source);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getOrdersInBatch_args(");
      boolean first = true;

      sb.append("statuses:");
      if (this.statuses == null) {
        sb.append("null");
      } else {
        sb.append(this.statuses);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("offset:");
      sb.append(this.offset);
      first = false;
      if (!first) sb.append(", ");
      sb.append("limit:");
      sb.append(this.limit);
      first = false;
      if (!first) sb.append(", ");
      sb.append("warehouse_id:");
      sb.append(this.warehouse_id);
      first = false;
      if (!first) sb.append(", ");
      sb.append("source:");
      sb.append(this.source);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getOrdersInBatch_result implements org.apache.thrift.TBase<getOrdersInBatch_result, getOrdersInBatch_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getOrdersInBatch_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private List<Order> success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Order.class))));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getOrdersInBatch_result.class, metaDataMap);
    }

    public getOrdersInBatch_result() {
    }

    public getOrdersInBatch_result(
      List<Order> success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getOrdersInBatch_result(getOrdersInBatch_result other) {
      if (other.isSetSuccess()) {
        List<Order> __this__success = new ArrayList<Order>();
        for (Order other_element : other.success) {
          __this__success.add(new Order(other_element));
        }
        this.success = __this__success;
      }
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public getOrdersInBatch_result deepCopy() {
      return new getOrdersInBatch_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.ex = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<Order> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(Order elem) {
      if (this.success == null) {
        this.success = new ArrayList<Order>();
      }
      this.success.add(elem);
    }

    public List<Order> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<Order> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<Order>)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getOrdersInBatch_result)
        return this.equals((getOrdersInBatch_result)that);
      return false;
    }

    public boolean equals(getOrdersInBatch_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getOrdersInBatch_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getOrdersInBatch_result typedOther = (getOrdersInBatch_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list96 = iprot.readListBegin();
                this.success = new ArrayList<Order>(_list96.size);
                for (int _i97 = 0; _i97 < _list96.size; ++_i97)
                {
                  Order _elem98; // required
                  _elem98 = new Order();
                  _elem98.read(iprot);
                  this.success.add(_elem98);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (Order _iter99 : this.success)
          {
            _iter99.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getOrdersInBatch_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getOrderCount_args implements org.apache.thrift.TBase<getOrderCount_args, getOrderCount_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getOrderCount_args");

    private static final org.apache.thrift.protocol.TField STATUSES_FIELD_DESC = new org.apache.thrift.protocol.TField("statuses", org.apache.thrift.protocol.TType.LIST, (short)1);
    private static final org.apache.thrift.protocol.TField WAREHOUSE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("warehouseId", org.apache.thrift.protocol.TType.I64, (short)2);
    private static final org.apache.thrift.protocol.TField SOURCE_FIELD_DESC = new org.apache.thrift.protocol.TField("source", org.apache.thrift.protocol.TType.I64, (short)3);

    private List<OrderStatus> statuses; // required
    private long warehouseId; // required
    private long source; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      STATUSES((short)1, "statuses"),
      WAREHOUSE_ID((short)2, "warehouseId"),
      SOURCE((short)3, "source");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // STATUSES
            return STATUSES;
          case 2: // WAREHOUSE_ID
            return WAREHOUSE_ID;
          case 3: // SOURCE
            return SOURCE;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __WAREHOUSEID_ISSET_ID = 0;
    private static final int __SOURCE_ISSET_ID = 1;
    private BitSet __isset_bit_vector = new BitSet(2);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.STATUSES, new org.apache.thrift.meta_data.FieldMetaData("statuses", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, OrderStatus.class))));
      tmpMap.put(_Fields.WAREHOUSE_ID, new org.apache.thrift.meta_data.FieldMetaData("warehouseId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.SOURCE, new org.apache.thrift.meta_data.FieldMetaData("source", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getOrderCount_args.class, metaDataMap);
    }

    public getOrderCount_args() {
    }

    public getOrderCount_args(
      List<OrderStatus> statuses,
      long warehouseId,
      long source)
    {
      this();
      this.statuses = statuses;
      this.warehouseId = warehouseId;
      setWarehouseIdIsSet(true);
      this.source = source;
      setSourceIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getOrderCount_args(getOrderCount_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      if (other.isSetStatuses()) {
        List<OrderStatus> __this__statuses = new ArrayList<OrderStatus>();
        for (OrderStatus other_element : other.statuses) {
          __this__statuses.add(other_element);
        }
        this.statuses = __this__statuses;
      }
      this.warehouseId = other.warehouseId;
      this.source = other.source;
    }

    public getOrderCount_args deepCopy() {
      return new getOrderCount_args(this);
    }

    @Override
    public void clear() {
      this.statuses = null;
      setWarehouseIdIsSet(false);
      this.warehouseId = 0;
      setSourceIsSet(false);
      this.source = 0;
    }

    public int getStatusesSize() {
      return (this.statuses == null) ? 0 : this.statuses.size();
    }

    public java.util.Iterator<OrderStatus> getStatusesIterator() {
      return (this.statuses == null) ? null : this.statuses.iterator();
    }

    public void addToStatuses(OrderStatus elem) {
      if (this.statuses == null) {
        this.statuses = new ArrayList<OrderStatus>();
      }
      this.statuses.add(elem);
    }

    public List<OrderStatus> getStatuses() {
      return this.statuses;
    }

    public void setStatuses(List<OrderStatus> statuses) {
      this.statuses = statuses;
    }

    public void unsetStatuses() {
      this.statuses = null;
    }

    /** Returns true if field statuses is set (has been assigned a value) and false otherwise */
    public boolean isSetStatuses() {
      return this.statuses != null;
    }

    public void setStatusesIsSet(boolean value) {
      if (!value) {
        this.statuses = null;
      }
    }

    public long getWarehouseId() {
      return this.warehouseId;
    }

    public void setWarehouseId(long warehouseId) {
      this.warehouseId = warehouseId;
      setWarehouseIdIsSet(true);
    }

    public void unsetWarehouseId() {
      __isset_bit_vector.clear(__WAREHOUSEID_ISSET_ID);
    }

    /** Returns true if field warehouseId is set (has been assigned a value) and false otherwise */
    public boolean isSetWarehouseId() {
      return __isset_bit_vector.get(__WAREHOUSEID_ISSET_ID);
    }

    public void setWarehouseIdIsSet(boolean value) {
      __isset_bit_vector.set(__WAREHOUSEID_ISSET_ID, value);
    }

    public long getSource() {
      return this.source;
    }

    public void setSource(long source) {
      this.source = source;
      setSourceIsSet(true);
    }

    public void unsetSource() {
      __isset_bit_vector.clear(__SOURCE_ISSET_ID);
    }

    /** Returns true if field source is set (has been assigned a value) and false otherwise */
    public boolean isSetSource() {
      return __isset_bit_vector.get(__SOURCE_ISSET_ID);
    }

    public void setSourceIsSet(boolean value) {
      __isset_bit_vector.set(__SOURCE_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case STATUSES:
        if (value == null) {
          unsetStatuses();
        } else {
          setStatuses((List<OrderStatus>)value);
        }
        break;

      case WAREHOUSE_ID:
        if (value == null) {
          unsetWarehouseId();
        } else {
          setWarehouseId((Long)value);
        }
        break;

      case SOURCE:
        if (value == null) {
          unsetSource();
        } else {
          setSource((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case STATUSES:
        return getStatuses();

      case WAREHOUSE_ID:
        return Long.valueOf(getWarehouseId());

      case SOURCE:
        return Long.valueOf(getSource());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case STATUSES:
        return isSetStatuses();
      case WAREHOUSE_ID:
        return isSetWarehouseId();
      case SOURCE:
        return isSetSource();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getOrderCount_args)
        return this.equals((getOrderCount_args)that);
      return false;
    }

    public boolean equals(getOrderCount_args that) {
      if (that == null)
        return false;

      boolean this_present_statuses = true && this.isSetStatuses();
      boolean that_present_statuses = true && that.isSetStatuses();
      if (this_present_statuses || that_present_statuses) {
        if (!(this_present_statuses && that_present_statuses))
          return false;
        if (!this.statuses.equals(that.statuses))
          return false;
      }

      boolean this_present_warehouseId = true;
      boolean that_present_warehouseId = true;
      if (this_present_warehouseId || that_present_warehouseId) {
        if (!(this_present_warehouseId && that_present_warehouseId))
          return false;
        if (this.warehouseId != that.warehouseId)
          return false;
      }

      boolean this_present_source = true;
      boolean that_present_source = true;
      if (this_present_source || that_present_source) {
        if (!(this_present_source && that_present_source))
          return false;
        if (this.source != that.source)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getOrderCount_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getOrderCount_args typedOther = (getOrderCount_args)other;

      lastComparison = Boolean.valueOf(isSetStatuses()).compareTo(typedOther.isSetStatuses());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetStatuses()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.statuses, typedOther.statuses);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetWarehouseId()).compareTo(typedOther.isSetWarehouseId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetWarehouseId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.warehouseId, typedOther.warehouseId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetSource()).compareTo(typedOther.isSetSource());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSource()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.source, typedOther.source);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // STATUSES
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list100 = iprot.readListBegin();
                this.statuses = new ArrayList<OrderStatus>(_list100.size);
                for (int _i101 = 0; _i101 < _list100.size; ++_i101)
                {
                  OrderStatus _elem102; // required
                  _elem102 = OrderStatus.findByValue(iprot.readI32());
                  this.statuses.add(_elem102);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // WAREHOUSE_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.warehouseId = iprot.readI64();
              setWarehouseIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // SOURCE
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.source = iprot.readI64();
              setSourceIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.statuses != null) {
        oprot.writeFieldBegin(STATUSES_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I32, this.statuses.size()));
          for (OrderStatus _iter103 : this.statuses)
          {
            oprot.writeI32(_iter103.getValue());
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldBegin(WAREHOUSE_ID_FIELD_DESC);
      oprot.writeI64(this.warehouseId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(SOURCE_FIELD_DESC);
      oprot.writeI64(this.source);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getOrderCount_args(");
      boolean first = true;

      sb.append("statuses:");
      if (this.statuses == null) {
        sb.append("null");
      } else {
        sb.append(this.statuses);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("warehouseId:");
      sb.append(this.warehouseId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("source:");
      sb.append(this.source);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getOrderCount_result implements org.apache.thrift.TBase<getOrderCount_result, getOrderCount_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getOrderCount_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.I32, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private int success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getOrderCount_result.class, metaDataMap);
    }

    public getOrderCount_result() {
    }

    public getOrderCount_result(
      int success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getOrderCount_result(getOrderCount_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public getOrderCount_result deepCopy() {
      return new getOrderCount_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = 0;
      this.ex = null;
    }

    public int getSuccess() {
      return this.success;
    }

    public void setSuccess(int success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Integer)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Integer.valueOf(getSuccess());

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getOrderCount_result)
        return this.equals((getOrderCount_result)that);
      return false;
    }

    public boolean equals(getOrderCount_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getOrderCount_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getOrderCount_result typedOther = (getOrderCount_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.I32) {
              this.success = iprot.readI32();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeI32(this.success);
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getOrderCount_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getOrdersByBillingDate_args implements org.apache.thrift.TBase<getOrdersByBillingDate_args, getOrdersByBillingDate_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getOrdersByBillingDate_args");

    private static final org.apache.thrift.protocol.TField STATUS_FIELD_DESC = new org.apache.thrift.protocol.TField("status", org.apache.thrift.protocol.TType.I32, (short)1);
    private static final org.apache.thrift.protocol.TField START_BILLING_DATE_FIELD_DESC = new org.apache.thrift.protocol.TField("start_billing_date", org.apache.thrift.protocol.TType.I64, (short)2);
    private static final org.apache.thrift.protocol.TField END_BILLING_DATE_FIELD_DESC = new org.apache.thrift.protocol.TField("end_billing_date", org.apache.thrift.protocol.TType.I64, (short)3);
    private static final org.apache.thrift.protocol.TField WAREHOUSE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("warehouse_id", org.apache.thrift.protocol.TType.I64, (short)4);

    private OrderStatus status; // required
    private long start_billing_date; // required
    private long end_billing_date; // required
    private long warehouse_id; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      /**
       * 
       * @see OrderStatus
       */
      STATUS((short)1, "status"),
      START_BILLING_DATE((short)2, "start_billing_date"),
      END_BILLING_DATE((short)3, "end_billing_date"),
      WAREHOUSE_ID((short)4, "warehouse_id");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // STATUS
            return STATUS;
          case 2: // START_BILLING_DATE
            return START_BILLING_DATE;
          case 3: // END_BILLING_DATE
            return END_BILLING_DATE;
          case 4: // WAREHOUSE_ID
            return WAREHOUSE_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __START_BILLING_DATE_ISSET_ID = 0;
    private static final int __END_BILLING_DATE_ISSET_ID = 1;
    private static final int __WAREHOUSE_ID_ISSET_ID = 2;
    private BitSet __isset_bit_vector = new BitSet(3);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.STATUS, new org.apache.thrift.meta_data.FieldMetaData("status", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, OrderStatus.class)));
      tmpMap.put(_Fields.START_BILLING_DATE, new org.apache.thrift.meta_data.FieldMetaData("start_billing_date", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.END_BILLING_DATE, new org.apache.thrift.meta_data.FieldMetaData("end_billing_date", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.WAREHOUSE_ID, new org.apache.thrift.meta_data.FieldMetaData("warehouse_id", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getOrdersByBillingDate_args.class, metaDataMap);
    }

    public getOrdersByBillingDate_args() {
    }

    public getOrdersByBillingDate_args(
      OrderStatus status,
      long start_billing_date,
      long end_billing_date,
      long warehouse_id)
    {
      this();
      this.status = status;
      this.start_billing_date = start_billing_date;
      setStart_billing_dateIsSet(true);
      this.end_billing_date = end_billing_date;
      setEnd_billing_dateIsSet(true);
      this.warehouse_id = warehouse_id;
      setWarehouse_idIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getOrdersByBillingDate_args(getOrdersByBillingDate_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      if (other.isSetStatus()) {
        this.status = other.status;
      }
      this.start_billing_date = other.start_billing_date;
      this.end_billing_date = other.end_billing_date;
      this.warehouse_id = other.warehouse_id;
    }

    public getOrdersByBillingDate_args deepCopy() {
      return new getOrdersByBillingDate_args(this);
    }

    @Override
    public void clear() {
      this.status = null;
      setStart_billing_dateIsSet(false);
      this.start_billing_date = 0;
      setEnd_billing_dateIsSet(false);
      this.end_billing_date = 0;
      setWarehouse_idIsSet(false);
      this.warehouse_id = 0;
    }

    /**
     * 
     * @see OrderStatus
     */
    public OrderStatus getStatus() {
      return this.status;
    }

    /**
     * 
     * @see OrderStatus
     */
    public void setStatus(OrderStatus status) {
      this.status = status;
    }

    public void unsetStatus() {
      this.status = null;
    }

    /** Returns true if field status is set (has been assigned a value) and false otherwise */
    public boolean isSetStatus() {
      return this.status != null;
    }

    public void setStatusIsSet(boolean value) {
      if (!value) {
        this.status = null;
      }
    }

    public long getStart_billing_date() {
      return this.start_billing_date;
    }

    public void setStart_billing_date(long start_billing_date) {
      this.start_billing_date = start_billing_date;
      setStart_billing_dateIsSet(true);
    }

    public void unsetStart_billing_date() {
      __isset_bit_vector.clear(__START_BILLING_DATE_ISSET_ID);
    }

    /** Returns true if field start_billing_date is set (has been assigned a value) and false otherwise */
    public boolean isSetStart_billing_date() {
      return __isset_bit_vector.get(__START_BILLING_DATE_ISSET_ID);
    }

    public void setStart_billing_dateIsSet(boolean value) {
      __isset_bit_vector.set(__START_BILLING_DATE_ISSET_ID, value);
    }

    public long getEnd_billing_date() {
      return this.end_billing_date;
    }

    public void setEnd_billing_date(long end_billing_date) {
      this.end_billing_date = end_billing_date;
      setEnd_billing_dateIsSet(true);
    }

    public void unsetEnd_billing_date() {
      __isset_bit_vector.clear(__END_BILLING_DATE_ISSET_ID);
    }

    /** Returns true if field end_billing_date is set (has been assigned a value) and false otherwise */
    public boolean isSetEnd_billing_date() {
      return __isset_bit_vector.get(__END_BILLING_DATE_ISSET_ID);
    }

    public void setEnd_billing_dateIsSet(boolean value) {
      __isset_bit_vector.set(__END_BILLING_DATE_ISSET_ID, value);
    }

    public long getWarehouse_id() {
      return this.warehouse_id;
    }

    public void setWarehouse_id(long warehouse_id) {
      this.warehouse_id = warehouse_id;
      setWarehouse_idIsSet(true);
    }

    public void unsetWarehouse_id() {
      __isset_bit_vector.clear(__WAREHOUSE_ID_ISSET_ID);
    }

    /** Returns true if field warehouse_id is set (has been assigned a value) and false otherwise */
    public boolean isSetWarehouse_id() {
      return __isset_bit_vector.get(__WAREHOUSE_ID_ISSET_ID);
    }

    public void setWarehouse_idIsSet(boolean value) {
      __isset_bit_vector.set(__WAREHOUSE_ID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case STATUS:
        if (value == null) {
          unsetStatus();
        } else {
          setStatus((OrderStatus)value);
        }
        break;

      case START_BILLING_DATE:
        if (value == null) {
          unsetStart_billing_date();
        } else {
          setStart_billing_date((Long)value);
        }
        break;

      case END_BILLING_DATE:
        if (value == null) {
          unsetEnd_billing_date();
        } else {
          setEnd_billing_date((Long)value);
        }
        break;

      case WAREHOUSE_ID:
        if (value == null) {
          unsetWarehouse_id();
        } else {
          setWarehouse_id((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case STATUS:
        return getStatus();

      case START_BILLING_DATE:
        return Long.valueOf(getStart_billing_date());

      case END_BILLING_DATE:
        return Long.valueOf(getEnd_billing_date());

      case WAREHOUSE_ID:
        return Long.valueOf(getWarehouse_id());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case STATUS:
        return isSetStatus();
      case START_BILLING_DATE:
        return isSetStart_billing_date();
      case END_BILLING_DATE:
        return isSetEnd_billing_date();
      case WAREHOUSE_ID:
        return isSetWarehouse_id();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getOrdersByBillingDate_args)
        return this.equals((getOrdersByBillingDate_args)that);
      return false;
    }

    public boolean equals(getOrdersByBillingDate_args that) {
      if (that == null)
        return false;

      boolean this_present_status = true && this.isSetStatus();
      boolean that_present_status = true && that.isSetStatus();
      if (this_present_status || that_present_status) {
        if (!(this_present_status && that_present_status))
          return false;
        if (!this.status.equals(that.status))
          return false;
      }

      boolean this_present_start_billing_date = true;
      boolean that_present_start_billing_date = true;
      if (this_present_start_billing_date || that_present_start_billing_date) {
        if (!(this_present_start_billing_date && that_present_start_billing_date))
          return false;
        if (this.start_billing_date != that.start_billing_date)
          return false;
      }

      boolean this_present_end_billing_date = true;
      boolean that_present_end_billing_date = true;
      if (this_present_end_billing_date || that_present_end_billing_date) {
        if (!(this_present_end_billing_date && that_present_end_billing_date))
          return false;
        if (this.end_billing_date != that.end_billing_date)
          return false;
      }

      boolean this_present_warehouse_id = true;
      boolean that_present_warehouse_id = true;
      if (this_present_warehouse_id || that_present_warehouse_id) {
        if (!(this_present_warehouse_id && that_present_warehouse_id))
          return false;
        if (this.warehouse_id != that.warehouse_id)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getOrdersByBillingDate_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getOrdersByBillingDate_args typedOther = (getOrdersByBillingDate_args)other;

      lastComparison = Boolean.valueOf(isSetStatus()).compareTo(typedOther.isSetStatus());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetStatus()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.status, typedOther.status);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetStart_billing_date()).compareTo(typedOther.isSetStart_billing_date());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetStart_billing_date()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.start_billing_date, typedOther.start_billing_date);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEnd_billing_date()).compareTo(typedOther.isSetEnd_billing_date());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEnd_billing_date()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.end_billing_date, typedOther.end_billing_date);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetWarehouse_id()).compareTo(typedOther.isSetWarehouse_id());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetWarehouse_id()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.warehouse_id, typedOther.warehouse_id);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // STATUS
            if (field.type == org.apache.thrift.protocol.TType.I32) {
              this.status = OrderStatus.findByValue(iprot.readI32());
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // START_BILLING_DATE
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.start_billing_date = iprot.readI64();
              setStart_billing_dateIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // END_BILLING_DATE
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.end_billing_date = iprot.readI64();
              setEnd_billing_dateIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 4: // WAREHOUSE_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.warehouse_id = iprot.readI64();
              setWarehouse_idIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.status != null) {
        oprot.writeFieldBegin(STATUS_FIELD_DESC);
        oprot.writeI32(this.status.getValue());
        oprot.writeFieldEnd();
      }
      oprot.writeFieldBegin(START_BILLING_DATE_FIELD_DESC);
      oprot.writeI64(this.start_billing_date);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(END_BILLING_DATE_FIELD_DESC);
      oprot.writeI64(this.end_billing_date);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(WAREHOUSE_ID_FIELD_DESC);
      oprot.writeI64(this.warehouse_id);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getOrdersByBillingDate_args(");
      boolean first = true;

      sb.append("status:");
      if (this.status == null) {
        sb.append("null");
      } else {
        sb.append(this.status);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("start_billing_date:");
      sb.append(this.start_billing_date);
      first = false;
      if (!first) sb.append(", ");
      sb.append("end_billing_date:");
      sb.append(this.end_billing_date);
      first = false;
      if (!first) sb.append(", ");
      sb.append("warehouse_id:");
      sb.append(this.warehouse_id);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getOrdersByBillingDate_result implements org.apache.thrift.TBase<getOrdersByBillingDate_result, getOrdersByBillingDate_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getOrdersByBillingDate_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private List<Order> success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Order.class))));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getOrdersByBillingDate_result.class, metaDataMap);
    }

    public getOrdersByBillingDate_result() {
    }

    public getOrdersByBillingDate_result(
      List<Order> success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getOrdersByBillingDate_result(getOrdersByBillingDate_result other) {
      if (other.isSetSuccess()) {
        List<Order> __this__success = new ArrayList<Order>();
        for (Order other_element : other.success) {
          __this__success.add(new Order(other_element));
        }
        this.success = __this__success;
      }
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public getOrdersByBillingDate_result deepCopy() {
      return new getOrdersByBillingDate_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.ex = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<Order> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(Order elem) {
      if (this.success == null) {
        this.success = new ArrayList<Order>();
      }
      this.success.add(elem);
    }

    public List<Order> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<Order> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<Order>)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getOrdersByBillingDate_result)
        return this.equals((getOrdersByBillingDate_result)that);
      return false;
    }

    public boolean equals(getOrdersByBillingDate_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getOrdersByBillingDate_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getOrdersByBillingDate_result typedOther = (getOrdersByBillingDate_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list104 = iprot.readListBegin();
                this.success = new ArrayList<Order>(_list104.size);
                for (int _i105 = 0; _i105 < _list104.size; ++_i105)
                {
                  Order _elem106; // required
                  _elem106 = new Order();
                  _elem106.read(iprot);
                  this.success.add(_elem106);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (Order _iter107 : this.success)
          {
            _iter107.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getOrdersByBillingDate_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getOrdersByShippingDate_args implements org.apache.thrift.TBase<getOrdersByShippingDate_args, getOrdersByShippingDate_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getOrdersByShippingDate_args");

    private static final org.apache.thrift.protocol.TField FROM_SHIPPING_DATE_FIELD_DESC = new org.apache.thrift.protocol.TField("fromShippingDate", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField TO_SHIPPING_DATE_FIELD_DESC = new org.apache.thrift.protocol.TField("toShippingDate", org.apache.thrift.protocol.TType.I64, (short)2);
    private static final org.apache.thrift.protocol.TField PROVIDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("providerId", org.apache.thrift.protocol.TType.I64, (short)3);
    private static final org.apache.thrift.protocol.TField WAREHOUSE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("warehouseId", org.apache.thrift.protocol.TType.I64, (short)4);
    private static final org.apache.thrift.protocol.TField COD_FIELD_DESC = new org.apache.thrift.protocol.TField("cod", org.apache.thrift.protocol.TType.BOOL, (short)5);

    private long fromShippingDate; // required
    private long toShippingDate; // required
    private long providerId; // required
    private long warehouseId; // required
    private boolean cod; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      FROM_SHIPPING_DATE((short)1, "fromShippingDate"),
      TO_SHIPPING_DATE((short)2, "toShippingDate"),
      PROVIDER_ID((short)3, "providerId"),
      WAREHOUSE_ID((short)4, "warehouseId"),
      COD((short)5, "cod");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // FROM_SHIPPING_DATE
            return FROM_SHIPPING_DATE;
          case 2: // TO_SHIPPING_DATE
            return TO_SHIPPING_DATE;
          case 3: // PROVIDER_ID
            return PROVIDER_ID;
          case 4: // WAREHOUSE_ID
            return WAREHOUSE_ID;
          case 5: // COD
            return COD;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __FROMSHIPPINGDATE_ISSET_ID = 0;
    private static final int __TOSHIPPINGDATE_ISSET_ID = 1;
    private static final int __PROVIDERID_ISSET_ID = 2;
    private static final int __WAREHOUSEID_ISSET_ID = 3;
    private static final int __COD_ISSET_ID = 4;
    private BitSet __isset_bit_vector = new BitSet(5);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.FROM_SHIPPING_DATE, new org.apache.thrift.meta_data.FieldMetaData("fromShippingDate", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.TO_SHIPPING_DATE, new org.apache.thrift.meta_data.FieldMetaData("toShippingDate", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.PROVIDER_ID, new org.apache.thrift.meta_data.FieldMetaData("providerId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.WAREHOUSE_ID, new org.apache.thrift.meta_data.FieldMetaData("warehouseId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.COD, new org.apache.thrift.meta_data.FieldMetaData("cod", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getOrdersByShippingDate_args.class, metaDataMap);
    }

    public getOrdersByShippingDate_args() {
    }

    public getOrdersByShippingDate_args(
      long fromShippingDate,
      long toShippingDate,
      long providerId,
      long warehouseId,
      boolean cod)
    {
      this();
      this.fromShippingDate = fromShippingDate;
      setFromShippingDateIsSet(true);
      this.toShippingDate = toShippingDate;
      setToShippingDateIsSet(true);
      this.providerId = providerId;
      setProviderIdIsSet(true);
      this.warehouseId = warehouseId;
      setWarehouseIdIsSet(true);
      this.cod = cod;
      setCodIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getOrdersByShippingDate_args(getOrdersByShippingDate_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.fromShippingDate = other.fromShippingDate;
      this.toShippingDate = other.toShippingDate;
      this.providerId = other.providerId;
      this.warehouseId = other.warehouseId;
      this.cod = other.cod;
    }

    public getOrdersByShippingDate_args deepCopy() {
      return new getOrdersByShippingDate_args(this);
    }

    @Override
    public void clear() {
      setFromShippingDateIsSet(false);
      this.fromShippingDate = 0;
      setToShippingDateIsSet(false);
      this.toShippingDate = 0;
      setProviderIdIsSet(false);
      this.providerId = 0;
      setWarehouseIdIsSet(false);
      this.warehouseId = 0;
      setCodIsSet(false);
      this.cod = false;
    }

    public long getFromShippingDate() {
      return this.fromShippingDate;
    }

    public void setFromShippingDate(long fromShippingDate) {
      this.fromShippingDate = fromShippingDate;
      setFromShippingDateIsSet(true);
    }

    public void unsetFromShippingDate() {
      __isset_bit_vector.clear(__FROMSHIPPINGDATE_ISSET_ID);
    }

    /** Returns true if field fromShippingDate is set (has been assigned a value) and false otherwise */
    public boolean isSetFromShippingDate() {
      return __isset_bit_vector.get(__FROMSHIPPINGDATE_ISSET_ID);
    }

    public void setFromShippingDateIsSet(boolean value) {
      __isset_bit_vector.set(__FROMSHIPPINGDATE_ISSET_ID, value);
    }

    public long getToShippingDate() {
      return this.toShippingDate;
    }

    public void setToShippingDate(long toShippingDate) {
      this.toShippingDate = toShippingDate;
      setToShippingDateIsSet(true);
    }

    public void unsetToShippingDate() {
      __isset_bit_vector.clear(__TOSHIPPINGDATE_ISSET_ID);
    }

    /** Returns true if field toShippingDate is set (has been assigned a value) and false otherwise */
    public boolean isSetToShippingDate() {
      return __isset_bit_vector.get(__TOSHIPPINGDATE_ISSET_ID);
    }

    public void setToShippingDateIsSet(boolean value) {
      __isset_bit_vector.set(__TOSHIPPINGDATE_ISSET_ID, value);
    }

    public long getProviderId() {
      return this.providerId;
    }

    public void setProviderId(long providerId) {
      this.providerId = providerId;
      setProviderIdIsSet(true);
    }

    public void unsetProviderId() {
      __isset_bit_vector.clear(__PROVIDERID_ISSET_ID);
    }

    /** Returns true if field providerId is set (has been assigned a value) and false otherwise */
    public boolean isSetProviderId() {
      return __isset_bit_vector.get(__PROVIDERID_ISSET_ID);
    }

    public void setProviderIdIsSet(boolean value) {
      __isset_bit_vector.set(__PROVIDERID_ISSET_ID, value);
    }

    public long getWarehouseId() {
      return this.warehouseId;
    }

    public void setWarehouseId(long warehouseId) {
      this.warehouseId = warehouseId;
      setWarehouseIdIsSet(true);
    }

    public void unsetWarehouseId() {
      __isset_bit_vector.clear(__WAREHOUSEID_ISSET_ID);
    }

    /** Returns true if field warehouseId is set (has been assigned a value) and false otherwise */
    public boolean isSetWarehouseId() {
      return __isset_bit_vector.get(__WAREHOUSEID_ISSET_ID);
    }

    public void setWarehouseIdIsSet(boolean value) {
      __isset_bit_vector.set(__WAREHOUSEID_ISSET_ID, value);
    }

    public boolean isCod() {
      return this.cod;
    }

    public void setCod(boolean cod) {
      this.cod = cod;
      setCodIsSet(true);
    }

    public void unsetCod() {
      __isset_bit_vector.clear(__COD_ISSET_ID);
    }

    /** Returns true if field cod is set (has been assigned a value) and false otherwise */
    public boolean isSetCod() {
      return __isset_bit_vector.get(__COD_ISSET_ID);
    }

    public void setCodIsSet(boolean value) {
      __isset_bit_vector.set(__COD_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case FROM_SHIPPING_DATE:
        if (value == null) {
          unsetFromShippingDate();
        } else {
          setFromShippingDate((Long)value);
        }
        break;

      case TO_SHIPPING_DATE:
        if (value == null) {
          unsetToShippingDate();
        } else {
          setToShippingDate((Long)value);
        }
        break;

      case PROVIDER_ID:
        if (value == null) {
          unsetProviderId();
        } else {
          setProviderId((Long)value);
        }
        break;

      case WAREHOUSE_ID:
        if (value == null) {
          unsetWarehouseId();
        } else {
          setWarehouseId((Long)value);
        }
        break;

      case COD:
        if (value == null) {
          unsetCod();
        } else {
          setCod((Boolean)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case FROM_SHIPPING_DATE:
        return Long.valueOf(getFromShippingDate());

      case TO_SHIPPING_DATE:
        return Long.valueOf(getToShippingDate());

      case PROVIDER_ID:
        return Long.valueOf(getProviderId());

      case WAREHOUSE_ID:
        return Long.valueOf(getWarehouseId());

      case COD:
        return Boolean.valueOf(isCod());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case FROM_SHIPPING_DATE:
        return isSetFromShippingDate();
      case TO_SHIPPING_DATE:
        return isSetToShippingDate();
      case PROVIDER_ID:
        return isSetProviderId();
      case WAREHOUSE_ID:
        return isSetWarehouseId();
      case COD:
        return isSetCod();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getOrdersByShippingDate_args)
        return this.equals((getOrdersByShippingDate_args)that);
      return false;
    }

    public boolean equals(getOrdersByShippingDate_args that) {
      if (that == null)
        return false;

      boolean this_present_fromShippingDate = true;
      boolean that_present_fromShippingDate = true;
      if (this_present_fromShippingDate || that_present_fromShippingDate) {
        if (!(this_present_fromShippingDate && that_present_fromShippingDate))
          return false;
        if (this.fromShippingDate != that.fromShippingDate)
          return false;
      }

      boolean this_present_toShippingDate = true;
      boolean that_present_toShippingDate = true;
      if (this_present_toShippingDate || that_present_toShippingDate) {
        if (!(this_present_toShippingDate && that_present_toShippingDate))
          return false;
        if (this.toShippingDate != that.toShippingDate)
          return false;
      }

      boolean this_present_providerId = true;
      boolean that_present_providerId = true;
      if (this_present_providerId || that_present_providerId) {
        if (!(this_present_providerId && that_present_providerId))
          return false;
        if (this.providerId != that.providerId)
          return false;
      }

      boolean this_present_warehouseId = true;
      boolean that_present_warehouseId = true;
      if (this_present_warehouseId || that_present_warehouseId) {
        if (!(this_present_warehouseId && that_present_warehouseId))
          return false;
        if (this.warehouseId != that.warehouseId)
          return false;
      }

      boolean this_present_cod = true;
      boolean that_present_cod = true;
      if (this_present_cod || that_present_cod) {
        if (!(this_present_cod && that_present_cod))
          return false;
        if (this.cod != that.cod)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getOrdersByShippingDate_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getOrdersByShippingDate_args typedOther = (getOrdersByShippingDate_args)other;

      lastComparison = Boolean.valueOf(isSetFromShippingDate()).compareTo(typedOther.isSetFromShippingDate());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetFromShippingDate()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.fromShippingDate, typedOther.fromShippingDate);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetToShippingDate()).compareTo(typedOther.isSetToShippingDate());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetToShippingDate()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.toShippingDate, typedOther.toShippingDate);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetProviderId()).compareTo(typedOther.isSetProviderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetProviderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.providerId, typedOther.providerId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetWarehouseId()).compareTo(typedOther.isSetWarehouseId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetWarehouseId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.warehouseId, typedOther.warehouseId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetCod()).compareTo(typedOther.isSetCod());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetCod()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.cod, typedOther.cod);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // FROM_SHIPPING_DATE
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.fromShippingDate = iprot.readI64();
              setFromShippingDateIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // TO_SHIPPING_DATE
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.toShippingDate = iprot.readI64();
              setToShippingDateIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // PROVIDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.providerId = iprot.readI64();
              setProviderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 4: // WAREHOUSE_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.warehouseId = iprot.readI64();
              setWarehouseIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 5: // COD
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.cod = iprot.readBool();
              setCodIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(FROM_SHIPPING_DATE_FIELD_DESC);
      oprot.writeI64(this.fromShippingDate);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(TO_SHIPPING_DATE_FIELD_DESC);
      oprot.writeI64(this.toShippingDate);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(PROVIDER_ID_FIELD_DESC);
      oprot.writeI64(this.providerId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(WAREHOUSE_ID_FIELD_DESC);
      oprot.writeI64(this.warehouseId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(COD_FIELD_DESC);
      oprot.writeBool(this.cod);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getOrdersByShippingDate_args(");
      boolean first = true;

      sb.append("fromShippingDate:");
      sb.append(this.fromShippingDate);
      first = false;
      if (!first) sb.append(", ");
      sb.append("toShippingDate:");
      sb.append(this.toShippingDate);
      first = false;
      if (!first) sb.append(", ");
      sb.append("providerId:");
      sb.append(this.providerId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("warehouseId:");
      sb.append(this.warehouseId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("cod:");
      sb.append(this.cod);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getOrdersByShippingDate_result implements org.apache.thrift.TBase<getOrdersByShippingDate_result, getOrdersByShippingDate_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getOrdersByShippingDate_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private List<Order> success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Order.class))));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getOrdersByShippingDate_result.class, metaDataMap);
    }

    public getOrdersByShippingDate_result() {
    }

    public getOrdersByShippingDate_result(
      List<Order> success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getOrdersByShippingDate_result(getOrdersByShippingDate_result other) {
      if (other.isSetSuccess()) {
        List<Order> __this__success = new ArrayList<Order>();
        for (Order other_element : other.success) {
          __this__success.add(new Order(other_element));
        }
        this.success = __this__success;
      }
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public getOrdersByShippingDate_result deepCopy() {
      return new getOrdersByShippingDate_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.ex = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<Order> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(Order elem) {
      if (this.success == null) {
        this.success = new ArrayList<Order>();
      }
      this.success.add(elem);
    }

    public List<Order> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<Order> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<Order>)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getOrdersByShippingDate_result)
        return this.equals((getOrdersByShippingDate_result)that);
      return false;
    }

    public boolean equals(getOrdersByShippingDate_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getOrdersByShippingDate_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getOrdersByShippingDate_result typedOther = (getOrdersByShippingDate_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list108 = iprot.readListBegin();
                this.success = new ArrayList<Order>(_list108.size);
                for (int _i109 = 0; _i109 < _list108.size; ++_i109)
                {
                  Order _elem110; // required
                  _elem110 = new Order();
                  _elem110.read(iprot);
                  this.success.add(_elem110);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (Order _iter111 : this.success)
          {
            _iter111.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getOrdersByShippingDate_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getReturnableOrdersForCustomer_args implements org.apache.thrift.TBase<getReturnableOrdersForCustomer_args, getReturnableOrdersForCustomer_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getReturnableOrdersForCustomer_args");

    private static final org.apache.thrift.protocol.TField CUSTOMER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("customer_id", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField LIMIT_FIELD_DESC = new org.apache.thrift.protocol.TField("limit", org.apache.thrift.protocol.TType.I64, (short)2);

    private long customer_id; // required
    private long limit; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      CUSTOMER_ID((short)1, "customer_id"),
      LIMIT((short)2, "limit");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // CUSTOMER_ID
            return CUSTOMER_ID;
          case 2: // LIMIT
            return LIMIT;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __CUSTOMER_ID_ISSET_ID = 0;
    private static final int __LIMIT_ISSET_ID = 1;
    private BitSet __isset_bit_vector = new BitSet(2);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.CUSTOMER_ID, new org.apache.thrift.meta_data.FieldMetaData("customer_id", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.LIMIT, new org.apache.thrift.meta_data.FieldMetaData("limit", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getReturnableOrdersForCustomer_args.class, metaDataMap);
    }

    public getReturnableOrdersForCustomer_args() {
    }

    public getReturnableOrdersForCustomer_args(
      long customer_id,
      long limit)
    {
      this();
      this.customer_id = customer_id;
      setCustomer_idIsSet(true);
      this.limit = limit;
      setLimitIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getReturnableOrdersForCustomer_args(getReturnableOrdersForCustomer_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.customer_id = other.customer_id;
      this.limit = other.limit;
    }

    public getReturnableOrdersForCustomer_args deepCopy() {
      return new getReturnableOrdersForCustomer_args(this);
    }

    @Override
    public void clear() {
      setCustomer_idIsSet(false);
      this.customer_id = 0;
      setLimitIsSet(false);
      this.limit = 0;
    }

    public long getCustomer_id() {
      return this.customer_id;
    }

    public void setCustomer_id(long customer_id) {
      this.customer_id = customer_id;
      setCustomer_idIsSet(true);
    }

    public void unsetCustomer_id() {
      __isset_bit_vector.clear(__CUSTOMER_ID_ISSET_ID);
    }

    /** Returns true if field customer_id is set (has been assigned a value) and false otherwise */
    public boolean isSetCustomer_id() {
      return __isset_bit_vector.get(__CUSTOMER_ID_ISSET_ID);
    }

    public void setCustomer_idIsSet(boolean value) {
      __isset_bit_vector.set(__CUSTOMER_ID_ISSET_ID, value);
    }

    public long getLimit() {
      return this.limit;
    }

    public void setLimit(long limit) {
      this.limit = limit;
      setLimitIsSet(true);
    }

    public void unsetLimit() {
      __isset_bit_vector.clear(__LIMIT_ISSET_ID);
    }

    /** Returns true if field limit is set (has been assigned a value) and false otherwise */
    public boolean isSetLimit() {
      return __isset_bit_vector.get(__LIMIT_ISSET_ID);
    }

    public void setLimitIsSet(boolean value) {
      __isset_bit_vector.set(__LIMIT_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case CUSTOMER_ID:
        if (value == null) {
          unsetCustomer_id();
        } else {
          setCustomer_id((Long)value);
        }
        break;

      case LIMIT:
        if (value == null) {
          unsetLimit();
        } else {
          setLimit((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case CUSTOMER_ID:
        return Long.valueOf(getCustomer_id());

      case LIMIT:
        return Long.valueOf(getLimit());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case CUSTOMER_ID:
        return isSetCustomer_id();
      case LIMIT:
        return isSetLimit();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getReturnableOrdersForCustomer_args)
        return this.equals((getReturnableOrdersForCustomer_args)that);
      return false;
    }

    public boolean equals(getReturnableOrdersForCustomer_args that) {
      if (that == null)
        return false;

      boolean this_present_customer_id = true;
      boolean that_present_customer_id = true;
      if (this_present_customer_id || that_present_customer_id) {
        if (!(this_present_customer_id && that_present_customer_id))
          return false;
        if (this.customer_id != that.customer_id)
          return false;
      }

      boolean this_present_limit = true;
      boolean that_present_limit = true;
      if (this_present_limit || that_present_limit) {
        if (!(this_present_limit && that_present_limit))
          return false;
        if (this.limit != that.limit)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getReturnableOrdersForCustomer_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getReturnableOrdersForCustomer_args typedOther = (getReturnableOrdersForCustomer_args)other;

      lastComparison = Boolean.valueOf(isSetCustomer_id()).compareTo(typedOther.isSetCustomer_id());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetCustomer_id()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.customer_id, typedOther.customer_id);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetLimit()).compareTo(typedOther.isSetLimit());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetLimit()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.limit, typedOther.limit);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // CUSTOMER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.customer_id = iprot.readI64();
              setCustomer_idIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // LIMIT
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.limit = iprot.readI64();
              setLimitIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(CUSTOMER_ID_FIELD_DESC);
      oprot.writeI64(this.customer_id);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(LIMIT_FIELD_DESC);
      oprot.writeI64(this.limit);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getReturnableOrdersForCustomer_args(");
      boolean first = true;

      sb.append("customer_id:");
      sb.append(this.customer_id);
      first = false;
      if (!first) sb.append(", ");
      sb.append("limit:");
      sb.append(this.limit);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getReturnableOrdersForCustomer_result implements org.apache.thrift.TBase<getReturnableOrdersForCustomer_result, getReturnableOrdersForCustomer_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getReturnableOrdersForCustomer_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private List<Long> success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64))));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getReturnableOrdersForCustomer_result.class, metaDataMap);
    }

    public getReturnableOrdersForCustomer_result() {
    }

    public getReturnableOrdersForCustomer_result(
      List<Long> success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getReturnableOrdersForCustomer_result(getReturnableOrdersForCustomer_result other) {
      if (other.isSetSuccess()) {
        List<Long> __this__success = new ArrayList<Long>();
        for (Long other_element : other.success) {
          __this__success.add(other_element);
        }
        this.success = __this__success;
      }
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public getReturnableOrdersForCustomer_result deepCopy() {
      return new getReturnableOrdersForCustomer_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.ex = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<Long> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(long elem) {
      if (this.success == null) {
        this.success = new ArrayList<Long>();
      }
      this.success.add(elem);
    }

    public List<Long> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<Long> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<Long>)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getReturnableOrdersForCustomer_result)
        return this.equals((getReturnableOrdersForCustomer_result)that);
      return false;
    }

    public boolean equals(getReturnableOrdersForCustomer_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getReturnableOrdersForCustomer_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getReturnableOrdersForCustomer_result typedOther = (getReturnableOrdersForCustomer_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list112 = iprot.readListBegin();
                this.success = new ArrayList<Long>(_list112.size);
                for (int _i113 = 0; _i113 < _list112.size; ++_i113)
                {
                  long _elem114; // required
                  _elem114 = iprot.readI64();
                  this.success.add(_elem114);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, this.success.size()));
          for (long _iter115 : this.success)
          {
            oprot.writeI64(_iter115);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getReturnableOrdersForCustomer_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getCancellableOrdersForCustomer_args implements org.apache.thrift.TBase<getCancellableOrdersForCustomer_args, getCancellableOrdersForCustomer_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getCancellableOrdersForCustomer_args");

    private static final org.apache.thrift.protocol.TField CUSTOMER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("customer_id", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField LIMIT_FIELD_DESC = new org.apache.thrift.protocol.TField("limit", org.apache.thrift.protocol.TType.I64, (short)2);

    private long customer_id; // required
    private long limit; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      CUSTOMER_ID((short)1, "customer_id"),
      LIMIT((short)2, "limit");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // CUSTOMER_ID
            return CUSTOMER_ID;
          case 2: // LIMIT
            return LIMIT;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __CUSTOMER_ID_ISSET_ID = 0;
    private static final int __LIMIT_ISSET_ID = 1;
    private BitSet __isset_bit_vector = new BitSet(2);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.CUSTOMER_ID, new org.apache.thrift.meta_data.FieldMetaData("customer_id", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.LIMIT, new org.apache.thrift.meta_data.FieldMetaData("limit", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getCancellableOrdersForCustomer_args.class, metaDataMap);
    }

    public getCancellableOrdersForCustomer_args() {
    }

    public getCancellableOrdersForCustomer_args(
      long customer_id,
      long limit)
    {
      this();
      this.customer_id = customer_id;
      setCustomer_idIsSet(true);
      this.limit = limit;
      setLimitIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getCancellableOrdersForCustomer_args(getCancellableOrdersForCustomer_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.customer_id = other.customer_id;
      this.limit = other.limit;
    }

    public getCancellableOrdersForCustomer_args deepCopy() {
      return new getCancellableOrdersForCustomer_args(this);
    }

    @Override
    public void clear() {
      setCustomer_idIsSet(false);
      this.customer_id = 0;
      setLimitIsSet(false);
      this.limit = 0;
    }

    public long getCustomer_id() {
      return this.customer_id;
    }

    public void setCustomer_id(long customer_id) {
      this.customer_id = customer_id;
      setCustomer_idIsSet(true);
    }

    public void unsetCustomer_id() {
      __isset_bit_vector.clear(__CUSTOMER_ID_ISSET_ID);
    }

    /** Returns true if field customer_id is set (has been assigned a value) and false otherwise */
    public boolean isSetCustomer_id() {
      return __isset_bit_vector.get(__CUSTOMER_ID_ISSET_ID);
    }

    public void setCustomer_idIsSet(boolean value) {
      __isset_bit_vector.set(__CUSTOMER_ID_ISSET_ID, value);
    }

    public long getLimit() {
      return this.limit;
    }

    public void setLimit(long limit) {
      this.limit = limit;
      setLimitIsSet(true);
    }

    public void unsetLimit() {
      __isset_bit_vector.clear(__LIMIT_ISSET_ID);
    }

    /** Returns true if field limit is set (has been assigned a value) and false otherwise */
    public boolean isSetLimit() {
      return __isset_bit_vector.get(__LIMIT_ISSET_ID);
    }

    public void setLimitIsSet(boolean value) {
      __isset_bit_vector.set(__LIMIT_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case CUSTOMER_ID:
        if (value == null) {
          unsetCustomer_id();
        } else {
          setCustomer_id((Long)value);
        }
        break;

      case LIMIT:
        if (value == null) {
          unsetLimit();
        } else {
          setLimit((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case CUSTOMER_ID:
        return Long.valueOf(getCustomer_id());

      case LIMIT:
        return Long.valueOf(getLimit());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case CUSTOMER_ID:
        return isSetCustomer_id();
      case LIMIT:
        return isSetLimit();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getCancellableOrdersForCustomer_args)
        return this.equals((getCancellableOrdersForCustomer_args)that);
      return false;
    }

    public boolean equals(getCancellableOrdersForCustomer_args that) {
      if (that == null)
        return false;

      boolean this_present_customer_id = true;
      boolean that_present_customer_id = true;
      if (this_present_customer_id || that_present_customer_id) {
        if (!(this_present_customer_id && that_present_customer_id))
          return false;
        if (this.customer_id != that.customer_id)
          return false;
      }

      boolean this_present_limit = true;
      boolean that_present_limit = true;
      if (this_present_limit || that_present_limit) {
        if (!(this_present_limit && that_present_limit))
          return false;
        if (this.limit != that.limit)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getCancellableOrdersForCustomer_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getCancellableOrdersForCustomer_args typedOther = (getCancellableOrdersForCustomer_args)other;

      lastComparison = Boolean.valueOf(isSetCustomer_id()).compareTo(typedOther.isSetCustomer_id());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetCustomer_id()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.customer_id, typedOther.customer_id);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetLimit()).compareTo(typedOther.isSetLimit());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetLimit()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.limit, typedOther.limit);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // CUSTOMER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.customer_id = iprot.readI64();
              setCustomer_idIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // LIMIT
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.limit = iprot.readI64();
              setLimitIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(CUSTOMER_ID_FIELD_DESC);
      oprot.writeI64(this.customer_id);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(LIMIT_FIELD_DESC);
      oprot.writeI64(this.limit);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getCancellableOrdersForCustomer_args(");
      boolean first = true;

      sb.append("customer_id:");
      sb.append(this.customer_id);
      first = false;
      if (!first) sb.append(", ");
      sb.append("limit:");
      sb.append(this.limit);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getCancellableOrdersForCustomer_result implements org.apache.thrift.TBase<getCancellableOrdersForCustomer_result, getCancellableOrdersForCustomer_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getCancellableOrdersForCustomer_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private List<Long> success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64))));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getCancellableOrdersForCustomer_result.class, metaDataMap);
    }

    public getCancellableOrdersForCustomer_result() {
    }

    public getCancellableOrdersForCustomer_result(
      List<Long> success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getCancellableOrdersForCustomer_result(getCancellableOrdersForCustomer_result other) {
      if (other.isSetSuccess()) {
        List<Long> __this__success = new ArrayList<Long>();
        for (Long other_element : other.success) {
          __this__success.add(other_element);
        }
        this.success = __this__success;
      }
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public getCancellableOrdersForCustomer_result deepCopy() {
      return new getCancellableOrdersForCustomer_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.ex = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<Long> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(long elem) {
      if (this.success == null) {
        this.success = new ArrayList<Long>();
      }
      this.success.add(elem);
    }

    public List<Long> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<Long> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<Long>)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getCancellableOrdersForCustomer_result)
        return this.equals((getCancellableOrdersForCustomer_result)that);
      return false;
    }

    public boolean equals(getCancellableOrdersForCustomer_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getCancellableOrdersForCustomer_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getCancellableOrdersForCustomer_result typedOther = (getCancellableOrdersForCustomer_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list116 = iprot.readListBegin();
                this.success = new ArrayList<Long>(_list116.size);
                for (int _i117 = 0; _i117 < _list116.size; ++_i117)
                {
                  long _elem118; // required
                  _elem118 = iprot.readI64();
                  this.success.add(_elem118);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, this.success.size()));
          for (long _iter119 : this.success)
          {
            oprot.writeI64(_iter119);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getCancellableOrdersForCustomer_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class changeOrderStatus_args implements org.apache.thrift.TBase<changeOrderStatus_args, changeOrderStatus_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("changeOrderStatus_args");

    private static final org.apache.thrift.protocol.TField ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("orderId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField STATUS_FIELD_DESC = new org.apache.thrift.protocol.TField("status", org.apache.thrift.protocol.TType.I32, (short)2);
    private static final org.apache.thrift.protocol.TField DESCRIPTION_FIELD_DESC = new org.apache.thrift.protocol.TField("description", org.apache.thrift.protocol.TType.STRING, (short)3);

    private long orderId; // required
    private OrderStatus status; // required
    private String description; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ORDER_ID((short)1, "orderId"),
      /**
       * 
       * @see OrderStatus
       */
      STATUS((short)2, "status"),
      DESCRIPTION((short)3, "description");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ORDER_ID
            return ORDER_ID;
          case 2: // STATUS
            return STATUS;
          case 3: // DESCRIPTION
            return DESCRIPTION;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ORDERID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("orderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.STATUS, new org.apache.thrift.meta_data.FieldMetaData("status", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, OrderStatus.class)));
      tmpMap.put(_Fields.DESCRIPTION, new org.apache.thrift.meta_data.FieldMetaData("description", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(changeOrderStatus_args.class, metaDataMap);
    }

    public changeOrderStatus_args() {
    }

    public changeOrderStatus_args(
      long orderId,
      OrderStatus status,
      String description)
    {
      this();
      this.orderId = orderId;
      setOrderIdIsSet(true);
      this.status = status;
      this.description = description;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public changeOrderStatus_args(changeOrderStatus_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.orderId = other.orderId;
      if (other.isSetStatus()) {
        this.status = other.status;
      }
      if (other.isSetDescription()) {
        this.description = other.description;
      }
    }

    public changeOrderStatus_args deepCopy() {
      return new changeOrderStatus_args(this);
    }

    @Override
    public void clear() {
      setOrderIdIsSet(false);
      this.orderId = 0;
      this.status = null;
      this.description = null;
    }

    public long getOrderId() {
      return this.orderId;
    }

    public void setOrderId(long orderId) {
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    public void unsetOrderId() {
      __isset_bit_vector.clear(__ORDERID_ISSET_ID);
    }

    /** Returns true if field orderId is set (has been assigned a value) and false otherwise */
    public boolean isSetOrderId() {
      return __isset_bit_vector.get(__ORDERID_ISSET_ID);
    }

    public void setOrderIdIsSet(boolean value) {
      __isset_bit_vector.set(__ORDERID_ISSET_ID, value);
    }

    /**
     * 
     * @see OrderStatus
     */
    public OrderStatus getStatus() {
      return this.status;
    }

    /**
     * 
     * @see OrderStatus
     */
    public void setStatus(OrderStatus status) {
      this.status = status;
    }

    public void unsetStatus() {
      this.status = null;
    }

    /** Returns true if field status is set (has been assigned a value) and false otherwise */
    public boolean isSetStatus() {
      return this.status != null;
    }

    public void setStatusIsSet(boolean value) {
      if (!value) {
        this.status = null;
      }
    }

    public String getDescription() {
      return this.description;
    }

    public void setDescription(String description) {
      this.description = description;
    }

    public void unsetDescription() {
      this.description = null;
    }

    /** Returns true if field description is set (has been assigned a value) and false otherwise */
    public boolean isSetDescription() {
      return this.description != null;
    }

    public void setDescriptionIsSet(boolean value) {
      if (!value) {
        this.description = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ORDER_ID:
        if (value == null) {
          unsetOrderId();
        } else {
          setOrderId((Long)value);
        }
        break;

      case STATUS:
        if (value == null) {
          unsetStatus();
        } else {
          setStatus((OrderStatus)value);
        }
        break;

      case DESCRIPTION:
        if (value == null) {
          unsetDescription();
        } else {
          setDescription((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ORDER_ID:
        return Long.valueOf(getOrderId());

      case STATUS:
        return getStatus();

      case DESCRIPTION:
        return getDescription();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ORDER_ID:
        return isSetOrderId();
      case STATUS:
        return isSetStatus();
      case DESCRIPTION:
        return isSetDescription();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof changeOrderStatus_args)
        return this.equals((changeOrderStatus_args)that);
      return false;
    }

    public boolean equals(changeOrderStatus_args that) {
      if (that == null)
        return false;

      boolean this_present_orderId = true;
      boolean that_present_orderId = true;
      if (this_present_orderId || that_present_orderId) {
        if (!(this_present_orderId && that_present_orderId))
          return false;
        if (this.orderId != that.orderId)
          return false;
      }

      boolean this_present_status = true && this.isSetStatus();
      boolean that_present_status = true && that.isSetStatus();
      if (this_present_status || that_present_status) {
        if (!(this_present_status && that_present_status))
          return false;
        if (!this.status.equals(that.status))
          return false;
      }

      boolean this_present_description = true && this.isSetDescription();
      boolean that_present_description = true && that.isSetDescription();
      if (this_present_description || that_present_description) {
        if (!(this_present_description && that_present_description))
          return false;
        if (!this.description.equals(that.description))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(changeOrderStatus_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      changeOrderStatus_args typedOther = (changeOrderStatus_args)other;

      lastComparison = Boolean.valueOf(isSetOrderId()).compareTo(typedOther.isSetOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.orderId, typedOther.orderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetStatus()).compareTo(typedOther.isSetStatus());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetStatus()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.status, typedOther.status);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetDescription()).compareTo(typedOther.isSetDescription());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetDescription()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.description, typedOther.description);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.orderId = iprot.readI64();
              setOrderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // STATUS
            if (field.type == org.apache.thrift.protocol.TType.I32) {
              this.status = OrderStatus.findByValue(iprot.readI32());
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // DESCRIPTION
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.description = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ORDER_ID_FIELD_DESC);
      oprot.writeI64(this.orderId);
      oprot.writeFieldEnd();
      if (this.status != null) {
        oprot.writeFieldBegin(STATUS_FIELD_DESC);
        oprot.writeI32(this.status.getValue());
        oprot.writeFieldEnd();
      }
      if (this.description != null) {
        oprot.writeFieldBegin(DESCRIPTION_FIELD_DESC);
        oprot.writeString(this.description);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("changeOrderStatus_args(");
      boolean first = true;

      sb.append("orderId:");
      sb.append(this.orderId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("status:");
      if (this.status == null) {
        sb.append("null");
      } else {
        sb.append(this.status);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("description:");
      if (this.description == null) {
        sb.append("null");
      } else {
        sb.append(this.description);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class changeOrderStatus_result implements org.apache.thrift.TBase<changeOrderStatus_result, changeOrderStatus_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("changeOrderStatus_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private boolean success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(changeOrderStatus_result.class, metaDataMap);
    }

    public changeOrderStatus_result() {
    }

    public changeOrderStatus_result(
      boolean success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public changeOrderStatus_result(changeOrderStatus_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public changeOrderStatus_result deepCopy() {
      return new changeOrderStatus_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = false;
      this.ex = null;
    }

    public boolean isSuccess() {
      return this.success;
    }

    public void setSuccess(boolean success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Boolean.valueOf(isSuccess());

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof changeOrderStatus_result)
        return this.equals((changeOrderStatus_result)that);
      return false;
    }

    public boolean equals(changeOrderStatus_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(changeOrderStatus_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      changeOrderStatus_result typedOther = (changeOrderStatus_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.success = iprot.readBool();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBool(this.success);
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("changeOrderStatus_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getOrdersForTransaction_args implements org.apache.thrift.TBase<getOrdersForTransaction_args, getOrdersForTransaction_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getOrdersForTransaction_args");

    private static final org.apache.thrift.protocol.TField TRANSACTION_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("transactionId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField CUSTOMER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("customerId", org.apache.thrift.protocol.TType.I64, (short)2);

    private long transactionId; // required
    private long customerId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      TRANSACTION_ID((short)1, "transactionId"),
      CUSTOMER_ID((short)2, "customerId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // TRANSACTION_ID
            return TRANSACTION_ID;
          case 2: // CUSTOMER_ID
            return CUSTOMER_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __TRANSACTIONID_ISSET_ID = 0;
    private static final int __CUSTOMERID_ISSET_ID = 1;
    private BitSet __isset_bit_vector = new BitSet(2);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.TRANSACTION_ID, new org.apache.thrift.meta_data.FieldMetaData("transactionId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.CUSTOMER_ID, new org.apache.thrift.meta_data.FieldMetaData("customerId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getOrdersForTransaction_args.class, metaDataMap);
    }

    public getOrdersForTransaction_args() {
    }

    public getOrdersForTransaction_args(
      long transactionId,
      long customerId)
    {
      this();
      this.transactionId = transactionId;
      setTransactionIdIsSet(true);
      this.customerId = customerId;
      setCustomerIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getOrdersForTransaction_args(getOrdersForTransaction_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.transactionId = other.transactionId;
      this.customerId = other.customerId;
    }

    public getOrdersForTransaction_args deepCopy() {
      return new getOrdersForTransaction_args(this);
    }

    @Override
    public void clear() {
      setTransactionIdIsSet(false);
      this.transactionId = 0;
      setCustomerIdIsSet(false);
      this.customerId = 0;
    }

    public long getTransactionId() {
      return this.transactionId;
    }

    public void setTransactionId(long transactionId) {
      this.transactionId = transactionId;
      setTransactionIdIsSet(true);
    }

    public void unsetTransactionId() {
      __isset_bit_vector.clear(__TRANSACTIONID_ISSET_ID);
    }

    /** Returns true if field transactionId is set (has been assigned a value) and false otherwise */
    public boolean isSetTransactionId() {
      return __isset_bit_vector.get(__TRANSACTIONID_ISSET_ID);
    }

    public void setTransactionIdIsSet(boolean value) {
      __isset_bit_vector.set(__TRANSACTIONID_ISSET_ID, value);
    }

    public long getCustomerId() {
      return this.customerId;
    }

    public void setCustomerId(long customerId) {
      this.customerId = customerId;
      setCustomerIdIsSet(true);
    }

    public void unsetCustomerId() {
      __isset_bit_vector.clear(__CUSTOMERID_ISSET_ID);
    }

    /** Returns true if field customerId is set (has been assigned a value) and false otherwise */
    public boolean isSetCustomerId() {
      return __isset_bit_vector.get(__CUSTOMERID_ISSET_ID);
    }

    public void setCustomerIdIsSet(boolean value) {
      __isset_bit_vector.set(__CUSTOMERID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case TRANSACTION_ID:
        if (value == null) {
          unsetTransactionId();
        } else {
          setTransactionId((Long)value);
        }
        break;

      case CUSTOMER_ID:
        if (value == null) {
          unsetCustomerId();
        } else {
          setCustomerId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case TRANSACTION_ID:
        return Long.valueOf(getTransactionId());

      case CUSTOMER_ID:
        return Long.valueOf(getCustomerId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case TRANSACTION_ID:
        return isSetTransactionId();
      case CUSTOMER_ID:
        return isSetCustomerId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getOrdersForTransaction_args)
        return this.equals((getOrdersForTransaction_args)that);
      return false;
    }

    public boolean equals(getOrdersForTransaction_args that) {
      if (that == null)
        return false;

      boolean this_present_transactionId = true;
      boolean that_present_transactionId = true;
      if (this_present_transactionId || that_present_transactionId) {
        if (!(this_present_transactionId && that_present_transactionId))
          return false;
        if (this.transactionId != that.transactionId)
          return false;
      }

      boolean this_present_customerId = true;
      boolean that_present_customerId = true;
      if (this_present_customerId || that_present_customerId) {
        if (!(this_present_customerId && that_present_customerId))
          return false;
        if (this.customerId != that.customerId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getOrdersForTransaction_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getOrdersForTransaction_args typedOther = (getOrdersForTransaction_args)other;

      lastComparison = Boolean.valueOf(isSetTransactionId()).compareTo(typedOther.isSetTransactionId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetTransactionId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.transactionId, typedOther.transactionId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetCustomerId()).compareTo(typedOther.isSetCustomerId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetCustomerId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.customerId, typedOther.customerId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // TRANSACTION_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.transactionId = iprot.readI64();
              setTransactionIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // CUSTOMER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.customerId = iprot.readI64();
              setCustomerIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(TRANSACTION_ID_FIELD_DESC);
      oprot.writeI64(this.transactionId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(CUSTOMER_ID_FIELD_DESC);
      oprot.writeI64(this.customerId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getOrdersForTransaction_args(");
      boolean first = true;

      sb.append("transactionId:");
      sb.append(this.transactionId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("customerId:");
      sb.append(this.customerId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getOrdersForTransaction_result implements org.apache.thrift.TBase<getOrdersForTransaction_result, getOrdersForTransaction_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getOrdersForTransaction_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private List<Order> success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Order.class))));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getOrdersForTransaction_result.class, metaDataMap);
    }

    public getOrdersForTransaction_result() {
    }

    public getOrdersForTransaction_result(
      List<Order> success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getOrdersForTransaction_result(getOrdersForTransaction_result other) {
      if (other.isSetSuccess()) {
        List<Order> __this__success = new ArrayList<Order>();
        for (Order other_element : other.success) {
          __this__success.add(new Order(other_element));
        }
        this.success = __this__success;
      }
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public getOrdersForTransaction_result deepCopy() {
      return new getOrdersForTransaction_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.ex = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<Order> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(Order elem) {
      if (this.success == null) {
        this.success = new ArrayList<Order>();
      }
      this.success.add(elem);
    }

    public List<Order> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<Order> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<Order>)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getOrdersForTransaction_result)
        return this.equals((getOrdersForTransaction_result)that);
      return false;
    }

    public boolean equals(getOrdersForTransaction_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getOrdersForTransaction_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getOrdersForTransaction_result typedOther = (getOrdersForTransaction_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list120 = iprot.readListBegin();
                this.success = new ArrayList<Order>(_list120.size);
                for (int _i121 = 0; _i121 < _list120.size; ++_i121)
                {
                  Order _elem122; // required
                  _elem122 = new Order();
                  _elem122.read(iprot);
                  this.success.add(_elem122);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (Order _iter123 : this.success)
          {
            _iter123.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getOrdersForTransaction_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getOrdersForCustomer_args implements org.apache.thrift.TBase<getOrdersForCustomer_args, getOrdersForCustomer_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getOrdersForCustomer_args");

    private static final org.apache.thrift.protocol.TField CUSTOMER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("customerId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField FROM_DATE_FIELD_DESC = new org.apache.thrift.protocol.TField("from_date", org.apache.thrift.protocol.TType.I64, (short)2);
    private static final org.apache.thrift.protocol.TField TO_DATE_FIELD_DESC = new org.apache.thrift.protocol.TField("to_date", org.apache.thrift.protocol.TType.I64, (short)3);
    private static final org.apache.thrift.protocol.TField STATUSES_FIELD_DESC = new org.apache.thrift.protocol.TField("statuses", org.apache.thrift.protocol.TType.LIST, (short)4);

    private long customerId; // required
    private long from_date; // required
    private long to_date; // required
    private List<OrderStatus> statuses; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      CUSTOMER_ID((short)1, "customerId"),
      FROM_DATE((short)2, "from_date"),
      TO_DATE((short)3, "to_date"),
      STATUSES((short)4, "statuses");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // CUSTOMER_ID
            return CUSTOMER_ID;
          case 2: // FROM_DATE
            return FROM_DATE;
          case 3: // TO_DATE
            return TO_DATE;
          case 4: // STATUSES
            return STATUSES;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __CUSTOMERID_ISSET_ID = 0;
    private static final int __FROM_DATE_ISSET_ID = 1;
    private static final int __TO_DATE_ISSET_ID = 2;
    private BitSet __isset_bit_vector = new BitSet(3);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.CUSTOMER_ID, new org.apache.thrift.meta_data.FieldMetaData("customerId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.FROM_DATE, new org.apache.thrift.meta_data.FieldMetaData("from_date", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.TO_DATE, new org.apache.thrift.meta_data.FieldMetaData("to_date", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.STATUSES, new org.apache.thrift.meta_data.FieldMetaData("statuses", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, OrderStatus.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getOrdersForCustomer_args.class, metaDataMap);
    }

    public getOrdersForCustomer_args() {
    }

    public getOrdersForCustomer_args(
      long customerId,
      long from_date,
      long to_date,
      List<OrderStatus> statuses)
    {
      this();
      this.customerId = customerId;
      setCustomerIdIsSet(true);
      this.from_date = from_date;
      setFrom_dateIsSet(true);
      this.to_date = to_date;
      setTo_dateIsSet(true);
      this.statuses = statuses;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getOrdersForCustomer_args(getOrdersForCustomer_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.customerId = other.customerId;
      this.from_date = other.from_date;
      this.to_date = other.to_date;
      if (other.isSetStatuses()) {
        List<OrderStatus> __this__statuses = new ArrayList<OrderStatus>();
        for (OrderStatus other_element : other.statuses) {
          __this__statuses.add(other_element);
        }
        this.statuses = __this__statuses;
      }
    }

    public getOrdersForCustomer_args deepCopy() {
      return new getOrdersForCustomer_args(this);
    }

    @Override
    public void clear() {
      setCustomerIdIsSet(false);
      this.customerId = 0;
      setFrom_dateIsSet(false);
      this.from_date = 0;
      setTo_dateIsSet(false);
      this.to_date = 0;
      this.statuses = null;
    }

    public long getCustomerId() {
      return this.customerId;
    }

    public void setCustomerId(long customerId) {
      this.customerId = customerId;
      setCustomerIdIsSet(true);
    }

    public void unsetCustomerId() {
      __isset_bit_vector.clear(__CUSTOMERID_ISSET_ID);
    }

    /** Returns true if field customerId is set (has been assigned a value) and false otherwise */
    public boolean isSetCustomerId() {
      return __isset_bit_vector.get(__CUSTOMERID_ISSET_ID);
    }

    public void setCustomerIdIsSet(boolean value) {
      __isset_bit_vector.set(__CUSTOMERID_ISSET_ID, value);
    }

    public long getFrom_date() {
      return this.from_date;
    }

    public void setFrom_date(long from_date) {
      this.from_date = from_date;
      setFrom_dateIsSet(true);
    }

    public void unsetFrom_date() {
      __isset_bit_vector.clear(__FROM_DATE_ISSET_ID);
    }

    /** Returns true if field from_date is set (has been assigned a value) and false otherwise */
    public boolean isSetFrom_date() {
      return __isset_bit_vector.get(__FROM_DATE_ISSET_ID);
    }

    public void setFrom_dateIsSet(boolean value) {
      __isset_bit_vector.set(__FROM_DATE_ISSET_ID, value);
    }

    public long getTo_date() {
      return this.to_date;
    }

    public void setTo_date(long to_date) {
      this.to_date = to_date;
      setTo_dateIsSet(true);
    }

    public void unsetTo_date() {
      __isset_bit_vector.clear(__TO_DATE_ISSET_ID);
    }

    /** Returns true if field to_date is set (has been assigned a value) and false otherwise */
    public boolean isSetTo_date() {
      return __isset_bit_vector.get(__TO_DATE_ISSET_ID);
    }

    public void setTo_dateIsSet(boolean value) {
      __isset_bit_vector.set(__TO_DATE_ISSET_ID, value);
    }

    public int getStatusesSize() {
      return (this.statuses == null) ? 0 : this.statuses.size();
    }

    public java.util.Iterator<OrderStatus> getStatusesIterator() {
      return (this.statuses == null) ? null : this.statuses.iterator();
    }

    public void addToStatuses(OrderStatus elem) {
      if (this.statuses == null) {
        this.statuses = new ArrayList<OrderStatus>();
      }
      this.statuses.add(elem);
    }

    public List<OrderStatus> getStatuses() {
      return this.statuses;
    }

    public void setStatuses(List<OrderStatus> statuses) {
      this.statuses = statuses;
    }

    public void unsetStatuses() {
      this.statuses = null;
    }

    /** Returns true if field statuses is set (has been assigned a value) and false otherwise */
    public boolean isSetStatuses() {
      return this.statuses != null;
    }

    public void setStatusesIsSet(boolean value) {
      if (!value) {
        this.statuses = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case CUSTOMER_ID:
        if (value == null) {
          unsetCustomerId();
        } else {
          setCustomerId((Long)value);
        }
        break;

      case FROM_DATE:
        if (value == null) {
          unsetFrom_date();
        } else {
          setFrom_date((Long)value);
        }
        break;

      case TO_DATE:
        if (value == null) {
          unsetTo_date();
        } else {
          setTo_date((Long)value);
        }
        break;

      case STATUSES:
        if (value == null) {
          unsetStatuses();
        } else {
          setStatuses((List<OrderStatus>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case CUSTOMER_ID:
        return Long.valueOf(getCustomerId());

      case FROM_DATE:
        return Long.valueOf(getFrom_date());

      case TO_DATE:
        return Long.valueOf(getTo_date());

      case STATUSES:
        return getStatuses();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case CUSTOMER_ID:
        return isSetCustomerId();
      case FROM_DATE:
        return isSetFrom_date();
      case TO_DATE:
        return isSetTo_date();
      case STATUSES:
        return isSetStatuses();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getOrdersForCustomer_args)
        return this.equals((getOrdersForCustomer_args)that);
      return false;
    }

    public boolean equals(getOrdersForCustomer_args that) {
      if (that == null)
        return false;

      boolean this_present_customerId = true;
      boolean that_present_customerId = true;
      if (this_present_customerId || that_present_customerId) {
        if (!(this_present_customerId && that_present_customerId))
          return false;
        if (this.customerId != that.customerId)
          return false;
      }

      boolean this_present_from_date = true;
      boolean that_present_from_date = true;
      if (this_present_from_date || that_present_from_date) {
        if (!(this_present_from_date && that_present_from_date))
          return false;
        if (this.from_date != that.from_date)
          return false;
      }

      boolean this_present_to_date = true;
      boolean that_present_to_date = true;
      if (this_present_to_date || that_present_to_date) {
        if (!(this_present_to_date && that_present_to_date))
          return false;
        if (this.to_date != that.to_date)
          return false;
      }

      boolean this_present_statuses = true && this.isSetStatuses();
      boolean that_present_statuses = true && that.isSetStatuses();
      if (this_present_statuses || that_present_statuses) {
        if (!(this_present_statuses && that_present_statuses))
          return false;
        if (!this.statuses.equals(that.statuses))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getOrdersForCustomer_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getOrdersForCustomer_args typedOther = (getOrdersForCustomer_args)other;

      lastComparison = Boolean.valueOf(isSetCustomerId()).compareTo(typedOther.isSetCustomerId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetCustomerId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.customerId, typedOther.customerId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetFrom_date()).compareTo(typedOther.isSetFrom_date());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetFrom_date()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.from_date, typedOther.from_date);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetTo_date()).compareTo(typedOther.isSetTo_date());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetTo_date()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.to_date, typedOther.to_date);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetStatuses()).compareTo(typedOther.isSetStatuses());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetStatuses()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.statuses, typedOther.statuses);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // CUSTOMER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.customerId = iprot.readI64();
              setCustomerIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // FROM_DATE
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.from_date = iprot.readI64();
              setFrom_dateIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // TO_DATE
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.to_date = iprot.readI64();
              setTo_dateIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 4: // STATUSES
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list124 = iprot.readListBegin();
                this.statuses = new ArrayList<OrderStatus>(_list124.size);
                for (int _i125 = 0; _i125 < _list124.size; ++_i125)
                {
                  OrderStatus _elem126; // required
                  _elem126 = OrderStatus.findByValue(iprot.readI32());
                  this.statuses.add(_elem126);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(CUSTOMER_ID_FIELD_DESC);
      oprot.writeI64(this.customerId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(FROM_DATE_FIELD_DESC);
      oprot.writeI64(this.from_date);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(TO_DATE_FIELD_DESC);
      oprot.writeI64(this.to_date);
      oprot.writeFieldEnd();
      if (this.statuses != null) {
        oprot.writeFieldBegin(STATUSES_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I32, this.statuses.size()));
          for (OrderStatus _iter127 : this.statuses)
          {
            oprot.writeI32(_iter127.getValue());
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getOrdersForCustomer_args(");
      boolean first = true;

      sb.append("customerId:");
      sb.append(this.customerId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("from_date:");
      sb.append(this.from_date);
      first = false;
      if (!first) sb.append(", ");
      sb.append("to_date:");
      sb.append(this.to_date);
      first = false;
      if (!first) sb.append(", ");
      sb.append("statuses:");
      if (this.statuses == null) {
        sb.append("null");
      } else {
        sb.append(this.statuses);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getOrdersForCustomer_result implements org.apache.thrift.TBase<getOrdersForCustomer_result, getOrdersForCustomer_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getOrdersForCustomer_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private List<Order> success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Order.class))));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getOrdersForCustomer_result.class, metaDataMap);
    }

    public getOrdersForCustomer_result() {
    }

    public getOrdersForCustomer_result(
      List<Order> success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getOrdersForCustomer_result(getOrdersForCustomer_result other) {
      if (other.isSetSuccess()) {
        List<Order> __this__success = new ArrayList<Order>();
        for (Order other_element : other.success) {
          __this__success.add(new Order(other_element));
        }
        this.success = __this__success;
      }
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public getOrdersForCustomer_result deepCopy() {
      return new getOrdersForCustomer_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.ex = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<Order> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(Order elem) {
      if (this.success == null) {
        this.success = new ArrayList<Order>();
      }
      this.success.add(elem);
    }

    public List<Order> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<Order> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<Order>)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getOrdersForCustomer_result)
        return this.equals((getOrdersForCustomer_result)that);
      return false;
    }

    public boolean equals(getOrdersForCustomer_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getOrdersForCustomer_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getOrdersForCustomer_result typedOther = (getOrdersForCustomer_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list128 = iprot.readListBegin();
                this.success = new ArrayList<Order>(_list128.size);
                for (int _i129 = 0; _i129 < _list128.size; ++_i129)
                {
                  Order _elem130; // required
                  _elem130 = new Order();
                  _elem130.read(iprot);
                  this.success.add(_elem130);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (Order _iter131 : this.success)
          {
            _iter131.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getOrdersForCustomer_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class createOrder_args implements org.apache.thrift.TBase<createOrder_args, createOrder_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("createOrder_args");

    private static final org.apache.thrift.protocol.TField ORDER_FIELD_DESC = new org.apache.thrift.protocol.TField("order", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private Order order; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ORDER((short)1, "order");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ORDER
            return ORDER;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ORDER, new org.apache.thrift.meta_data.FieldMetaData("order", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Order.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(createOrder_args.class, metaDataMap);
    }

    public createOrder_args() {
    }

    public createOrder_args(
      Order order)
    {
      this();
      this.order = order;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public createOrder_args(createOrder_args other) {
      if (other.isSetOrder()) {
        this.order = new Order(other.order);
      }
    }

    public createOrder_args deepCopy() {
      return new createOrder_args(this);
    }

    @Override
    public void clear() {
      this.order = null;
    }

    public Order getOrder() {
      return this.order;
    }

    public void setOrder(Order order) {
      this.order = order;
    }

    public void unsetOrder() {
      this.order = null;
    }

    /** Returns true if field order is set (has been assigned a value) and false otherwise */
    public boolean isSetOrder() {
      return this.order != null;
    }

    public void setOrderIsSet(boolean value) {
      if (!value) {
        this.order = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ORDER:
        if (value == null) {
          unsetOrder();
        } else {
          setOrder((Order)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ORDER:
        return getOrder();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ORDER:
        return isSetOrder();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof createOrder_args)
        return this.equals((createOrder_args)that);
      return false;
    }

    public boolean equals(createOrder_args that) {
      if (that == null)
        return false;

      boolean this_present_order = true && this.isSetOrder();
      boolean that_present_order = true && that.isSetOrder();
      if (this_present_order || that_present_order) {
        if (!(this_present_order && that_present_order))
          return false;
        if (!this.order.equals(that.order))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(createOrder_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      createOrder_args typedOther = (createOrder_args)other;

      lastComparison = Boolean.valueOf(isSetOrder()).compareTo(typedOther.isSetOrder());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrder()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.order, typedOther.order);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ORDER
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.order = new Order();
              this.order.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.order != null) {
        oprot.writeFieldBegin(ORDER_FIELD_DESC);
        this.order.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("createOrder_args(");
      boolean first = true;

      sb.append("order:");
      if (this.order == null) {
        sb.append("null");
      } else {
        sb.append(this.order);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class createOrder_result implements org.apache.thrift.TBase<createOrder_result, createOrder_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("createOrder_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.I64, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private long success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(createOrder_result.class, metaDataMap);
    }

    public createOrder_result() {
    }

    public createOrder_result(
      long success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public createOrder_result(createOrder_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public createOrder_result deepCopy() {
      return new createOrder_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = 0;
      this.ex = null;
    }

    public long getSuccess() {
      return this.success;
    }

    public void setSuccess(long success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Long)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Long.valueOf(getSuccess());

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof createOrder_result)
        return this.equals((createOrder_result)that);
      return false;
    }

    public boolean equals(createOrder_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(createOrder_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      createOrder_result typedOther = (createOrder_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.success = iprot.readI64();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeI64(this.success);
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("createOrder_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getOrder_args implements org.apache.thrift.TBase<getOrder_args, getOrder_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getOrder_args");

    private static final org.apache.thrift.protocol.TField ID_FIELD_DESC = new org.apache.thrift.protocol.TField("id", org.apache.thrift.protocol.TType.I64, (short)1);

    private long id; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ID((short)1, "id");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ID
            return ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ID, new org.apache.thrift.meta_data.FieldMetaData("id", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getOrder_args.class, metaDataMap);
    }

    public getOrder_args() {
    }

    public getOrder_args(
      long id)
    {
      this();
      this.id = id;
      setIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getOrder_args(getOrder_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.id = other.id;
    }

    public getOrder_args deepCopy() {
      return new getOrder_args(this);
    }

    @Override
    public void clear() {
      setIdIsSet(false);
      this.id = 0;
    }

    public long getId() {
      return this.id;
    }

    public void setId(long id) {
      this.id = id;
      setIdIsSet(true);
    }

    public void unsetId() {
      __isset_bit_vector.clear(__ID_ISSET_ID);
    }

    /** Returns true if field id is set (has been assigned a value) and false otherwise */
    public boolean isSetId() {
      return __isset_bit_vector.get(__ID_ISSET_ID);
    }

    public void setIdIsSet(boolean value) {
      __isset_bit_vector.set(__ID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ID:
        if (value == null) {
          unsetId();
        } else {
          setId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ID:
        return Long.valueOf(getId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ID:
        return isSetId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getOrder_args)
        return this.equals((getOrder_args)that);
      return false;
    }

    public boolean equals(getOrder_args that) {
      if (that == null)
        return false;

      boolean this_present_id = true;
      boolean that_present_id = true;
      if (this_present_id || that_present_id) {
        if (!(this_present_id && that_present_id))
          return false;
        if (this.id != that.id)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getOrder_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getOrder_args typedOther = (getOrder_args)other;

      lastComparison = Boolean.valueOf(isSetId()).compareTo(typedOther.isSetId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.id, typedOther.id);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.id = iprot.readI64();
              setIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ID_FIELD_DESC);
      oprot.writeI64(this.id);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getOrder_args(");
      boolean first = true;

      sb.append("id:");
      sb.append(this.id);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getOrder_result implements org.apache.thrift.TBase<getOrder_result, getOrder_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getOrder_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private Order success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Order.class)));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getOrder_result.class, metaDataMap);
    }

    public getOrder_result() {
    }

    public getOrder_result(
      Order success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getOrder_result(getOrder_result other) {
      if (other.isSetSuccess()) {
        this.success = new Order(other.success);
      }
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public getOrder_result deepCopy() {
      return new getOrder_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.ex = null;
    }

    public Order getSuccess() {
      return this.success;
    }

    public void setSuccess(Order success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Order)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getOrder_result)
        return this.equals((getOrder_result)that);
      return false;
    }

    public boolean equals(getOrder_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getOrder_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getOrder_result typedOther = (getOrder_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.success = new Order();
              this.success.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        this.success.write(oprot);
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getOrder_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getLineItemsForOrder_args implements org.apache.thrift.TBase<getLineItemsForOrder_args, getLineItemsForOrder_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getLineItemsForOrder_args");

    private static final org.apache.thrift.protocol.TField ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("orderId", org.apache.thrift.protocol.TType.I64, (short)1);

    private long orderId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ORDER_ID((short)1, "orderId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ORDER_ID
            return ORDER_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ORDERID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("orderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getLineItemsForOrder_args.class, metaDataMap);
    }

    public getLineItemsForOrder_args() {
    }

    public getLineItemsForOrder_args(
      long orderId)
    {
      this();
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getLineItemsForOrder_args(getLineItemsForOrder_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.orderId = other.orderId;
    }

    public getLineItemsForOrder_args deepCopy() {
      return new getLineItemsForOrder_args(this);
    }

    @Override
    public void clear() {
      setOrderIdIsSet(false);
      this.orderId = 0;
    }

    public long getOrderId() {
      return this.orderId;
    }

    public void setOrderId(long orderId) {
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    public void unsetOrderId() {
      __isset_bit_vector.clear(__ORDERID_ISSET_ID);
    }

    /** Returns true if field orderId is set (has been assigned a value) and false otherwise */
    public boolean isSetOrderId() {
      return __isset_bit_vector.get(__ORDERID_ISSET_ID);
    }

    public void setOrderIdIsSet(boolean value) {
      __isset_bit_vector.set(__ORDERID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ORDER_ID:
        if (value == null) {
          unsetOrderId();
        } else {
          setOrderId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ORDER_ID:
        return Long.valueOf(getOrderId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ORDER_ID:
        return isSetOrderId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getLineItemsForOrder_args)
        return this.equals((getLineItemsForOrder_args)that);
      return false;
    }

    public boolean equals(getLineItemsForOrder_args that) {
      if (that == null)
        return false;

      boolean this_present_orderId = true;
      boolean that_present_orderId = true;
      if (this_present_orderId || that_present_orderId) {
        if (!(this_present_orderId && that_present_orderId))
          return false;
        if (this.orderId != that.orderId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getLineItemsForOrder_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getLineItemsForOrder_args typedOther = (getLineItemsForOrder_args)other;

      lastComparison = Boolean.valueOf(isSetOrderId()).compareTo(typedOther.isSetOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.orderId, typedOther.orderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.orderId = iprot.readI64();
              setOrderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ORDER_ID_FIELD_DESC);
      oprot.writeI64(this.orderId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getLineItemsForOrder_args(");
      boolean first = true;

      sb.append("orderId:");
      sb.append(this.orderId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getLineItemsForOrder_result implements org.apache.thrift.TBase<getLineItemsForOrder_result, getLineItemsForOrder_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getLineItemsForOrder_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private List<LineItem> success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, LineItem.class))));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getLineItemsForOrder_result.class, metaDataMap);
    }

    public getLineItemsForOrder_result() {
    }

    public getLineItemsForOrder_result(
      List<LineItem> success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getLineItemsForOrder_result(getLineItemsForOrder_result other) {
      if (other.isSetSuccess()) {
        List<LineItem> __this__success = new ArrayList<LineItem>();
        for (LineItem other_element : other.success) {
          __this__success.add(new LineItem(other_element));
        }
        this.success = __this__success;
      }
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public getLineItemsForOrder_result deepCopy() {
      return new getLineItemsForOrder_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.ex = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<LineItem> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(LineItem elem) {
      if (this.success == null) {
        this.success = new ArrayList<LineItem>();
      }
      this.success.add(elem);
    }

    public List<LineItem> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<LineItem> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<LineItem>)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getLineItemsForOrder_result)
        return this.equals((getLineItemsForOrder_result)that);
      return false;
    }

    public boolean equals(getLineItemsForOrder_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getLineItemsForOrder_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getLineItemsForOrder_result typedOther = (getLineItemsForOrder_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list132 = iprot.readListBegin();
                this.success = new ArrayList<LineItem>(_list132.size);
                for (int _i133 = 0; _i133 < _list132.size; ++_i133)
                {
                  LineItem _elem134; // required
                  _elem134 = new LineItem();
                  _elem134.read(iprot);
                  this.success.add(_elem134);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (LineItem _iter135 : this.success)
          {
            _iter135.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getLineItemsForOrder_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getOrderList_args implements org.apache.thrift.TBase<getOrderList_args, getOrderList_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getOrderList_args");

    private static final org.apache.thrift.protocol.TField ORDER_IDS_FIELD_DESC = new org.apache.thrift.protocol.TField("order_ids", org.apache.thrift.protocol.TType.LIST, (short)1);

    private List<Long> order_ids; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ORDER_IDS((short)1, "order_ids");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ORDER_IDS
            return ORDER_IDS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ORDER_IDS, new org.apache.thrift.meta_data.FieldMetaData("order_ids", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getOrderList_args.class, metaDataMap);
    }

    public getOrderList_args() {
    }

    public getOrderList_args(
      List<Long> order_ids)
    {
      this();
      this.order_ids = order_ids;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getOrderList_args(getOrderList_args other) {
      if (other.isSetOrder_ids()) {
        List<Long> __this__order_ids = new ArrayList<Long>();
        for (Long other_element : other.order_ids) {
          __this__order_ids.add(other_element);
        }
        this.order_ids = __this__order_ids;
      }
    }

    public getOrderList_args deepCopy() {
      return new getOrderList_args(this);
    }

    @Override
    public void clear() {
      this.order_ids = null;
    }

    public int getOrder_idsSize() {
      return (this.order_ids == null) ? 0 : this.order_ids.size();
    }

    public java.util.Iterator<Long> getOrder_idsIterator() {
      return (this.order_ids == null) ? null : this.order_ids.iterator();
    }

    public void addToOrder_ids(long elem) {
      if (this.order_ids == null) {
        this.order_ids = new ArrayList<Long>();
      }
      this.order_ids.add(elem);
    }

    public List<Long> getOrder_ids() {
      return this.order_ids;
    }

    public void setOrder_ids(List<Long> order_ids) {
      this.order_ids = order_ids;
    }

    public void unsetOrder_ids() {
      this.order_ids = null;
    }

    /** Returns true if field order_ids is set (has been assigned a value) and false otherwise */
    public boolean isSetOrder_ids() {
      return this.order_ids != null;
    }

    public void setOrder_idsIsSet(boolean value) {
      if (!value) {
        this.order_ids = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ORDER_IDS:
        if (value == null) {
          unsetOrder_ids();
        } else {
          setOrder_ids((List<Long>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ORDER_IDS:
        return getOrder_ids();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ORDER_IDS:
        return isSetOrder_ids();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getOrderList_args)
        return this.equals((getOrderList_args)that);
      return false;
    }

    public boolean equals(getOrderList_args that) {
      if (that == null)
        return false;

      boolean this_present_order_ids = true && this.isSetOrder_ids();
      boolean that_present_order_ids = true && that.isSetOrder_ids();
      if (this_present_order_ids || that_present_order_ids) {
        if (!(this_present_order_ids && that_present_order_ids))
          return false;
        if (!this.order_ids.equals(that.order_ids))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getOrderList_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getOrderList_args typedOther = (getOrderList_args)other;

      lastComparison = Boolean.valueOf(isSetOrder_ids()).compareTo(typedOther.isSetOrder_ids());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrder_ids()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.order_ids, typedOther.order_ids);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ORDER_IDS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list136 = iprot.readListBegin();
                this.order_ids = new ArrayList<Long>(_list136.size);
                for (int _i137 = 0; _i137 < _list136.size; ++_i137)
                {
                  long _elem138; // required
                  _elem138 = iprot.readI64();
                  this.order_ids.add(_elem138);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.order_ids != null) {
        oprot.writeFieldBegin(ORDER_IDS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, this.order_ids.size()));
          for (long _iter139 : this.order_ids)
          {
            oprot.writeI64(_iter139);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getOrderList_args(");
      boolean first = true;

      sb.append("order_ids:");
      if (this.order_ids == null) {
        sb.append("null");
      } else {
        sb.append(this.order_ids);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getOrderList_result implements org.apache.thrift.TBase<getOrderList_result, getOrderList_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getOrderList_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);

    private List<Order> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Order.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getOrderList_result.class, metaDataMap);
    }

    public getOrderList_result() {
    }

    public getOrderList_result(
      List<Order> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getOrderList_result(getOrderList_result other) {
      if (other.isSetSuccess()) {
        List<Order> __this__success = new ArrayList<Order>();
        for (Order other_element : other.success) {
          __this__success.add(new Order(other_element));
        }
        this.success = __this__success;
      }
    }

    public getOrderList_result deepCopy() {
      return new getOrderList_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<Order> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(Order elem) {
      if (this.success == null) {
        this.success = new ArrayList<Order>();
      }
      this.success.add(elem);
    }

    public List<Order> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<Order> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<Order>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getOrderList_result)
        return this.equals((getOrderList_result)that);
      return false;
    }

    public boolean equals(getOrderList_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getOrderList_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getOrderList_result typedOther = (getOrderList_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list140 = iprot.readListBegin();
                this.success = new ArrayList<Order>(_list140.size);
                for (int _i141 = 0; _i141 < _list140.size; ++_i141)
                {
                  Order _elem142; // required
                  _elem142 = new Order();
                  _elem142.read(iprot);
                  this.success.add(_elem142);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (Order _iter143 : this.success)
          {
            _iter143.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getOrderList_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getOrderListForVendor_args implements org.apache.thrift.TBase<getOrderListForVendor_args, getOrderListForVendor_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getOrderListForVendor_args");

    private static final org.apache.thrift.protocol.TField ORDER_IDS_FIELD_DESC = new org.apache.thrift.protocol.TField("order_ids", org.apache.thrift.protocol.TType.LIST, (short)1);
    private static final org.apache.thrift.protocol.TField VENDOR_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("vendorId", org.apache.thrift.protocol.TType.I64, (short)2);

    private List<Long> order_ids; // required
    private long vendorId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ORDER_IDS((short)1, "order_ids"),
      VENDOR_ID((short)2, "vendorId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ORDER_IDS
            return ORDER_IDS;
          case 2: // VENDOR_ID
            return VENDOR_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __VENDORID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ORDER_IDS, new org.apache.thrift.meta_data.FieldMetaData("order_ids", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64))));
      tmpMap.put(_Fields.VENDOR_ID, new org.apache.thrift.meta_data.FieldMetaData("vendorId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getOrderListForVendor_args.class, metaDataMap);
    }

    public getOrderListForVendor_args() {
    }

    public getOrderListForVendor_args(
      List<Long> order_ids,
      long vendorId)
    {
      this();
      this.order_ids = order_ids;
      this.vendorId = vendorId;
      setVendorIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getOrderListForVendor_args(getOrderListForVendor_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      if (other.isSetOrder_ids()) {
        List<Long> __this__order_ids = new ArrayList<Long>();
        for (Long other_element : other.order_ids) {
          __this__order_ids.add(other_element);
        }
        this.order_ids = __this__order_ids;
      }
      this.vendorId = other.vendorId;
    }

    public getOrderListForVendor_args deepCopy() {
      return new getOrderListForVendor_args(this);
    }

    @Override
    public void clear() {
      this.order_ids = null;
      setVendorIdIsSet(false);
      this.vendorId = 0;
    }

    public int getOrder_idsSize() {
      return (this.order_ids == null) ? 0 : this.order_ids.size();
    }

    public java.util.Iterator<Long> getOrder_idsIterator() {
      return (this.order_ids == null) ? null : this.order_ids.iterator();
    }

    public void addToOrder_ids(long elem) {
      if (this.order_ids == null) {
        this.order_ids = new ArrayList<Long>();
      }
      this.order_ids.add(elem);
    }

    public List<Long> getOrder_ids() {
      return this.order_ids;
    }

    public void setOrder_ids(List<Long> order_ids) {
      this.order_ids = order_ids;
    }

    public void unsetOrder_ids() {
      this.order_ids = null;
    }

    /** Returns true if field order_ids is set (has been assigned a value) and false otherwise */
    public boolean isSetOrder_ids() {
      return this.order_ids != null;
    }

    public void setOrder_idsIsSet(boolean value) {
      if (!value) {
        this.order_ids = null;
      }
    }

    public long getVendorId() {
      return this.vendorId;
    }

    public void setVendorId(long vendorId) {
      this.vendorId = vendorId;
      setVendorIdIsSet(true);
    }

    public void unsetVendorId() {
      __isset_bit_vector.clear(__VENDORID_ISSET_ID);
    }

    /** Returns true if field vendorId is set (has been assigned a value) and false otherwise */
    public boolean isSetVendorId() {
      return __isset_bit_vector.get(__VENDORID_ISSET_ID);
    }

    public void setVendorIdIsSet(boolean value) {
      __isset_bit_vector.set(__VENDORID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ORDER_IDS:
        if (value == null) {
          unsetOrder_ids();
        } else {
          setOrder_ids((List<Long>)value);
        }
        break;

      case VENDOR_ID:
        if (value == null) {
          unsetVendorId();
        } else {
          setVendorId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ORDER_IDS:
        return getOrder_ids();

      case VENDOR_ID:
        return Long.valueOf(getVendorId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ORDER_IDS:
        return isSetOrder_ids();
      case VENDOR_ID:
        return isSetVendorId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getOrderListForVendor_args)
        return this.equals((getOrderListForVendor_args)that);
      return false;
    }

    public boolean equals(getOrderListForVendor_args that) {
      if (that == null)
        return false;

      boolean this_present_order_ids = true && this.isSetOrder_ids();
      boolean that_present_order_ids = true && that.isSetOrder_ids();
      if (this_present_order_ids || that_present_order_ids) {
        if (!(this_present_order_ids && that_present_order_ids))
          return false;
        if (!this.order_ids.equals(that.order_ids))
          return false;
      }

      boolean this_present_vendorId = true;
      boolean that_present_vendorId = true;
      if (this_present_vendorId || that_present_vendorId) {
        if (!(this_present_vendorId && that_present_vendorId))
          return false;
        if (this.vendorId != that.vendorId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getOrderListForVendor_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getOrderListForVendor_args typedOther = (getOrderListForVendor_args)other;

      lastComparison = Boolean.valueOf(isSetOrder_ids()).compareTo(typedOther.isSetOrder_ids());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrder_ids()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.order_ids, typedOther.order_ids);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetVendorId()).compareTo(typedOther.isSetVendorId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetVendorId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.vendorId, typedOther.vendorId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ORDER_IDS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list144 = iprot.readListBegin();
                this.order_ids = new ArrayList<Long>(_list144.size);
                for (int _i145 = 0; _i145 < _list144.size; ++_i145)
                {
                  long _elem146; // required
                  _elem146 = iprot.readI64();
                  this.order_ids.add(_elem146);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // VENDOR_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.vendorId = iprot.readI64();
              setVendorIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.order_ids != null) {
        oprot.writeFieldBegin(ORDER_IDS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, this.order_ids.size()));
          for (long _iter147 : this.order_ids)
          {
            oprot.writeI64(_iter147);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldBegin(VENDOR_ID_FIELD_DESC);
      oprot.writeI64(this.vendorId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getOrderListForVendor_args(");
      boolean first = true;

      sb.append("order_ids:");
      if (this.order_ids == null) {
        sb.append("null");
      } else {
        sb.append(this.order_ids);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("vendorId:");
      sb.append(this.vendorId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getOrderListForVendor_result implements org.apache.thrift.TBase<getOrderListForVendor_result, getOrderListForVendor_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getOrderListForVendor_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);

    private List<Order> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Order.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getOrderListForVendor_result.class, metaDataMap);
    }

    public getOrderListForVendor_result() {
    }

    public getOrderListForVendor_result(
      List<Order> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getOrderListForVendor_result(getOrderListForVendor_result other) {
      if (other.isSetSuccess()) {
        List<Order> __this__success = new ArrayList<Order>();
        for (Order other_element : other.success) {
          __this__success.add(new Order(other_element));
        }
        this.success = __this__success;
      }
    }

    public getOrderListForVendor_result deepCopy() {
      return new getOrderListForVendor_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<Order> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(Order elem) {
      if (this.success == null) {
        this.success = new ArrayList<Order>();
      }
      this.success.add(elem);
    }

    public List<Order> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<Order> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<Order>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getOrderListForVendor_result)
        return this.equals((getOrderListForVendor_result)that);
      return false;
    }

    public boolean equals(getOrderListForVendor_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getOrderListForVendor_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getOrderListForVendor_result typedOther = (getOrderListForVendor_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list148 = iprot.readListBegin();
                this.success = new ArrayList<Order>(_list148.size);
                for (int _i149 = 0; _i149 < _list148.size; ++_i149)
                {
                  Order _elem150; // required
                  _elem150 = new Order();
                  _elem150.read(iprot);
                  this.success.add(_elem150);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (Order _iter151 : this.success)
          {
            _iter151.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getOrderListForVendor_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getOrderForCustomer_args implements org.apache.thrift.TBase<getOrderForCustomer_args, getOrderForCustomer_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getOrderForCustomer_args");

    private static final org.apache.thrift.protocol.TField ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("orderId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField CUSTOMER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("customerId", org.apache.thrift.protocol.TType.I64, (short)2);

    private long orderId; // required
    private long customerId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ORDER_ID((short)1, "orderId"),
      CUSTOMER_ID((short)2, "customerId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ORDER_ID
            return ORDER_ID;
          case 2: // CUSTOMER_ID
            return CUSTOMER_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ORDERID_ISSET_ID = 0;
    private static final int __CUSTOMERID_ISSET_ID = 1;
    private BitSet __isset_bit_vector = new BitSet(2);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("orderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.CUSTOMER_ID, new org.apache.thrift.meta_data.FieldMetaData("customerId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getOrderForCustomer_args.class, metaDataMap);
    }

    public getOrderForCustomer_args() {
    }

    public getOrderForCustomer_args(
      long orderId,
      long customerId)
    {
      this();
      this.orderId = orderId;
      setOrderIdIsSet(true);
      this.customerId = customerId;
      setCustomerIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getOrderForCustomer_args(getOrderForCustomer_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.orderId = other.orderId;
      this.customerId = other.customerId;
    }

    public getOrderForCustomer_args deepCopy() {
      return new getOrderForCustomer_args(this);
    }

    @Override
    public void clear() {
      setOrderIdIsSet(false);
      this.orderId = 0;
      setCustomerIdIsSet(false);
      this.customerId = 0;
    }

    public long getOrderId() {
      return this.orderId;
    }

    public void setOrderId(long orderId) {
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    public void unsetOrderId() {
      __isset_bit_vector.clear(__ORDERID_ISSET_ID);
    }

    /** Returns true if field orderId is set (has been assigned a value) and false otherwise */
    public boolean isSetOrderId() {
      return __isset_bit_vector.get(__ORDERID_ISSET_ID);
    }

    public void setOrderIdIsSet(boolean value) {
      __isset_bit_vector.set(__ORDERID_ISSET_ID, value);
    }

    public long getCustomerId() {
      return this.customerId;
    }

    public void setCustomerId(long customerId) {
      this.customerId = customerId;
      setCustomerIdIsSet(true);
    }

    public void unsetCustomerId() {
      __isset_bit_vector.clear(__CUSTOMERID_ISSET_ID);
    }

    /** Returns true if field customerId is set (has been assigned a value) and false otherwise */
    public boolean isSetCustomerId() {
      return __isset_bit_vector.get(__CUSTOMERID_ISSET_ID);
    }

    public void setCustomerIdIsSet(boolean value) {
      __isset_bit_vector.set(__CUSTOMERID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ORDER_ID:
        if (value == null) {
          unsetOrderId();
        } else {
          setOrderId((Long)value);
        }
        break;

      case CUSTOMER_ID:
        if (value == null) {
          unsetCustomerId();
        } else {
          setCustomerId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ORDER_ID:
        return Long.valueOf(getOrderId());

      case CUSTOMER_ID:
        return Long.valueOf(getCustomerId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ORDER_ID:
        return isSetOrderId();
      case CUSTOMER_ID:
        return isSetCustomerId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getOrderForCustomer_args)
        return this.equals((getOrderForCustomer_args)that);
      return false;
    }

    public boolean equals(getOrderForCustomer_args that) {
      if (that == null)
        return false;

      boolean this_present_orderId = true;
      boolean that_present_orderId = true;
      if (this_present_orderId || that_present_orderId) {
        if (!(this_present_orderId && that_present_orderId))
          return false;
        if (this.orderId != that.orderId)
          return false;
      }

      boolean this_present_customerId = true;
      boolean that_present_customerId = true;
      if (this_present_customerId || that_present_customerId) {
        if (!(this_present_customerId && that_present_customerId))
          return false;
        if (this.customerId != that.customerId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getOrderForCustomer_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getOrderForCustomer_args typedOther = (getOrderForCustomer_args)other;

      lastComparison = Boolean.valueOf(isSetOrderId()).compareTo(typedOther.isSetOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.orderId, typedOther.orderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetCustomerId()).compareTo(typedOther.isSetCustomerId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetCustomerId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.customerId, typedOther.customerId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.orderId = iprot.readI64();
              setOrderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // CUSTOMER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.customerId = iprot.readI64();
              setCustomerIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ORDER_ID_FIELD_DESC);
      oprot.writeI64(this.orderId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(CUSTOMER_ID_FIELD_DESC);
      oprot.writeI64(this.customerId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getOrderForCustomer_args(");
      boolean first = true;

      sb.append("orderId:");
      sb.append(this.orderId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("customerId:");
      sb.append(this.customerId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getOrderForCustomer_result implements org.apache.thrift.TBase<getOrderForCustomer_result, getOrderForCustomer_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getOrderForCustomer_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private Order success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Order.class)));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getOrderForCustomer_result.class, metaDataMap);
    }

    public getOrderForCustomer_result() {
    }

    public getOrderForCustomer_result(
      Order success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getOrderForCustomer_result(getOrderForCustomer_result other) {
      if (other.isSetSuccess()) {
        this.success = new Order(other.success);
      }
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public getOrderForCustomer_result deepCopy() {
      return new getOrderForCustomer_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.ex = null;
    }

    public Order getSuccess() {
      return this.success;
    }

    public void setSuccess(Order success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Order)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getOrderForCustomer_result)
        return this.equals((getOrderForCustomer_result)that);
      return false;
    }

    public boolean equals(getOrderForCustomer_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getOrderForCustomer_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getOrderForCustomer_result typedOther = (getOrderForCustomer_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.success = new Order();
              this.success.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        this.success.write(oprot);
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getOrderForCustomer_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getAlerts_args implements org.apache.thrift.TBase<getAlerts_args, getAlerts_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAlerts_args");

    private static final org.apache.thrift.protocol.TField TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("type", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField WAREHOUSE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("warehouseId", org.apache.thrift.protocol.TType.I64, (short)2);
    private static final org.apache.thrift.protocol.TField STATUS_FIELD_DESC = new org.apache.thrift.protocol.TField("status", org.apache.thrift.protocol.TType.I64, (short)3);
    private static final org.apache.thrift.protocol.TField TIMESTAMP_FIELD_DESC = new org.apache.thrift.protocol.TField("timestamp", org.apache.thrift.protocol.TType.I64, (short)4);

    private long type; // required
    private long warehouseId; // required
    private long status; // required
    private long timestamp; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      TYPE((short)1, "type"),
      WAREHOUSE_ID((short)2, "warehouseId"),
      STATUS((short)3, "status"),
      TIMESTAMP((short)4, "timestamp");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // TYPE
            return TYPE;
          case 2: // WAREHOUSE_ID
            return WAREHOUSE_ID;
          case 3: // STATUS
            return STATUS;
          case 4: // TIMESTAMP
            return TIMESTAMP;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __TYPE_ISSET_ID = 0;
    private static final int __WAREHOUSEID_ISSET_ID = 1;
    private static final int __STATUS_ISSET_ID = 2;
    private static final int __TIMESTAMP_ISSET_ID = 3;
    private BitSet __isset_bit_vector = new BitSet(4);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.TYPE, new org.apache.thrift.meta_data.FieldMetaData("type", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.WAREHOUSE_ID, new org.apache.thrift.meta_data.FieldMetaData("warehouseId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.STATUS, new org.apache.thrift.meta_data.FieldMetaData("status", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.TIMESTAMP, new org.apache.thrift.meta_data.FieldMetaData("timestamp", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAlerts_args.class, metaDataMap);
    }

    public getAlerts_args() {
    }

    public getAlerts_args(
      long type,
      long warehouseId,
      long status,
      long timestamp)
    {
      this();
      this.type = type;
      setTypeIsSet(true);
      this.warehouseId = warehouseId;
      setWarehouseIdIsSet(true);
      this.status = status;
      setStatusIsSet(true);
      this.timestamp = timestamp;
      setTimestampIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getAlerts_args(getAlerts_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.type = other.type;
      this.warehouseId = other.warehouseId;
      this.status = other.status;
      this.timestamp = other.timestamp;
    }

    public getAlerts_args deepCopy() {
      return new getAlerts_args(this);
    }

    @Override
    public void clear() {
      setTypeIsSet(false);
      this.type = 0;
      setWarehouseIdIsSet(false);
      this.warehouseId = 0;
      setStatusIsSet(false);
      this.status = 0;
      setTimestampIsSet(false);
      this.timestamp = 0;
    }

    public long getType() {
      return this.type;
    }

    public void setType(long type) {
      this.type = type;
      setTypeIsSet(true);
    }

    public void unsetType() {
      __isset_bit_vector.clear(__TYPE_ISSET_ID);
    }

    /** Returns true if field type is set (has been assigned a value) and false otherwise */
    public boolean isSetType() {
      return __isset_bit_vector.get(__TYPE_ISSET_ID);
    }

    public void setTypeIsSet(boolean value) {
      __isset_bit_vector.set(__TYPE_ISSET_ID, value);
    }

    public long getWarehouseId() {
      return this.warehouseId;
    }

    public void setWarehouseId(long warehouseId) {
      this.warehouseId = warehouseId;
      setWarehouseIdIsSet(true);
    }

    public void unsetWarehouseId() {
      __isset_bit_vector.clear(__WAREHOUSEID_ISSET_ID);
    }

    /** Returns true if field warehouseId is set (has been assigned a value) and false otherwise */
    public boolean isSetWarehouseId() {
      return __isset_bit_vector.get(__WAREHOUSEID_ISSET_ID);
    }

    public void setWarehouseIdIsSet(boolean value) {
      __isset_bit_vector.set(__WAREHOUSEID_ISSET_ID, value);
    }

    public long getStatus() {
      return this.status;
    }

    public void setStatus(long status) {
      this.status = status;
      setStatusIsSet(true);
    }

    public void unsetStatus() {
      __isset_bit_vector.clear(__STATUS_ISSET_ID);
    }

    /** Returns true if field status is set (has been assigned a value) and false otherwise */
    public boolean isSetStatus() {
      return __isset_bit_vector.get(__STATUS_ISSET_ID);
    }

    public void setStatusIsSet(boolean value) {
      __isset_bit_vector.set(__STATUS_ISSET_ID, value);
    }

    public long getTimestamp() {
      return this.timestamp;
    }

    public void setTimestamp(long timestamp) {
      this.timestamp = timestamp;
      setTimestampIsSet(true);
    }

    public void unsetTimestamp() {
      __isset_bit_vector.clear(__TIMESTAMP_ISSET_ID);
    }

    /** Returns true if field timestamp is set (has been assigned a value) and false otherwise */
    public boolean isSetTimestamp() {
      return __isset_bit_vector.get(__TIMESTAMP_ISSET_ID);
    }

    public void setTimestampIsSet(boolean value) {
      __isset_bit_vector.set(__TIMESTAMP_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case TYPE:
        if (value == null) {
          unsetType();
        } else {
          setType((Long)value);
        }
        break;

      case WAREHOUSE_ID:
        if (value == null) {
          unsetWarehouseId();
        } else {
          setWarehouseId((Long)value);
        }
        break;

      case STATUS:
        if (value == null) {
          unsetStatus();
        } else {
          setStatus((Long)value);
        }
        break;

      case TIMESTAMP:
        if (value == null) {
          unsetTimestamp();
        } else {
          setTimestamp((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case TYPE:
        return Long.valueOf(getType());

      case WAREHOUSE_ID:
        return Long.valueOf(getWarehouseId());

      case STATUS:
        return Long.valueOf(getStatus());

      case TIMESTAMP:
        return Long.valueOf(getTimestamp());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case TYPE:
        return isSetType();
      case WAREHOUSE_ID:
        return isSetWarehouseId();
      case STATUS:
        return isSetStatus();
      case TIMESTAMP:
        return isSetTimestamp();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getAlerts_args)
        return this.equals((getAlerts_args)that);
      return false;
    }

    public boolean equals(getAlerts_args that) {
      if (that == null)
        return false;

      boolean this_present_type = true;
      boolean that_present_type = true;
      if (this_present_type || that_present_type) {
        if (!(this_present_type && that_present_type))
          return false;
        if (this.type != that.type)
          return false;
      }

      boolean this_present_warehouseId = true;
      boolean that_present_warehouseId = true;
      if (this_present_warehouseId || that_present_warehouseId) {
        if (!(this_present_warehouseId && that_present_warehouseId))
          return false;
        if (this.warehouseId != that.warehouseId)
          return false;
      }

      boolean this_present_status = true;
      boolean that_present_status = true;
      if (this_present_status || that_present_status) {
        if (!(this_present_status && that_present_status))
          return false;
        if (this.status != that.status)
          return false;
      }

      boolean this_present_timestamp = true;
      boolean that_present_timestamp = true;
      if (this_present_timestamp || that_present_timestamp) {
        if (!(this_present_timestamp && that_present_timestamp))
          return false;
        if (this.timestamp != that.timestamp)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getAlerts_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getAlerts_args typedOther = (getAlerts_args)other;

      lastComparison = Boolean.valueOf(isSetType()).compareTo(typedOther.isSetType());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetType()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.type, typedOther.type);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetWarehouseId()).compareTo(typedOther.isSetWarehouseId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetWarehouseId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.warehouseId, typedOther.warehouseId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetStatus()).compareTo(typedOther.isSetStatus());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetStatus()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.status, typedOther.status);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetTimestamp()).compareTo(typedOther.isSetTimestamp());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetTimestamp()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.timestamp, typedOther.timestamp);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // TYPE
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.type = iprot.readI64();
              setTypeIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // WAREHOUSE_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.warehouseId = iprot.readI64();
              setWarehouseIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // STATUS
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.status = iprot.readI64();
              setStatusIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 4: // TIMESTAMP
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.timestamp = iprot.readI64();
              setTimestampIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(TYPE_FIELD_DESC);
      oprot.writeI64(this.type);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(WAREHOUSE_ID_FIELD_DESC);
      oprot.writeI64(this.warehouseId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(STATUS_FIELD_DESC);
      oprot.writeI64(this.status);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(TIMESTAMP_FIELD_DESC);
      oprot.writeI64(this.timestamp);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getAlerts_args(");
      boolean first = true;

      sb.append("type:");
      sb.append(this.type);
      first = false;
      if (!first) sb.append(", ");
      sb.append("warehouseId:");
      sb.append(this.warehouseId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("status:");
      sb.append(this.status);
      first = false;
      if (!first) sb.append(", ");
      sb.append("timestamp:");
      sb.append(this.timestamp);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getAlerts_result implements org.apache.thrift.TBase<getAlerts_result, getAlerts_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAlerts_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);

    private List<Alert> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Alert.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAlerts_result.class, metaDataMap);
    }

    public getAlerts_result() {
    }

    public getAlerts_result(
      List<Alert> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getAlerts_result(getAlerts_result other) {
      if (other.isSetSuccess()) {
        List<Alert> __this__success = new ArrayList<Alert>();
        for (Alert other_element : other.success) {
          __this__success.add(new Alert(other_element));
        }
        this.success = __this__success;
      }
    }

    public getAlerts_result deepCopy() {
      return new getAlerts_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<Alert> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(Alert elem) {
      if (this.success == null) {
        this.success = new ArrayList<Alert>();
      }
      this.success.add(elem);
    }

    public List<Alert> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<Alert> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<Alert>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getAlerts_result)
        return this.equals((getAlerts_result)that);
      return false;
    }

    public boolean equals(getAlerts_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getAlerts_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getAlerts_result typedOther = (getAlerts_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list152 = iprot.readListBegin();
                this.success = new ArrayList<Alert>(_list152.size);
                for (int _i153 = 0; _i153 < _list152.size; ++_i153)
                {
                  Alert _elem154; // required
                  _elem154 = new Alert();
                  _elem154.read(iprot);
                  this.success.add(_elem154);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (Alert _iter155 : this.success)
          {
            _iter155.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getAlerts_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class addAlert_args implements org.apache.thrift.TBase<addAlert_args, addAlert_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addAlert_args");

    private static final org.apache.thrift.protocol.TField TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("type", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField WAREHOUSE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("warehouseId", org.apache.thrift.protocol.TType.I64, (short)2);
    private static final org.apache.thrift.protocol.TField DESCRIPTION_FIELD_DESC = new org.apache.thrift.protocol.TField("description", org.apache.thrift.protocol.TType.STRING, (short)3);

    private long type; // required
    private long warehouseId; // required
    private String description; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      TYPE((short)1, "type"),
      WAREHOUSE_ID((short)2, "warehouseId"),
      DESCRIPTION((short)3, "description");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // TYPE
            return TYPE;
          case 2: // WAREHOUSE_ID
            return WAREHOUSE_ID;
          case 3: // DESCRIPTION
            return DESCRIPTION;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __TYPE_ISSET_ID = 0;
    private static final int __WAREHOUSEID_ISSET_ID = 1;
    private BitSet __isset_bit_vector = new BitSet(2);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.TYPE, new org.apache.thrift.meta_data.FieldMetaData("type", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.WAREHOUSE_ID, new org.apache.thrift.meta_data.FieldMetaData("warehouseId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.DESCRIPTION, new org.apache.thrift.meta_data.FieldMetaData("description", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(addAlert_args.class, metaDataMap);
    }

    public addAlert_args() {
    }

    public addAlert_args(
      long type,
      long warehouseId,
      String description)
    {
      this();
      this.type = type;
      setTypeIsSet(true);
      this.warehouseId = warehouseId;
      setWarehouseIdIsSet(true);
      this.description = description;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public addAlert_args(addAlert_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.type = other.type;
      this.warehouseId = other.warehouseId;
      if (other.isSetDescription()) {
        this.description = other.description;
      }
    }

    public addAlert_args deepCopy() {
      return new addAlert_args(this);
    }

    @Override
    public void clear() {
      setTypeIsSet(false);
      this.type = 0;
      setWarehouseIdIsSet(false);
      this.warehouseId = 0;
      this.description = null;
    }

    public long getType() {
      return this.type;
    }

    public void setType(long type) {
      this.type = type;
      setTypeIsSet(true);
    }

    public void unsetType() {
      __isset_bit_vector.clear(__TYPE_ISSET_ID);
    }

    /** Returns true if field type is set (has been assigned a value) and false otherwise */
    public boolean isSetType() {
      return __isset_bit_vector.get(__TYPE_ISSET_ID);
    }

    public void setTypeIsSet(boolean value) {
      __isset_bit_vector.set(__TYPE_ISSET_ID, value);
    }

    public long getWarehouseId() {
      return this.warehouseId;
    }

    public void setWarehouseId(long warehouseId) {
      this.warehouseId = warehouseId;
      setWarehouseIdIsSet(true);
    }

    public void unsetWarehouseId() {
      __isset_bit_vector.clear(__WAREHOUSEID_ISSET_ID);
    }

    /** Returns true if field warehouseId is set (has been assigned a value) and false otherwise */
    public boolean isSetWarehouseId() {
      return __isset_bit_vector.get(__WAREHOUSEID_ISSET_ID);
    }

    public void setWarehouseIdIsSet(boolean value) {
      __isset_bit_vector.set(__WAREHOUSEID_ISSET_ID, value);
    }

    public String getDescription() {
      return this.description;
    }

    public void setDescription(String description) {
      this.description = description;
    }

    public void unsetDescription() {
      this.description = null;
    }

    /** Returns true if field description is set (has been assigned a value) and false otherwise */
    public boolean isSetDescription() {
      return this.description != null;
    }

    public void setDescriptionIsSet(boolean value) {
      if (!value) {
        this.description = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case TYPE:
        if (value == null) {
          unsetType();
        } else {
          setType((Long)value);
        }
        break;

      case WAREHOUSE_ID:
        if (value == null) {
          unsetWarehouseId();
        } else {
          setWarehouseId((Long)value);
        }
        break;

      case DESCRIPTION:
        if (value == null) {
          unsetDescription();
        } else {
          setDescription((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case TYPE:
        return Long.valueOf(getType());

      case WAREHOUSE_ID:
        return Long.valueOf(getWarehouseId());

      case DESCRIPTION:
        return getDescription();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case TYPE:
        return isSetType();
      case WAREHOUSE_ID:
        return isSetWarehouseId();
      case DESCRIPTION:
        return isSetDescription();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof addAlert_args)
        return this.equals((addAlert_args)that);
      return false;
    }

    public boolean equals(addAlert_args that) {
      if (that == null)
        return false;

      boolean this_present_type = true;
      boolean that_present_type = true;
      if (this_present_type || that_present_type) {
        if (!(this_present_type && that_present_type))
          return false;
        if (this.type != that.type)
          return false;
      }

      boolean this_present_warehouseId = true;
      boolean that_present_warehouseId = true;
      if (this_present_warehouseId || that_present_warehouseId) {
        if (!(this_present_warehouseId && that_present_warehouseId))
          return false;
        if (this.warehouseId != that.warehouseId)
          return false;
      }

      boolean this_present_description = true && this.isSetDescription();
      boolean that_present_description = true && that.isSetDescription();
      if (this_present_description || that_present_description) {
        if (!(this_present_description && that_present_description))
          return false;
        if (!this.description.equals(that.description))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(addAlert_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      addAlert_args typedOther = (addAlert_args)other;

      lastComparison = Boolean.valueOf(isSetType()).compareTo(typedOther.isSetType());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetType()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.type, typedOther.type);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetWarehouseId()).compareTo(typedOther.isSetWarehouseId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetWarehouseId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.warehouseId, typedOther.warehouseId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetDescription()).compareTo(typedOther.isSetDescription());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetDescription()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.description, typedOther.description);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // TYPE
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.type = iprot.readI64();
              setTypeIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // WAREHOUSE_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.warehouseId = iprot.readI64();
              setWarehouseIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // DESCRIPTION
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.description = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(TYPE_FIELD_DESC);
      oprot.writeI64(this.type);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(WAREHOUSE_ID_FIELD_DESC);
      oprot.writeI64(this.warehouseId);
      oprot.writeFieldEnd();
      if (this.description != null) {
        oprot.writeFieldBegin(DESCRIPTION_FIELD_DESC);
        oprot.writeString(this.description);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("addAlert_args(");
      boolean first = true;

      sb.append("type:");
      sb.append(this.type);
      first = false;
      if (!first) sb.append(", ");
      sb.append("warehouseId:");
      sb.append(this.warehouseId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("description:");
      if (this.description == null) {
        sb.append("null");
      } else {
        sb.append(this.description);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class addAlert_result implements org.apache.thrift.TBase<addAlert_result, addAlert_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addAlert_result");



    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
;

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(addAlert_result.class, metaDataMap);
    }

    public addAlert_result() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public addAlert_result(addAlert_result other) {
    }

    public addAlert_result deepCopy() {
      return new addAlert_result(this);
    }

    @Override
    public void clear() {
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof addAlert_result)
        return this.equals((addAlert_result)that);
      return false;
    }

    public boolean equals(addAlert_result that) {
      if (that == null)
        return false;

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(addAlert_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      addAlert_result typedOther = (addAlert_result)other;

      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("addAlert_result(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class markAlertsAsSeen_args implements org.apache.thrift.TBase<markAlertsAsSeen_args, markAlertsAsSeen_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("markAlertsAsSeen_args");

    private static final org.apache.thrift.protocol.TField WAREHOUSE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("warehouseId", org.apache.thrift.protocol.TType.I64, (short)1);

    private long warehouseId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      WAREHOUSE_ID((short)1, "warehouseId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // WAREHOUSE_ID
            return WAREHOUSE_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __WAREHOUSEID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.WAREHOUSE_ID, new org.apache.thrift.meta_data.FieldMetaData("warehouseId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(markAlertsAsSeen_args.class, metaDataMap);
    }

    public markAlertsAsSeen_args() {
    }

    public markAlertsAsSeen_args(
      long warehouseId)
    {
      this();
      this.warehouseId = warehouseId;
      setWarehouseIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public markAlertsAsSeen_args(markAlertsAsSeen_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.warehouseId = other.warehouseId;
    }

    public markAlertsAsSeen_args deepCopy() {
      return new markAlertsAsSeen_args(this);
    }

    @Override
    public void clear() {
      setWarehouseIdIsSet(false);
      this.warehouseId = 0;
    }

    public long getWarehouseId() {
      return this.warehouseId;
    }

    public void setWarehouseId(long warehouseId) {
      this.warehouseId = warehouseId;
      setWarehouseIdIsSet(true);
    }

    public void unsetWarehouseId() {
      __isset_bit_vector.clear(__WAREHOUSEID_ISSET_ID);
    }

    /** Returns true if field warehouseId is set (has been assigned a value) and false otherwise */
    public boolean isSetWarehouseId() {
      return __isset_bit_vector.get(__WAREHOUSEID_ISSET_ID);
    }

    public void setWarehouseIdIsSet(boolean value) {
      __isset_bit_vector.set(__WAREHOUSEID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case WAREHOUSE_ID:
        if (value == null) {
          unsetWarehouseId();
        } else {
          setWarehouseId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case WAREHOUSE_ID:
        return Long.valueOf(getWarehouseId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case WAREHOUSE_ID:
        return isSetWarehouseId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof markAlertsAsSeen_args)
        return this.equals((markAlertsAsSeen_args)that);
      return false;
    }

    public boolean equals(markAlertsAsSeen_args that) {
      if (that == null)
        return false;

      boolean this_present_warehouseId = true;
      boolean that_present_warehouseId = true;
      if (this_present_warehouseId || that_present_warehouseId) {
        if (!(this_present_warehouseId && that_present_warehouseId))
          return false;
        if (this.warehouseId != that.warehouseId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(markAlertsAsSeen_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      markAlertsAsSeen_args typedOther = (markAlertsAsSeen_args)other;

      lastComparison = Boolean.valueOf(isSetWarehouseId()).compareTo(typedOther.isSetWarehouseId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetWarehouseId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.warehouseId, typedOther.warehouseId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // WAREHOUSE_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.warehouseId = iprot.readI64();
              setWarehouseIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(WAREHOUSE_ID_FIELD_DESC);
      oprot.writeI64(this.warehouseId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("markAlertsAsSeen_args(");
      boolean first = true;

      sb.append("warehouseId:");
      sb.append(this.warehouseId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class markAlertsAsSeen_result implements org.apache.thrift.TBase<markAlertsAsSeen_result, markAlertsAsSeen_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("markAlertsAsSeen_result");



    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
;

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(markAlertsAsSeen_result.class, metaDataMap);
    }

    public markAlertsAsSeen_result() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public markAlertsAsSeen_result(markAlertsAsSeen_result other) {
    }

    public markAlertsAsSeen_result deepCopy() {
      return new markAlertsAsSeen_result(this);
    }

    @Override
    public void clear() {
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof markAlertsAsSeen_result)
        return this.equals((markAlertsAsSeen_result)that);
      return false;
    }

    public boolean equals(markAlertsAsSeen_result that) {
      if (that == null)
        return false;

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(markAlertsAsSeen_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      markAlertsAsSeen_result typedOther = (markAlertsAsSeen_result)other;

      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("markAlertsAsSeen_result(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getValidOrderCount_args implements org.apache.thrift.TBase<getValidOrderCount_args, getValidOrderCount_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getValidOrderCount_args");



    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
;

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getValidOrderCount_args.class, metaDataMap);
    }

    public getValidOrderCount_args() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getValidOrderCount_args(getValidOrderCount_args other) {
    }

    public getValidOrderCount_args deepCopy() {
      return new getValidOrderCount_args(this);
    }

    @Override
    public void clear() {
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getValidOrderCount_args)
        return this.equals((getValidOrderCount_args)that);
      return false;
    }

    public boolean equals(getValidOrderCount_args that) {
      if (that == null)
        return false;

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getValidOrderCount_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getValidOrderCount_args typedOther = (getValidOrderCount_args)other;

      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getValidOrderCount_args(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getValidOrderCount_result implements org.apache.thrift.TBase<getValidOrderCount_result, getValidOrderCount_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getValidOrderCount_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.I64, (short)0);

    private long success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getValidOrderCount_result.class, metaDataMap);
    }

    public getValidOrderCount_result() {
    }

    public getValidOrderCount_result(
      long success)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getValidOrderCount_result(getValidOrderCount_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
    }

    public getValidOrderCount_result deepCopy() {
      return new getValidOrderCount_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = 0;
    }

    public long getSuccess() {
      return this.success;
    }

    public void setSuccess(long success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Long.valueOf(getSuccess());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getValidOrderCount_result)
        return this.equals((getValidOrderCount_result)that);
      return false;
    }

    public boolean equals(getValidOrderCount_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getValidOrderCount_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getValidOrderCount_result typedOther = (getValidOrderCount_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.success = iprot.readI64();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeI64(this.success);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getValidOrderCount_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getNoOfCustomersWithSuccessfulTransaction_args implements org.apache.thrift.TBase<getNoOfCustomersWithSuccessfulTransaction_args, getNoOfCustomersWithSuccessfulTransaction_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getNoOfCustomersWithSuccessfulTransaction_args");



    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
;

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getNoOfCustomersWithSuccessfulTransaction_args.class, metaDataMap);
    }

    public getNoOfCustomersWithSuccessfulTransaction_args() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getNoOfCustomersWithSuccessfulTransaction_args(getNoOfCustomersWithSuccessfulTransaction_args other) {
    }

    public getNoOfCustomersWithSuccessfulTransaction_args deepCopy() {
      return new getNoOfCustomersWithSuccessfulTransaction_args(this);
    }

    @Override
    public void clear() {
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getNoOfCustomersWithSuccessfulTransaction_args)
        return this.equals((getNoOfCustomersWithSuccessfulTransaction_args)that);
      return false;
    }

    public boolean equals(getNoOfCustomersWithSuccessfulTransaction_args that) {
      if (that == null)
        return false;

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getNoOfCustomersWithSuccessfulTransaction_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getNoOfCustomersWithSuccessfulTransaction_args typedOther = (getNoOfCustomersWithSuccessfulTransaction_args)other;

      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getNoOfCustomersWithSuccessfulTransaction_args(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getNoOfCustomersWithSuccessfulTransaction_result implements org.apache.thrift.TBase<getNoOfCustomersWithSuccessfulTransaction_result, getNoOfCustomersWithSuccessfulTransaction_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getNoOfCustomersWithSuccessfulTransaction_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.I64, (short)0);

    private long success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getNoOfCustomersWithSuccessfulTransaction_result.class, metaDataMap);
    }

    public getNoOfCustomersWithSuccessfulTransaction_result() {
    }

    public getNoOfCustomersWithSuccessfulTransaction_result(
      long success)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getNoOfCustomersWithSuccessfulTransaction_result(getNoOfCustomersWithSuccessfulTransaction_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
    }

    public getNoOfCustomersWithSuccessfulTransaction_result deepCopy() {
      return new getNoOfCustomersWithSuccessfulTransaction_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = 0;
    }

    public long getSuccess() {
      return this.success;
    }

    public void setSuccess(long success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Long.valueOf(getSuccess());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getNoOfCustomersWithSuccessfulTransaction_result)
        return this.equals((getNoOfCustomersWithSuccessfulTransaction_result)that);
      return false;
    }

    public boolean equals(getNoOfCustomersWithSuccessfulTransaction_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getNoOfCustomersWithSuccessfulTransaction_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getNoOfCustomersWithSuccessfulTransaction_result typedOther = (getNoOfCustomersWithSuccessfulTransaction_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.success = iprot.readI64();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeI64(this.success);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getNoOfCustomersWithSuccessfulTransaction_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getValidOrdersAmountRange_args implements org.apache.thrift.TBase<getValidOrdersAmountRange_args, getValidOrdersAmountRange_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getValidOrdersAmountRange_args");



    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
;

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getValidOrdersAmountRange_args.class, metaDataMap);
    }

    public getValidOrdersAmountRange_args() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getValidOrdersAmountRange_args(getValidOrdersAmountRange_args other) {
    }

    public getValidOrdersAmountRange_args deepCopy() {
      return new getValidOrdersAmountRange_args(this);
    }

    @Override
    public void clear() {
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getValidOrdersAmountRange_args)
        return this.equals((getValidOrdersAmountRange_args)that);
      return false;
    }

    public boolean equals(getValidOrdersAmountRange_args that) {
      if (that == null)
        return false;

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getValidOrdersAmountRange_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getValidOrdersAmountRange_args typedOther = (getValidOrdersAmountRange_args)other;

      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getValidOrdersAmountRange_args(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getValidOrdersAmountRange_result implements org.apache.thrift.TBase<getValidOrdersAmountRange_result, getValidOrdersAmountRange_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getValidOrdersAmountRange_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);

    private List<Double> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getValidOrdersAmountRange_result.class, metaDataMap);
    }

    public getValidOrdersAmountRange_result() {
    }

    public getValidOrdersAmountRange_result(
      List<Double> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getValidOrdersAmountRange_result(getValidOrdersAmountRange_result other) {
      if (other.isSetSuccess()) {
        List<Double> __this__success = new ArrayList<Double>();
        for (Double other_element : other.success) {
          __this__success.add(other_element);
        }
        this.success = __this__success;
      }
    }

    public getValidOrdersAmountRange_result deepCopy() {
      return new getValidOrdersAmountRange_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<Double> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(double elem) {
      if (this.success == null) {
        this.success = new ArrayList<Double>();
      }
      this.success.add(elem);
    }

    public List<Double> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<Double> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<Double>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getValidOrdersAmountRange_result)
        return this.equals((getValidOrdersAmountRange_result)that);
      return false;
    }

    public boolean equals(getValidOrdersAmountRange_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getValidOrdersAmountRange_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getValidOrdersAmountRange_result typedOther = (getValidOrdersAmountRange_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list156 = iprot.readListBegin();
                this.success = new ArrayList<Double>(_list156.size);
                for (int _i157 = 0; _i157 < _list156.size; ++_i157)
                {
                  double _elem158; // required
                  _elem158 = iprot.readDouble();
                  this.success.add(_elem158);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.DOUBLE, this.success.size()));
          for (double _iter159 : this.success)
          {
            oprot.writeDouble(_iter159);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getValidOrdersAmountRange_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getValidOrders_args implements org.apache.thrift.TBase<getValidOrders_args, getValidOrders_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getValidOrders_args");

    private static final org.apache.thrift.protocol.TField LIMIT_FIELD_DESC = new org.apache.thrift.protocol.TField("limit", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField ONLY_STORE_FIELD_DESC = new org.apache.thrift.protocol.TField("onlyStore", org.apache.thrift.protocol.TType.BOOL, (short)2);

    private long limit; // required
    private boolean onlyStore; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      LIMIT((short)1, "limit"),
      ONLY_STORE((short)2, "onlyStore");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // LIMIT
            return LIMIT;
          case 2: // ONLY_STORE
            return ONLY_STORE;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __LIMIT_ISSET_ID = 0;
    private static final int __ONLYSTORE_ISSET_ID = 1;
    private BitSet __isset_bit_vector = new BitSet(2);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.LIMIT, new org.apache.thrift.meta_data.FieldMetaData("limit", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.ONLY_STORE, new org.apache.thrift.meta_data.FieldMetaData("onlyStore", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getValidOrders_args.class, metaDataMap);
    }

    public getValidOrders_args() {
    }

    public getValidOrders_args(
      long limit,
      boolean onlyStore)
    {
      this();
      this.limit = limit;
      setLimitIsSet(true);
      this.onlyStore = onlyStore;
      setOnlyStoreIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getValidOrders_args(getValidOrders_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.limit = other.limit;
      this.onlyStore = other.onlyStore;
    }

    public getValidOrders_args deepCopy() {
      return new getValidOrders_args(this);
    }

    @Override
    public void clear() {
      setLimitIsSet(false);
      this.limit = 0;
      setOnlyStoreIsSet(false);
      this.onlyStore = false;
    }

    public long getLimit() {
      return this.limit;
    }

    public void setLimit(long limit) {
      this.limit = limit;
      setLimitIsSet(true);
    }

    public void unsetLimit() {
      __isset_bit_vector.clear(__LIMIT_ISSET_ID);
    }

    /** Returns true if field limit is set (has been assigned a value) and false otherwise */
    public boolean isSetLimit() {
      return __isset_bit_vector.get(__LIMIT_ISSET_ID);
    }

    public void setLimitIsSet(boolean value) {
      __isset_bit_vector.set(__LIMIT_ISSET_ID, value);
    }

    public boolean isOnlyStore() {
      return this.onlyStore;
    }

    public void setOnlyStore(boolean onlyStore) {
      this.onlyStore = onlyStore;
      setOnlyStoreIsSet(true);
    }

    public void unsetOnlyStore() {
      __isset_bit_vector.clear(__ONLYSTORE_ISSET_ID);
    }

    /** Returns true if field onlyStore is set (has been assigned a value) and false otherwise */
    public boolean isSetOnlyStore() {
      return __isset_bit_vector.get(__ONLYSTORE_ISSET_ID);
    }

    public void setOnlyStoreIsSet(boolean value) {
      __isset_bit_vector.set(__ONLYSTORE_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case LIMIT:
        if (value == null) {
          unsetLimit();
        } else {
          setLimit((Long)value);
        }
        break;

      case ONLY_STORE:
        if (value == null) {
          unsetOnlyStore();
        } else {
          setOnlyStore((Boolean)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case LIMIT:
        return Long.valueOf(getLimit());

      case ONLY_STORE:
        return Boolean.valueOf(isOnlyStore());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case LIMIT:
        return isSetLimit();
      case ONLY_STORE:
        return isSetOnlyStore();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getValidOrders_args)
        return this.equals((getValidOrders_args)that);
      return false;
    }

    public boolean equals(getValidOrders_args that) {
      if (that == null)
        return false;

      boolean this_present_limit = true;
      boolean that_present_limit = true;
      if (this_present_limit || that_present_limit) {
        if (!(this_present_limit && that_present_limit))
          return false;
        if (this.limit != that.limit)
          return false;
      }

      boolean this_present_onlyStore = true;
      boolean that_present_onlyStore = true;
      if (this_present_onlyStore || that_present_onlyStore) {
        if (!(this_present_onlyStore && that_present_onlyStore))
          return false;
        if (this.onlyStore != that.onlyStore)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getValidOrders_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getValidOrders_args typedOther = (getValidOrders_args)other;

      lastComparison = Boolean.valueOf(isSetLimit()).compareTo(typedOther.isSetLimit());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetLimit()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.limit, typedOther.limit);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetOnlyStore()).compareTo(typedOther.isSetOnlyStore());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOnlyStore()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.onlyStore, typedOther.onlyStore);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // LIMIT
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.limit = iprot.readI64();
              setLimitIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // ONLY_STORE
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.onlyStore = iprot.readBool();
              setOnlyStoreIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(LIMIT_FIELD_DESC);
      oprot.writeI64(this.limit);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(ONLY_STORE_FIELD_DESC);
      oprot.writeBool(this.onlyStore);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getValidOrders_args(");
      boolean first = true;

      sb.append("limit:");
      sb.append(this.limit);
      first = false;
      if (!first) sb.append(", ");
      sb.append("onlyStore:");
      sb.append(this.onlyStore);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getValidOrders_result implements org.apache.thrift.TBase<getValidOrders_result, getValidOrders_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getValidOrders_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);

    private List<Order> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Order.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getValidOrders_result.class, metaDataMap);
    }

    public getValidOrders_result() {
    }

    public getValidOrders_result(
      List<Order> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getValidOrders_result(getValidOrders_result other) {
      if (other.isSetSuccess()) {
        List<Order> __this__success = new ArrayList<Order>();
        for (Order other_element : other.success) {
          __this__success.add(new Order(other_element));
        }
        this.success = __this__success;
      }
    }

    public getValidOrders_result deepCopy() {
      return new getValidOrders_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<Order> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(Order elem) {
      if (this.success == null) {
        this.success = new ArrayList<Order>();
      }
      this.success.add(elem);
    }

    public List<Order> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<Order> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<Order>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getValidOrders_result)
        return this.equals((getValidOrders_result)that);
      return false;
    }

    public boolean equals(getValidOrders_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getValidOrders_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getValidOrders_result typedOther = (getValidOrders_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list160 = iprot.readListBegin();
                this.success = new ArrayList<Order>(_list160.size);
                for (int _i161 = 0; _i161 < _list160.size; ++_i161)
                {
                  Order _elem162; // required
                  _elem162 = new Order();
                  _elem162.read(iprot);
                  this.success.add(_elem162);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (Order _iter163 : this.success)
          {
            _iter163.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getValidOrders_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class batchOrders_args implements org.apache.thrift.TBase<batchOrders_args, batchOrders_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("batchOrders_args");

    private static final org.apache.thrift.protocol.TField WAREHOUSE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("warehouseId", org.apache.thrift.protocol.TType.I64, (short)1);

    private long warehouseId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      WAREHOUSE_ID((short)1, "warehouseId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // WAREHOUSE_ID
            return WAREHOUSE_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __WAREHOUSEID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.WAREHOUSE_ID, new org.apache.thrift.meta_data.FieldMetaData("warehouseId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(batchOrders_args.class, metaDataMap);
    }

    public batchOrders_args() {
    }

    public batchOrders_args(
      long warehouseId)
    {
      this();
      this.warehouseId = warehouseId;
      setWarehouseIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public batchOrders_args(batchOrders_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.warehouseId = other.warehouseId;
    }

    public batchOrders_args deepCopy() {
      return new batchOrders_args(this);
    }

    @Override
    public void clear() {
      setWarehouseIdIsSet(false);
      this.warehouseId = 0;
    }

    public long getWarehouseId() {
      return this.warehouseId;
    }

    public void setWarehouseId(long warehouseId) {
      this.warehouseId = warehouseId;
      setWarehouseIdIsSet(true);
    }

    public void unsetWarehouseId() {
      __isset_bit_vector.clear(__WAREHOUSEID_ISSET_ID);
    }

    /** Returns true if field warehouseId is set (has been assigned a value) and false otherwise */
    public boolean isSetWarehouseId() {
      return __isset_bit_vector.get(__WAREHOUSEID_ISSET_ID);
    }

    public void setWarehouseIdIsSet(boolean value) {
      __isset_bit_vector.set(__WAREHOUSEID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case WAREHOUSE_ID:
        if (value == null) {
          unsetWarehouseId();
        } else {
          setWarehouseId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case WAREHOUSE_ID:
        return Long.valueOf(getWarehouseId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case WAREHOUSE_ID:
        return isSetWarehouseId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof batchOrders_args)
        return this.equals((batchOrders_args)that);
      return false;
    }

    public boolean equals(batchOrders_args that) {
      if (that == null)
        return false;

      boolean this_present_warehouseId = true;
      boolean that_present_warehouseId = true;
      if (this_present_warehouseId || that_present_warehouseId) {
        if (!(this_present_warehouseId && that_present_warehouseId))
          return false;
        if (this.warehouseId != that.warehouseId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(batchOrders_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      batchOrders_args typedOther = (batchOrders_args)other;

      lastComparison = Boolean.valueOf(isSetWarehouseId()).compareTo(typedOther.isSetWarehouseId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetWarehouseId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.warehouseId, typedOther.warehouseId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // WAREHOUSE_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.warehouseId = iprot.readI64();
              setWarehouseIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(WAREHOUSE_ID_FIELD_DESC);
      oprot.writeI64(this.warehouseId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("batchOrders_args(");
      boolean first = true;

      sb.append("warehouseId:");
      sb.append(this.warehouseId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class batchOrders_result implements org.apache.thrift.TBase<batchOrders_result, batchOrders_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("batchOrders_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private List<Order> success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Order.class))));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(batchOrders_result.class, metaDataMap);
    }

    public batchOrders_result() {
    }

    public batchOrders_result(
      List<Order> success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public batchOrders_result(batchOrders_result other) {
      if (other.isSetSuccess()) {
        List<Order> __this__success = new ArrayList<Order>();
        for (Order other_element : other.success) {
          __this__success.add(new Order(other_element));
        }
        this.success = __this__success;
      }
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public batchOrders_result deepCopy() {
      return new batchOrders_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.ex = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<Order> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(Order elem) {
      if (this.success == null) {
        this.success = new ArrayList<Order>();
      }
      this.success.add(elem);
    }

    public List<Order> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<Order> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<Order>)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof batchOrders_result)
        return this.equals((batchOrders_result)that);
      return false;
    }

    public boolean equals(batchOrders_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(batchOrders_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      batchOrders_result typedOther = (batchOrders_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list164 = iprot.readListBegin();
                this.success = new ArrayList<Order>(_list164.size);
                for (int _i165 = 0; _i165 < _list164.size; ++_i165)
                {
                  Order _elem166; // required
                  _elem166 = new Order();
                  _elem166.read(iprot);
                  this.success.add(_elem166);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (Order _iter167 : this.success)
          {
            _iter167.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("batchOrders_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class markOrderAsOutOfStock_args implements org.apache.thrift.TBase<markOrderAsOutOfStock_args, markOrderAsOutOfStock_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("markOrderAsOutOfStock_args");

    private static final org.apache.thrift.protocol.TField ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("orderId", org.apache.thrift.protocol.TType.I64, (short)1);

    private long orderId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ORDER_ID((short)1, "orderId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ORDER_ID
            return ORDER_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ORDERID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("orderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(markOrderAsOutOfStock_args.class, metaDataMap);
    }

    public markOrderAsOutOfStock_args() {
    }

    public markOrderAsOutOfStock_args(
      long orderId)
    {
      this();
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public markOrderAsOutOfStock_args(markOrderAsOutOfStock_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.orderId = other.orderId;
    }

    public markOrderAsOutOfStock_args deepCopy() {
      return new markOrderAsOutOfStock_args(this);
    }

    @Override
    public void clear() {
      setOrderIdIsSet(false);
      this.orderId = 0;
    }

    public long getOrderId() {
      return this.orderId;
    }

    public void setOrderId(long orderId) {
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    public void unsetOrderId() {
      __isset_bit_vector.clear(__ORDERID_ISSET_ID);
    }

    /** Returns true if field orderId is set (has been assigned a value) and false otherwise */
    public boolean isSetOrderId() {
      return __isset_bit_vector.get(__ORDERID_ISSET_ID);
    }

    public void setOrderIdIsSet(boolean value) {
      __isset_bit_vector.set(__ORDERID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ORDER_ID:
        if (value == null) {
          unsetOrderId();
        } else {
          setOrderId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ORDER_ID:
        return Long.valueOf(getOrderId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ORDER_ID:
        return isSetOrderId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof markOrderAsOutOfStock_args)
        return this.equals((markOrderAsOutOfStock_args)that);
      return false;
    }

    public boolean equals(markOrderAsOutOfStock_args that) {
      if (that == null)
        return false;

      boolean this_present_orderId = true;
      boolean that_present_orderId = true;
      if (this_present_orderId || that_present_orderId) {
        if (!(this_present_orderId && that_present_orderId))
          return false;
        if (this.orderId != that.orderId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(markOrderAsOutOfStock_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      markOrderAsOutOfStock_args typedOther = (markOrderAsOutOfStock_args)other;

      lastComparison = Boolean.valueOf(isSetOrderId()).compareTo(typedOther.isSetOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.orderId, typedOther.orderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.orderId = iprot.readI64();
              setOrderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ORDER_ID_FIELD_DESC);
      oprot.writeI64(this.orderId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("markOrderAsOutOfStock_args(");
      boolean first = true;

      sb.append("orderId:");
      sb.append(this.orderId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class markOrderAsOutOfStock_result implements org.apache.thrift.TBase<markOrderAsOutOfStock_result, markOrderAsOutOfStock_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("markOrderAsOutOfStock_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private boolean success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(markOrderAsOutOfStock_result.class, metaDataMap);
    }

    public markOrderAsOutOfStock_result() {
    }

    public markOrderAsOutOfStock_result(
      boolean success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public markOrderAsOutOfStock_result(markOrderAsOutOfStock_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public markOrderAsOutOfStock_result deepCopy() {
      return new markOrderAsOutOfStock_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = false;
      this.ex = null;
    }

    public boolean isSuccess() {
      return this.success;
    }

    public void setSuccess(boolean success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Boolean.valueOf(isSuccess());

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof markOrderAsOutOfStock_result)
        return this.equals((markOrderAsOutOfStock_result)that);
      return false;
    }

    public boolean equals(markOrderAsOutOfStock_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(markOrderAsOutOfStock_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      markOrderAsOutOfStock_result typedOther = (markOrderAsOutOfStock_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.success = iprot.readBool();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBool(this.success);
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("markOrderAsOutOfStock_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class verifyOrder_args implements org.apache.thrift.TBase<verifyOrder_args, verifyOrder_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("verifyOrder_args");

    private static final org.apache.thrift.protocol.TField ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("orderId", org.apache.thrift.protocol.TType.I64, (short)1);

    private long orderId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ORDER_ID((short)1, "orderId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ORDER_ID
            return ORDER_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ORDERID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("orderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(verifyOrder_args.class, metaDataMap);
    }

    public verifyOrder_args() {
    }

    public verifyOrder_args(
      long orderId)
    {
      this();
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public verifyOrder_args(verifyOrder_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.orderId = other.orderId;
    }

    public verifyOrder_args deepCopy() {
      return new verifyOrder_args(this);
    }

    @Override
    public void clear() {
      setOrderIdIsSet(false);
      this.orderId = 0;
    }

    public long getOrderId() {
      return this.orderId;
    }

    public void setOrderId(long orderId) {
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    public void unsetOrderId() {
      __isset_bit_vector.clear(__ORDERID_ISSET_ID);
    }

    /** Returns true if field orderId is set (has been assigned a value) and false otherwise */
    public boolean isSetOrderId() {
      return __isset_bit_vector.get(__ORDERID_ISSET_ID);
    }

    public void setOrderIdIsSet(boolean value) {
      __isset_bit_vector.set(__ORDERID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ORDER_ID:
        if (value == null) {
          unsetOrderId();
        } else {
          setOrderId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ORDER_ID:
        return Long.valueOf(getOrderId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ORDER_ID:
        return isSetOrderId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof verifyOrder_args)
        return this.equals((verifyOrder_args)that);
      return false;
    }

    public boolean equals(verifyOrder_args that) {
      if (that == null)
        return false;

      boolean this_present_orderId = true;
      boolean that_present_orderId = true;
      if (this_present_orderId || that_present_orderId) {
        if (!(this_present_orderId && that_present_orderId))
          return false;
        if (this.orderId != that.orderId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(verifyOrder_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      verifyOrder_args typedOther = (verifyOrder_args)other;

      lastComparison = Boolean.valueOf(isSetOrderId()).compareTo(typedOther.isSetOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.orderId, typedOther.orderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.orderId = iprot.readI64();
              setOrderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ORDER_ID_FIELD_DESC);
      oprot.writeI64(this.orderId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("verifyOrder_args(");
      boolean first = true;

      sb.append("orderId:");
      sb.append(this.orderId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class verifyOrder_result implements org.apache.thrift.TBase<verifyOrder_result, verifyOrder_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("verifyOrder_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private boolean success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(verifyOrder_result.class, metaDataMap);
    }

    public verifyOrder_result() {
    }

    public verifyOrder_result(
      boolean success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public verifyOrder_result(verifyOrder_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public verifyOrder_result deepCopy() {
      return new verifyOrder_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = false;
      this.ex = null;
    }

    public boolean isSuccess() {
      return this.success;
    }

    public void setSuccess(boolean success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Boolean.valueOf(isSuccess());

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof verifyOrder_result)
        return this.equals((verifyOrder_result)that);
      return false;
    }

    public boolean equals(verifyOrder_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(verifyOrder_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      verifyOrder_result typedOther = (verifyOrder_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.success = iprot.readBool();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBool(this.success);
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("verifyOrder_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class acceptOrder_args implements org.apache.thrift.TBase<acceptOrder_args, acceptOrder_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("acceptOrder_args");

    private static final org.apache.thrift.protocol.TField ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("orderId", org.apache.thrift.protocol.TType.I64, (short)1);

    private long orderId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ORDER_ID((short)1, "orderId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ORDER_ID
            return ORDER_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ORDERID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("orderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(acceptOrder_args.class, metaDataMap);
    }

    public acceptOrder_args() {
    }

    public acceptOrder_args(
      long orderId)
    {
      this();
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public acceptOrder_args(acceptOrder_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.orderId = other.orderId;
    }

    public acceptOrder_args deepCopy() {
      return new acceptOrder_args(this);
    }

    @Override
    public void clear() {
      setOrderIdIsSet(false);
      this.orderId = 0;
    }

    public long getOrderId() {
      return this.orderId;
    }

    public void setOrderId(long orderId) {
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    public void unsetOrderId() {
      __isset_bit_vector.clear(__ORDERID_ISSET_ID);
    }

    /** Returns true if field orderId is set (has been assigned a value) and false otherwise */
    public boolean isSetOrderId() {
      return __isset_bit_vector.get(__ORDERID_ISSET_ID);
    }

    public void setOrderIdIsSet(boolean value) {
      __isset_bit_vector.set(__ORDERID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ORDER_ID:
        if (value == null) {
          unsetOrderId();
        } else {
          setOrderId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ORDER_ID:
        return Long.valueOf(getOrderId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ORDER_ID:
        return isSetOrderId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof acceptOrder_args)
        return this.equals((acceptOrder_args)that);
      return false;
    }

    public boolean equals(acceptOrder_args that) {
      if (that == null)
        return false;

      boolean this_present_orderId = true;
      boolean that_present_orderId = true;
      if (this_present_orderId || that_present_orderId) {
        if (!(this_present_orderId && that_present_orderId))
          return false;
        if (this.orderId != that.orderId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(acceptOrder_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      acceptOrder_args typedOther = (acceptOrder_args)other;

      lastComparison = Boolean.valueOf(isSetOrderId()).compareTo(typedOther.isSetOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.orderId, typedOther.orderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.orderId = iprot.readI64();
              setOrderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ORDER_ID_FIELD_DESC);
      oprot.writeI64(this.orderId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("acceptOrder_args(");
      boolean first = true;

      sb.append("orderId:");
      sb.append(this.orderId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class acceptOrder_result implements org.apache.thrift.TBase<acceptOrder_result, acceptOrder_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("acceptOrder_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private boolean success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(acceptOrder_result.class, metaDataMap);
    }

    public acceptOrder_result() {
    }

    public acceptOrder_result(
      boolean success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public acceptOrder_result(acceptOrder_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public acceptOrder_result deepCopy() {
      return new acceptOrder_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = false;
      this.ex = null;
    }

    public boolean isSuccess() {
      return this.success;
    }

    public void setSuccess(boolean success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Boolean.valueOf(isSuccess());

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof acceptOrder_result)
        return this.equals((acceptOrder_result)that);
      return false;
    }

    public boolean equals(acceptOrder_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(acceptOrder_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      acceptOrder_result typedOther = (acceptOrder_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.success = iprot.readBool();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBool(this.success);
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("acceptOrder_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class unacceptOrder_args implements org.apache.thrift.TBase<unacceptOrder_args, unacceptOrder_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("unacceptOrder_args");

    private static final org.apache.thrift.protocol.TField ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("orderId", org.apache.thrift.protocol.TType.I64, (short)1);

    private long orderId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ORDER_ID((short)1, "orderId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ORDER_ID
            return ORDER_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ORDERID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("orderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(unacceptOrder_args.class, metaDataMap);
    }

    public unacceptOrder_args() {
    }

    public unacceptOrder_args(
      long orderId)
    {
      this();
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public unacceptOrder_args(unacceptOrder_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.orderId = other.orderId;
    }

    public unacceptOrder_args deepCopy() {
      return new unacceptOrder_args(this);
    }

    @Override
    public void clear() {
      setOrderIdIsSet(false);
      this.orderId = 0;
    }

    public long getOrderId() {
      return this.orderId;
    }

    public void setOrderId(long orderId) {
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    public void unsetOrderId() {
      __isset_bit_vector.clear(__ORDERID_ISSET_ID);
    }

    /** Returns true if field orderId is set (has been assigned a value) and false otherwise */
    public boolean isSetOrderId() {
      return __isset_bit_vector.get(__ORDERID_ISSET_ID);
    }

    public void setOrderIdIsSet(boolean value) {
      __isset_bit_vector.set(__ORDERID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ORDER_ID:
        if (value == null) {
          unsetOrderId();
        } else {
          setOrderId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ORDER_ID:
        return Long.valueOf(getOrderId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ORDER_ID:
        return isSetOrderId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof unacceptOrder_args)
        return this.equals((unacceptOrder_args)that);
      return false;
    }

    public boolean equals(unacceptOrder_args that) {
      if (that == null)
        return false;

      boolean this_present_orderId = true;
      boolean that_present_orderId = true;
      if (this_present_orderId || that_present_orderId) {
        if (!(this_present_orderId && that_present_orderId))
          return false;
        if (this.orderId != that.orderId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(unacceptOrder_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      unacceptOrder_args typedOther = (unacceptOrder_args)other;

      lastComparison = Boolean.valueOf(isSetOrderId()).compareTo(typedOther.isSetOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.orderId, typedOther.orderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.orderId = iprot.readI64();
              setOrderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ORDER_ID_FIELD_DESC);
      oprot.writeI64(this.orderId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("unacceptOrder_args(");
      boolean first = true;

      sb.append("orderId:");
      sb.append(this.orderId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class unacceptOrder_result implements org.apache.thrift.TBase<unacceptOrder_result, unacceptOrder_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("unacceptOrder_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);

    private boolean success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(unacceptOrder_result.class, metaDataMap);
    }

    public unacceptOrder_result() {
    }

    public unacceptOrder_result(
      boolean success)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public unacceptOrder_result(unacceptOrder_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
    }

    public unacceptOrder_result deepCopy() {
      return new unacceptOrder_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = false;
    }

    public boolean isSuccess() {
      return this.success;
    }

    public void setSuccess(boolean success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Boolean.valueOf(isSuccess());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof unacceptOrder_result)
        return this.equals((unacceptOrder_result)that);
      return false;
    }

    public boolean equals(unacceptOrder_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(unacceptOrder_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      unacceptOrder_result typedOther = (unacceptOrder_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.success = iprot.readBool();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBool(this.success);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("unacceptOrder_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class addBillingDetails_args implements org.apache.thrift.TBase<addBillingDetails_args, addBillingDetails_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addBillingDetails_args");

    private static final org.apache.thrift.protocol.TField ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("orderId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField INVOICE_NUMBER_FIELD_DESC = new org.apache.thrift.protocol.TField("invoice_number", org.apache.thrift.protocol.TType.STRING, (short)2);
    private static final org.apache.thrift.protocol.TField SERIAL_NUMBER_FIELD_DESC = new org.apache.thrift.protocol.TField("serialNumber", org.apache.thrift.protocol.TType.LIST, (short)3);
    private static final org.apache.thrift.protocol.TField ITEM_NUMBER_FIELD_DESC = new org.apache.thrift.protocol.TField("itemNumber", org.apache.thrift.protocol.TType.LIST, (short)4);
    private static final org.apache.thrift.protocol.TField FREEBIE_WAREHOUSE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("freebieWarehouseId", org.apache.thrift.protocol.TType.I64, (short)5);
    private static final org.apache.thrift.protocol.TField BILLED_BY_FIELD_DESC = new org.apache.thrift.protocol.TField("billed_by", org.apache.thrift.protocol.TType.STRING, (short)6);
    private static final org.apache.thrift.protocol.TField JACKET_NUMBER_FIELD_DESC = new org.apache.thrift.protocol.TField("jacketNumber", org.apache.thrift.protocol.TType.I64, (short)7);
    private static final org.apache.thrift.protocol.TField BILLING_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("billingType", org.apache.thrift.protocol.TType.I64, (short)8);
    private static final org.apache.thrift.protocol.TField FULFILMENT_WAREHOUSE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("fulfilmentWarehouseId", org.apache.thrift.protocol.TType.I64, (short)9);
    private static final org.apache.thrift.protocol.TField AUTHORIZE_FIELD_DESC = new org.apache.thrift.protocol.TField("authorize", org.apache.thrift.protocol.TType.BOOL, (short)10);

    private long orderId; // required
    private String invoice_number; // required
    private List<String> serialNumber; // required
    private List<String> itemNumber; // required
    private long freebieWarehouseId; // required
    private String billed_by; // required
    private long jacketNumber; // required
    private long billingType; // required
    private long fulfilmentWarehouseId; // required
    private boolean authorize; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ORDER_ID((short)1, "orderId"),
      INVOICE_NUMBER((short)2, "invoice_number"),
      SERIAL_NUMBER((short)3, "serialNumber"),
      ITEM_NUMBER((short)4, "itemNumber"),
      FREEBIE_WAREHOUSE_ID((short)5, "freebieWarehouseId"),
      BILLED_BY((short)6, "billed_by"),
      JACKET_NUMBER((short)7, "jacketNumber"),
      BILLING_TYPE((short)8, "billingType"),
      FULFILMENT_WAREHOUSE_ID((short)9, "fulfilmentWarehouseId"),
      AUTHORIZE((short)10, "authorize");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ORDER_ID
            return ORDER_ID;
          case 2: // INVOICE_NUMBER
            return INVOICE_NUMBER;
          case 3: // SERIAL_NUMBER
            return SERIAL_NUMBER;
          case 4: // ITEM_NUMBER
            return ITEM_NUMBER;
          case 5: // FREEBIE_WAREHOUSE_ID
            return FREEBIE_WAREHOUSE_ID;
          case 6: // BILLED_BY
            return BILLED_BY;
          case 7: // JACKET_NUMBER
            return JACKET_NUMBER;
          case 8: // BILLING_TYPE
            return BILLING_TYPE;
          case 9: // FULFILMENT_WAREHOUSE_ID
            return FULFILMENT_WAREHOUSE_ID;
          case 10: // AUTHORIZE
            return AUTHORIZE;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ORDERID_ISSET_ID = 0;
    private static final int __FREEBIEWAREHOUSEID_ISSET_ID = 1;
    private static final int __JACKETNUMBER_ISSET_ID = 2;
    private static final int __BILLINGTYPE_ISSET_ID = 3;
    private static final int __FULFILMENTWAREHOUSEID_ISSET_ID = 4;
    private static final int __AUTHORIZE_ISSET_ID = 5;
    private BitSet __isset_bit_vector = new BitSet(6);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("orderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.INVOICE_NUMBER, new org.apache.thrift.meta_data.FieldMetaData("invoice_number", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.SERIAL_NUMBER, new org.apache.thrift.meta_data.FieldMetaData("serialNumber", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
      tmpMap.put(_Fields.ITEM_NUMBER, new org.apache.thrift.meta_data.FieldMetaData("itemNumber", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
      tmpMap.put(_Fields.FREEBIE_WAREHOUSE_ID, new org.apache.thrift.meta_data.FieldMetaData("freebieWarehouseId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.BILLED_BY, new org.apache.thrift.meta_data.FieldMetaData("billed_by", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.JACKET_NUMBER, new org.apache.thrift.meta_data.FieldMetaData("jacketNumber", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.BILLING_TYPE, new org.apache.thrift.meta_data.FieldMetaData("billingType", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.FULFILMENT_WAREHOUSE_ID, new org.apache.thrift.meta_data.FieldMetaData("fulfilmentWarehouseId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.AUTHORIZE, new org.apache.thrift.meta_data.FieldMetaData("authorize", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(addBillingDetails_args.class, metaDataMap);
    }

    public addBillingDetails_args() {
    }

    public addBillingDetails_args(
      long orderId,
      String invoice_number,
      List<String> serialNumber,
      List<String> itemNumber,
      long freebieWarehouseId,
      String billed_by,
      long jacketNumber,
      long billingType,
      long fulfilmentWarehouseId,
      boolean authorize)
    {
      this();
      this.orderId = orderId;
      setOrderIdIsSet(true);
      this.invoice_number = invoice_number;
      this.serialNumber = serialNumber;
      this.itemNumber = itemNumber;
      this.freebieWarehouseId = freebieWarehouseId;
      setFreebieWarehouseIdIsSet(true);
      this.billed_by = billed_by;
      this.jacketNumber = jacketNumber;
      setJacketNumberIsSet(true);
      this.billingType = billingType;
      setBillingTypeIsSet(true);
      this.fulfilmentWarehouseId = fulfilmentWarehouseId;
      setFulfilmentWarehouseIdIsSet(true);
      this.authorize = authorize;
      setAuthorizeIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public addBillingDetails_args(addBillingDetails_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.orderId = other.orderId;
      if (other.isSetInvoice_number()) {
        this.invoice_number = other.invoice_number;
      }
      if (other.isSetSerialNumber()) {
        List<String> __this__serialNumber = new ArrayList<String>();
        for (String other_element : other.serialNumber) {
          __this__serialNumber.add(other_element);
        }
        this.serialNumber = __this__serialNumber;
      }
      if (other.isSetItemNumber()) {
        List<String> __this__itemNumber = new ArrayList<String>();
        for (String other_element : other.itemNumber) {
          __this__itemNumber.add(other_element);
        }
        this.itemNumber = __this__itemNumber;
      }
      this.freebieWarehouseId = other.freebieWarehouseId;
      if (other.isSetBilled_by()) {
        this.billed_by = other.billed_by;
      }
      this.jacketNumber = other.jacketNumber;
      this.billingType = other.billingType;
      this.fulfilmentWarehouseId = other.fulfilmentWarehouseId;
      this.authorize = other.authorize;
    }

    public addBillingDetails_args deepCopy() {
      return new addBillingDetails_args(this);
    }

    @Override
    public void clear() {
      setOrderIdIsSet(false);
      this.orderId = 0;
      this.invoice_number = null;
      this.serialNumber = null;
      this.itemNumber = null;
      setFreebieWarehouseIdIsSet(false);
      this.freebieWarehouseId = 0;
      this.billed_by = null;
      setJacketNumberIsSet(false);
      this.jacketNumber = 0;
      setBillingTypeIsSet(false);
      this.billingType = 0;
      setFulfilmentWarehouseIdIsSet(false);
      this.fulfilmentWarehouseId = 0;
      setAuthorizeIsSet(false);
      this.authorize = false;
    }

    public long getOrderId() {
      return this.orderId;
    }

    public void setOrderId(long orderId) {
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    public void unsetOrderId() {
      __isset_bit_vector.clear(__ORDERID_ISSET_ID);
    }

    /** Returns true if field orderId is set (has been assigned a value) and false otherwise */
    public boolean isSetOrderId() {
      return __isset_bit_vector.get(__ORDERID_ISSET_ID);
    }

    public void setOrderIdIsSet(boolean value) {
      __isset_bit_vector.set(__ORDERID_ISSET_ID, value);
    }

    public String getInvoice_number() {
      return this.invoice_number;
    }

    public void setInvoice_number(String invoice_number) {
      this.invoice_number = invoice_number;
    }

    public void unsetInvoice_number() {
      this.invoice_number = null;
    }

    /** Returns true if field invoice_number is set (has been assigned a value) and false otherwise */
    public boolean isSetInvoice_number() {
      return this.invoice_number != null;
    }

    public void setInvoice_numberIsSet(boolean value) {
      if (!value) {
        this.invoice_number = null;
      }
    }

    public int getSerialNumberSize() {
      return (this.serialNumber == null) ? 0 : this.serialNumber.size();
    }

    public java.util.Iterator<String> getSerialNumberIterator() {
      return (this.serialNumber == null) ? null : this.serialNumber.iterator();
    }

    public void addToSerialNumber(String elem) {
      if (this.serialNumber == null) {
        this.serialNumber = new ArrayList<String>();
      }
      this.serialNumber.add(elem);
    }

    public List<String> getSerialNumber() {
      return this.serialNumber;
    }

    public void setSerialNumber(List<String> serialNumber) {
      this.serialNumber = serialNumber;
    }

    public void unsetSerialNumber() {
      this.serialNumber = null;
    }

    /** Returns true if field serialNumber is set (has been assigned a value) and false otherwise */
    public boolean isSetSerialNumber() {
      return this.serialNumber != null;
    }

    public void setSerialNumberIsSet(boolean value) {
      if (!value) {
        this.serialNumber = null;
      }
    }

    public int getItemNumberSize() {
      return (this.itemNumber == null) ? 0 : this.itemNumber.size();
    }

    public java.util.Iterator<String> getItemNumberIterator() {
      return (this.itemNumber == null) ? null : this.itemNumber.iterator();
    }

    public void addToItemNumber(String elem) {
      if (this.itemNumber == null) {
        this.itemNumber = new ArrayList<String>();
      }
      this.itemNumber.add(elem);
    }

    public List<String> getItemNumber() {
      return this.itemNumber;
    }

    public void setItemNumber(List<String> itemNumber) {
      this.itemNumber = itemNumber;
    }

    public void unsetItemNumber() {
      this.itemNumber = null;
    }

    /** Returns true if field itemNumber is set (has been assigned a value) and false otherwise */
    public boolean isSetItemNumber() {
      return this.itemNumber != null;
    }

    public void setItemNumberIsSet(boolean value) {
      if (!value) {
        this.itemNumber = null;
      }
    }

    public long getFreebieWarehouseId() {
      return this.freebieWarehouseId;
    }

    public void setFreebieWarehouseId(long freebieWarehouseId) {
      this.freebieWarehouseId = freebieWarehouseId;
      setFreebieWarehouseIdIsSet(true);
    }

    public void unsetFreebieWarehouseId() {
      __isset_bit_vector.clear(__FREEBIEWAREHOUSEID_ISSET_ID);
    }

    /** Returns true if field freebieWarehouseId is set (has been assigned a value) and false otherwise */
    public boolean isSetFreebieWarehouseId() {
      return __isset_bit_vector.get(__FREEBIEWAREHOUSEID_ISSET_ID);
    }

    public void setFreebieWarehouseIdIsSet(boolean value) {
      __isset_bit_vector.set(__FREEBIEWAREHOUSEID_ISSET_ID, value);
    }

    public String getBilled_by() {
      return this.billed_by;
    }

    public void setBilled_by(String billed_by) {
      this.billed_by = billed_by;
    }

    public void unsetBilled_by() {
      this.billed_by = null;
    }

    /** Returns true if field billed_by is set (has been assigned a value) and false otherwise */
    public boolean isSetBilled_by() {
      return this.billed_by != null;
    }

    public void setBilled_byIsSet(boolean value) {
      if (!value) {
        this.billed_by = null;
      }
    }

    public long getJacketNumber() {
      return this.jacketNumber;
    }

    public void setJacketNumber(long jacketNumber) {
      this.jacketNumber = jacketNumber;
      setJacketNumberIsSet(true);
    }

    public void unsetJacketNumber() {
      __isset_bit_vector.clear(__JACKETNUMBER_ISSET_ID);
    }

    /** Returns true if field jacketNumber is set (has been assigned a value) and false otherwise */
    public boolean isSetJacketNumber() {
      return __isset_bit_vector.get(__JACKETNUMBER_ISSET_ID);
    }

    public void setJacketNumberIsSet(boolean value) {
      __isset_bit_vector.set(__JACKETNUMBER_ISSET_ID, value);
    }

    public long getBillingType() {
      return this.billingType;
    }

    public void setBillingType(long billingType) {
      this.billingType = billingType;
      setBillingTypeIsSet(true);
    }

    public void unsetBillingType() {
      __isset_bit_vector.clear(__BILLINGTYPE_ISSET_ID);
    }

    /** Returns true if field billingType is set (has been assigned a value) and false otherwise */
    public boolean isSetBillingType() {
      return __isset_bit_vector.get(__BILLINGTYPE_ISSET_ID);
    }

    public void setBillingTypeIsSet(boolean value) {
      __isset_bit_vector.set(__BILLINGTYPE_ISSET_ID, value);
    }

    public long getFulfilmentWarehouseId() {
      return this.fulfilmentWarehouseId;
    }

    public void setFulfilmentWarehouseId(long fulfilmentWarehouseId) {
      this.fulfilmentWarehouseId = fulfilmentWarehouseId;
      setFulfilmentWarehouseIdIsSet(true);
    }

    public void unsetFulfilmentWarehouseId() {
      __isset_bit_vector.clear(__FULFILMENTWAREHOUSEID_ISSET_ID);
    }

    /** Returns true if field fulfilmentWarehouseId is set (has been assigned a value) and false otherwise */
    public boolean isSetFulfilmentWarehouseId() {
      return __isset_bit_vector.get(__FULFILMENTWAREHOUSEID_ISSET_ID);
    }

    public void setFulfilmentWarehouseIdIsSet(boolean value) {
      __isset_bit_vector.set(__FULFILMENTWAREHOUSEID_ISSET_ID, value);
    }

    public boolean isAuthorize() {
      return this.authorize;
    }

    public void setAuthorize(boolean authorize) {
      this.authorize = authorize;
      setAuthorizeIsSet(true);
    }

    public void unsetAuthorize() {
      __isset_bit_vector.clear(__AUTHORIZE_ISSET_ID);
    }

    /** Returns true if field authorize is set (has been assigned a value) and false otherwise */
    public boolean isSetAuthorize() {
      return __isset_bit_vector.get(__AUTHORIZE_ISSET_ID);
    }

    public void setAuthorizeIsSet(boolean value) {
      __isset_bit_vector.set(__AUTHORIZE_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ORDER_ID:
        if (value == null) {
          unsetOrderId();
        } else {
          setOrderId((Long)value);
        }
        break;

      case INVOICE_NUMBER:
        if (value == null) {
          unsetInvoice_number();
        } else {
          setInvoice_number((String)value);
        }
        break;

      case SERIAL_NUMBER:
        if (value == null) {
          unsetSerialNumber();
        } else {
          setSerialNumber((List<String>)value);
        }
        break;

      case ITEM_NUMBER:
        if (value == null) {
          unsetItemNumber();
        } else {
          setItemNumber((List<String>)value);
        }
        break;

      case FREEBIE_WAREHOUSE_ID:
        if (value == null) {
          unsetFreebieWarehouseId();
        } else {
          setFreebieWarehouseId((Long)value);
        }
        break;

      case BILLED_BY:
        if (value == null) {
          unsetBilled_by();
        } else {
          setBilled_by((String)value);
        }
        break;

      case JACKET_NUMBER:
        if (value == null) {
          unsetJacketNumber();
        } else {
          setJacketNumber((Long)value);
        }
        break;

      case BILLING_TYPE:
        if (value == null) {
          unsetBillingType();
        } else {
          setBillingType((Long)value);
        }
        break;

      case FULFILMENT_WAREHOUSE_ID:
        if (value == null) {
          unsetFulfilmentWarehouseId();
        } else {
          setFulfilmentWarehouseId((Long)value);
        }
        break;

      case AUTHORIZE:
        if (value == null) {
          unsetAuthorize();
        } else {
          setAuthorize((Boolean)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ORDER_ID:
        return Long.valueOf(getOrderId());

      case INVOICE_NUMBER:
        return getInvoice_number();

      case SERIAL_NUMBER:
        return getSerialNumber();

      case ITEM_NUMBER:
        return getItemNumber();

      case FREEBIE_WAREHOUSE_ID:
        return Long.valueOf(getFreebieWarehouseId());

      case BILLED_BY:
        return getBilled_by();

      case JACKET_NUMBER:
        return Long.valueOf(getJacketNumber());

      case BILLING_TYPE:
        return Long.valueOf(getBillingType());

      case FULFILMENT_WAREHOUSE_ID:
        return Long.valueOf(getFulfilmentWarehouseId());

      case AUTHORIZE:
        return Boolean.valueOf(isAuthorize());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ORDER_ID:
        return isSetOrderId();
      case INVOICE_NUMBER:
        return isSetInvoice_number();
      case SERIAL_NUMBER:
        return isSetSerialNumber();
      case ITEM_NUMBER:
        return isSetItemNumber();
      case FREEBIE_WAREHOUSE_ID:
        return isSetFreebieWarehouseId();
      case BILLED_BY:
        return isSetBilled_by();
      case JACKET_NUMBER:
        return isSetJacketNumber();
      case BILLING_TYPE:
        return isSetBillingType();
      case FULFILMENT_WAREHOUSE_ID:
        return isSetFulfilmentWarehouseId();
      case AUTHORIZE:
        return isSetAuthorize();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof addBillingDetails_args)
        return this.equals((addBillingDetails_args)that);
      return false;
    }

    public boolean equals(addBillingDetails_args that) {
      if (that == null)
        return false;

      boolean this_present_orderId = true;
      boolean that_present_orderId = true;
      if (this_present_orderId || that_present_orderId) {
        if (!(this_present_orderId && that_present_orderId))
          return false;
        if (this.orderId != that.orderId)
          return false;
      }

      boolean this_present_invoice_number = true && this.isSetInvoice_number();
      boolean that_present_invoice_number = true && that.isSetInvoice_number();
      if (this_present_invoice_number || that_present_invoice_number) {
        if (!(this_present_invoice_number && that_present_invoice_number))
          return false;
        if (!this.invoice_number.equals(that.invoice_number))
          return false;
      }

      boolean this_present_serialNumber = true && this.isSetSerialNumber();
      boolean that_present_serialNumber = true && that.isSetSerialNumber();
      if (this_present_serialNumber || that_present_serialNumber) {
        if (!(this_present_serialNumber && that_present_serialNumber))
          return false;
        if (!this.serialNumber.equals(that.serialNumber))
          return false;
      }

      boolean this_present_itemNumber = true && this.isSetItemNumber();
      boolean that_present_itemNumber = true && that.isSetItemNumber();
      if (this_present_itemNumber || that_present_itemNumber) {
        if (!(this_present_itemNumber && that_present_itemNumber))
          return false;
        if (!this.itemNumber.equals(that.itemNumber))
          return false;
      }

      boolean this_present_freebieWarehouseId = true;
      boolean that_present_freebieWarehouseId = true;
      if (this_present_freebieWarehouseId || that_present_freebieWarehouseId) {
        if (!(this_present_freebieWarehouseId && that_present_freebieWarehouseId))
          return false;
        if (this.freebieWarehouseId != that.freebieWarehouseId)
          return false;
      }

      boolean this_present_billed_by = true && this.isSetBilled_by();
      boolean that_present_billed_by = true && that.isSetBilled_by();
      if (this_present_billed_by || that_present_billed_by) {
        if (!(this_present_billed_by && that_present_billed_by))
          return false;
        if (!this.billed_by.equals(that.billed_by))
          return false;
      }

      boolean this_present_jacketNumber = true;
      boolean that_present_jacketNumber = true;
      if (this_present_jacketNumber || that_present_jacketNumber) {
        if (!(this_present_jacketNumber && that_present_jacketNumber))
          return false;
        if (this.jacketNumber != that.jacketNumber)
          return false;
      }

      boolean this_present_billingType = true;
      boolean that_present_billingType = true;
      if (this_present_billingType || that_present_billingType) {
        if (!(this_present_billingType && that_present_billingType))
          return false;
        if (this.billingType != that.billingType)
          return false;
      }

      boolean this_present_fulfilmentWarehouseId = true;
      boolean that_present_fulfilmentWarehouseId = true;
      if (this_present_fulfilmentWarehouseId || that_present_fulfilmentWarehouseId) {
        if (!(this_present_fulfilmentWarehouseId && that_present_fulfilmentWarehouseId))
          return false;
        if (this.fulfilmentWarehouseId != that.fulfilmentWarehouseId)
          return false;
      }

      boolean this_present_authorize = true;
      boolean that_present_authorize = true;
      if (this_present_authorize || that_present_authorize) {
        if (!(this_present_authorize && that_present_authorize))
          return false;
        if (this.authorize != that.authorize)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(addBillingDetails_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      addBillingDetails_args typedOther = (addBillingDetails_args)other;

      lastComparison = Boolean.valueOf(isSetOrderId()).compareTo(typedOther.isSetOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.orderId, typedOther.orderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetInvoice_number()).compareTo(typedOther.isSetInvoice_number());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetInvoice_number()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.invoice_number, typedOther.invoice_number);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetSerialNumber()).compareTo(typedOther.isSetSerialNumber());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSerialNumber()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.serialNumber, typedOther.serialNumber);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetItemNumber()).compareTo(typedOther.isSetItemNumber());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetItemNumber()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.itemNumber, typedOther.itemNumber);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetFreebieWarehouseId()).compareTo(typedOther.isSetFreebieWarehouseId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetFreebieWarehouseId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.freebieWarehouseId, typedOther.freebieWarehouseId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetBilled_by()).compareTo(typedOther.isSetBilled_by());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetBilled_by()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.billed_by, typedOther.billed_by);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetJacketNumber()).compareTo(typedOther.isSetJacketNumber());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetJacketNumber()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.jacketNumber, typedOther.jacketNumber);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetBillingType()).compareTo(typedOther.isSetBillingType());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetBillingType()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.billingType, typedOther.billingType);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetFulfilmentWarehouseId()).compareTo(typedOther.isSetFulfilmentWarehouseId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetFulfilmentWarehouseId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.fulfilmentWarehouseId, typedOther.fulfilmentWarehouseId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetAuthorize()).compareTo(typedOther.isSetAuthorize());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetAuthorize()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.authorize, typedOther.authorize);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.orderId = iprot.readI64();
              setOrderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // INVOICE_NUMBER
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.invoice_number = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // SERIAL_NUMBER
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list168 = iprot.readListBegin();
                this.serialNumber = new ArrayList<String>(_list168.size);
                for (int _i169 = 0; _i169 < _list168.size; ++_i169)
                {
                  String _elem170; // required
                  _elem170 = iprot.readString();
                  this.serialNumber.add(_elem170);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 4: // ITEM_NUMBER
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list171 = iprot.readListBegin();
                this.itemNumber = new ArrayList<String>(_list171.size);
                for (int _i172 = 0; _i172 < _list171.size; ++_i172)
                {
                  String _elem173; // required
                  _elem173 = iprot.readString();
                  this.itemNumber.add(_elem173);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 5: // FREEBIE_WAREHOUSE_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.freebieWarehouseId = iprot.readI64();
              setFreebieWarehouseIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 6: // BILLED_BY
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.billed_by = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 7: // JACKET_NUMBER
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.jacketNumber = iprot.readI64();
              setJacketNumberIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 8: // BILLING_TYPE
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.billingType = iprot.readI64();
              setBillingTypeIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 9: // FULFILMENT_WAREHOUSE_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.fulfilmentWarehouseId = iprot.readI64();
              setFulfilmentWarehouseIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 10: // AUTHORIZE
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.authorize = iprot.readBool();
              setAuthorizeIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ORDER_ID_FIELD_DESC);
      oprot.writeI64(this.orderId);
      oprot.writeFieldEnd();
      if (this.invoice_number != null) {
        oprot.writeFieldBegin(INVOICE_NUMBER_FIELD_DESC);
        oprot.writeString(this.invoice_number);
        oprot.writeFieldEnd();
      }
      if (this.serialNumber != null) {
        oprot.writeFieldBegin(SERIAL_NUMBER_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, this.serialNumber.size()));
          for (String _iter174 : this.serialNumber)
          {
            oprot.writeString(_iter174);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      if (this.itemNumber != null) {
        oprot.writeFieldBegin(ITEM_NUMBER_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, this.itemNumber.size()));
          for (String _iter175 : this.itemNumber)
          {
            oprot.writeString(_iter175);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldBegin(FREEBIE_WAREHOUSE_ID_FIELD_DESC);
      oprot.writeI64(this.freebieWarehouseId);
      oprot.writeFieldEnd();
      if (this.billed_by != null) {
        oprot.writeFieldBegin(BILLED_BY_FIELD_DESC);
        oprot.writeString(this.billed_by);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldBegin(JACKET_NUMBER_FIELD_DESC);
      oprot.writeI64(this.jacketNumber);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(BILLING_TYPE_FIELD_DESC);
      oprot.writeI64(this.billingType);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(FULFILMENT_WAREHOUSE_ID_FIELD_DESC);
      oprot.writeI64(this.fulfilmentWarehouseId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(AUTHORIZE_FIELD_DESC);
      oprot.writeBool(this.authorize);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("addBillingDetails_args(");
      boolean first = true;

      sb.append("orderId:");
      sb.append(this.orderId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("invoice_number:");
      if (this.invoice_number == null) {
        sb.append("null");
      } else {
        sb.append(this.invoice_number);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("serialNumber:");
      if (this.serialNumber == null) {
        sb.append("null");
      } else {
        sb.append(this.serialNumber);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("itemNumber:");
      if (this.itemNumber == null) {
        sb.append("null");
      } else {
        sb.append(this.itemNumber);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("freebieWarehouseId:");
      sb.append(this.freebieWarehouseId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("billed_by:");
      if (this.billed_by == null) {
        sb.append("null");
      } else {
        sb.append(this.billed_by);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("jacketNumber:");
      sb.append(this.jacketNumber);
      first = false;
      if (!first) sb.append(", ");
      sb.append("billingType:");
      sb.append(this.billingType);
      first = false;
      if (!first) sb.append(", ");
      sb.append("fulfilmentWarehouseId:");
      sb.append(this.fulfilmentWarehouseId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("authorize:");
      sb.append(this.authorize);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class addBillingDetails_result implements org.apache.thrift.TBase<addBillingDetails_result, addBillingDetails_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addBillingDetails_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private boolean success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(addBillingDetails_result.class, metaDataMap);
    }

    public addBillingDetails_result() {
    }

    public addBillingDetails_result(
      boolean success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public addBillingDetails_result(addBillingDetails_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public addBillingDetails_result deepCopy() {
      return new addBillingDetails_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = false;
      this.ex = null;
    }

    public boolean isSuccess() {
      return this.success;
    }

    public void setSuccess(boolean success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Boolean.valueOf(isSuccess());

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof addBillingDetails_result)
        return this.equals((addBillingDetails_result)that);
      return false;
    }

    public boolean equals(addBillingDetails_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(addBillingDetails_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      addBillingDetails_result typedOther = (addBillingDetails_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.success = iprot.readBool();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBool(this.success);
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("addBillingDetails_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class addInvoiceNumber_args implements org.apache.thrift.TBase<addInvoiceNumber_args, addInvoiceNumber_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addInvoiceNumber_args");

    private static final org.apache.thrift.protocol.TField ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("orderId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField INVOICE_NUMBER_FIELD_DESC = new org.apache.thrift.protocol.TField("invoiceNumber", org.apache.thrift.protocol.TType.STRING, (short)2);
    private static final org.apache.thrift.protocol.TField COLOR_FIELD_DESC = new org.apache.thrift.protocol.TField("color", org.apache.thrift.protocol.TType.STRING, (short)3);
    private static final org.apache.thrift.protocol.TField SERIAL_NUMBER_FIELD_DESC = new org.apache.thrift.protocol.TField("serialNumber", org.apache.thrift.protocol.TType.STRING, (short)4);
    private static final org.apache.thrift.protocol.TField ITEM_NUMBER_FIELD_DESC = new org.apache.thrift.protocol.TField("itemNumber", org.apache.thrift.protocol.TType.STRING, (short)5);

    private long orderId; // required
    private String invoiceNumber; // required
    private String color; // required
    private String serialNumber; // required
    private String itemNumber; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ORDER_ID((short)1, "orderId"),
      INVOICE_NUMBER((short)2, "invoiceNumber"),
      COLOR((short)3, "color"),
      SERIAL_NUMBER((short)4, "serialNumber"),
      ITEM_NUMBER((short)5, "itemNumber");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ORDER_ID
            return ORDER_ID;
          case 2: // INVOICE_NUMBER
            return INVOICE_NUMBER;
          case 3: // COLOR
            return COLOR;
          case 4: // SERIAL_NUMBER
            return SERIAL_NUMBER;
          case 5: // ITEM_NUMBER
            return ITEM_NUMBER;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ORDERID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("orderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.INVOICE_NUMBER, new org.apache.thrift.meta_data.FieldMetaData("invoiceNumber", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.COLOR, new org.apache.thrift.meta_data.FieldMetaData("color", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.SERIAL_NUMBER, new org.apache.thrift.meta_data.FieldMetaData("serialNumber", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.ITEM_NUMBER, new org.apache.thrift.meta_data.FieldMetaData("itemNumber", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(addInvoiceNumber_args.class, metaDataMap);
    }

    public addInvoiceNumber_args() {
    }

    public addInvoiceNumber_args(
      long orderId,
      String invoiceNumber,
      String color,
      String serialNumber,
      String itemNumber)
    {
      this();
      this.orderId = orderId;
      setOrderIdIsSet(true);
      this.invoiceNumber = invoiceNumber;
      this.color = color;
      this.serialNumber = serialNumber;
      this.itemNumber = itemNumber;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public addInvoiceNumber_args(addInvoiceNumber_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.orderId = other.orderId;
      if (other.isSetInvoiceNumber()) {
        this.invoiceNumber = other.invoiceNumber;
      }
      if (other.isSetColor()) {
        this.color = other.color;
      }
      if (other.isSetSerialNumber()) {
        this.serialNumber = other.serialNumber;
      }
      if (other.isSetItemNumber()) {
        this.itemNumber = other.itemNumber;
      }
    }

    public addInvoiceNumber_args deepCopy() {
      return new addInvoiceNumber_args(this);
    }

    @Override
    public void clear() {
      setOrderIdIsSet(false);
      this.orderId = 0;
      this.invoiceNumber = null;
      this.color = null;
      this.serialNumber = null;
      this.itemNumber = null;
    }

    public long getOrderId() {
      return this.orderId;
    }

    public void setOrderId(long orderId) {
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    public void unsetOrderId() {
      __isset_bit_vector.clear(__ORDERID_ISSET_ID);
    }

    /** Returns true if field orderId is set (has been assigned a value) and false otherwise */
    public boolean isSetOrderId() {
      return __isset_bit_vector.get(__ORDERID_ISSET_ID);
    }

    public void setOrderIdIsSet(boolean value) {
      __isset_bit_vector.set(__ORDERID_ISSET_ID, value);
    }

    public String getInvoiceNumber() {
      return this.invoiceNumber;
    }

    public void setInvoiceNumber(String invoiceNumber) {
      this.invoiceNumber = invoiceNumber;
    }

    public void unsetInvoiceNumber() {
      this.invoiceNumber = null;
    }

    /** Returns true if field invoiceNumber is set (has been assigned a value) and false otherwise */
    public boolean isSetInvoiceNumber() {
      return this.invoiceNumber != null;
    }

    public void setInvoiceNumberIsSet(boolean value) {
      if (!value) {
        this.invoiceNumber = null;
      }
    }

    public String getColor() {
      return this.color;
    }

    public void setColor(String color) {
      this.color = color;
    }

    public void unsetColor() {
      this.color = null;
    }

    /** Returns true if field color is set (has been assigned a value) and false otherwise */
    public boolean isSetColor() {
      return this.color != null;
    }

    public void setColorIsSet(boolean value) {
      if (!value) {
        this.color = null;
      }
    }

    public String getSerialNumber() {
      return this.serialNumber;
    }

    public void setSerialNumber(String serialNumber) {
      this.serialNumber = serialNumber;
    }

    public void unsetSerialNumber() {
      this.serialNumber = null;
    }

    /** Returns true if field serialNumber is set (has been assigned a value) and false otherwise */
    public boolean isSetSerialNumber() {
      return this.serialNumber != null;
    }

    public void setSerialNumberIsSet(boolean value) {
      if (!value) {
        this.serialNumber = null;
      }
    }

    public String getItemNumber() {
      return this.itemNumber;
    }

    public void setItemNumber(String itemNumber) {
      this.itemNumber = itemNumber;
    }

    public void unsetItemNumber() {
      this.itemNumber = null;
    }

    /** Returns true if field itemNumber is set (has been assigned a value) and false otherwise */
    public boolean isSetItemNumber() {
      return this.itemNumber != null;
    }

    public void setItemNumberIsSet(boolean value) {
      if (!value) {
        this.itemNumber = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ORDER_ID:
        if (value == null) {
          unsetOrderId();
        } else {
          setOrderId((Long)value);
        }
        break;

      case INVOICE_NUMBER:
        if (value == null) {
          unsetInvoiceNumber();
        } else {
          setInvoiceNumber((String)value);
        }
        break;

      case COLOR:
        if (value == null) {
          unsetColor();
        } else {
          setColor((String)value);
        }
        break;

      case SERIAL_NUMBER:
        if (value == null) {
          unsetSerialNumber();
        } else {
          setSerialNumber((String)value);
        }
        break;

      case ITEM_NUMBER:
        if (value == null) {
          unsetItemNumber();
        } else {
          setItemNumber((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ORDER_ID:
        return Long.valueOf(getOrderId());

      case INVOICE_NUMBER:
        return getInvoiceNumber();

      case COLOR:
        return getColor();

      case SERIAL_NUMBER:
        return getSerialNumber();

      case ITEM_NUMBER:
        return getItemNumber();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ORDER_ID:
        return isSetOrderId();
      case INVOICE_NUMBER:
        return isSetInvoiceNumber();
      case COLOR:
        return isSetColor();
      case SERIAL_NUMBER:
        return isSetSerialNumber();
      case ITEM_NUMBER:
        return isSetItemNumber();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof addInvoiceNumber_args)
        return this.equals((addInvoiceNumber_args)that);
      return false;
    }

    public boolean equals(addInvoiceNumber_args that) {
      if (that == null)
        return false;

      boolean this_present_orderId = true;
      boolean that_present_orderId = true;
      if (this_present_orderId || that_present_orderId) {
        if (!(this_present_orderId && that_present_orderId))
          return false;
        if (this.orderId != that.orderId)
          return false;
      }

      boolean this_present_invoiceNumber = true && this.isSetInvoiceNumber();
      boolean that_present_invoiceNumber = true && that.isSetInvoiceNumber();
      if (this_present_invoiceNumber || that_present_invoiceNumber) {
        if (!(this_present_invoiceNumber && that_present_invoiceNumber))
          return false;
        if (!this.invoiceNumber.equals(that.invoiceNumber))
          return false;
      }

      boolean this_present_color = true && this.isSetColor();
      boolean that_present_color = true && that.isSetColor();
      if (this_present_color || that_present_color) {
        if (!(this_present_color && that_present_color))
          return false;
        if (!this.color.equals(that.color))
          return false;
      }

      boolean this_present_serialNumber = true && this.isSetSerialNumber();
      boolean that_present_serialNumber = true && that.isSetSerialNumber();
      if (this_present_serialNumber || that_present_serialNumber) {
        if (!(this_present_serialNumber && that_present_serialNumber))
          return false;
        if (!this.serialNumber.equals(that.serialNumber))
          return false;
      }

      boolean this_present_itemNumber = true && this.isSetItemNumber();
      boolean that_present_itemNumber = true && that.isSetItemNumber();
      if (this_present_itemNumber || that_present_itemNumber) {
        if (!(this_present_itemNumber && that_present_itemNumber))
          return false;
        if (!this.itemNumber.equals(that.itemNumber))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(addInvoiceNumber_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      addInvoiceNumber_args typedOther = (addInvoiceNumber_args)other;

      lastComparison = Boolean.valueOf(isSetOrderId()).compareTo(typedOther.isSetOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.orderId, typedOther.orderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetInvoiceNumber()).compareTo(typedOther.isSetInvoiceNumber());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetInvoiceNumber()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.invoiceNumber, typedOther.invoiceNumber);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetColor()).compareTo(typedOther.isSetColor());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetColor()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.color, typedOther.color);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetSerialNumber()).compareTo(typedOther.isSetSerialNumber());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSerialNumber()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.serialNumber, typedOther.serialNumber);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetItemNumber()).compareTo(typedOther.isSetItemNumber());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetItemNumber()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.itemNumber, typedOther.itemNumber);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.orderId = iprot.readI64();
              setOrderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // INVOICE_NUMBER
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.invoiceNumber = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // COLOR
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.color = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 4: // SERIAL_NUMBER
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.serialNumber = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 5: // ITEM_NUMBER
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.itemNumber = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ORDER_ID_FIELD_DESC);
      oprot.writeI64(this.orderId);
      oprot.writeFieldEnd();
      if (this.invoiceNumber != null) {
        oprot.writeFieldBegin(INVOICE_NUMBER_FIELD_DESC);
        oprot.writeString(this.invoiceNumber);
        oprot.writeFieldEnd();
      }
      if (this.color != null) {
        oprot.writeFieldBegin(COLOR_FIELD_DESC);
        oprot.writeString(this.color);
        oprot.writeFieldEnd();
      }
      if (this.serialNumber != null) {
        oprot.writeFieldBegin(SERIAL_NUMBER_FIELD_DESC);
        oprot.writeString(this.serialNumber);
        oprot.writeFieldEnd();
      }
      if (this.itemNumber != null) {
        oprot.writeFieldBegin(ITEM_NUMBER_FIELD_DESC);
        oprot.writeString(this.itemNumber);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("addInvoiceNumber_args(");
      boolean first = true;

      sb.append("orderId:");
      sb.append(this.orderId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("invoiceNumber:");
      if (this.invoiceNumber == null) {
        sb.append("null");
      } else {
        sb.append(this.invoiceNumber);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("color:");
      if (this.color == null) {
        sb.append("null");
      } else {
        sb.append(this.color);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("serialNumber:");
      if (this.serialNumber == null) {
        sb.append("null");
      } else {
        sb.append(this.serialNumber);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("itemNumber:");
      if (this.itemNumber == null) {
        sb.append("null");
      } else {
        sb.append(this.itemNumber);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class addInvoiceNumber_result implements org.apache.thrift.TBase<addInvoiceNumber_result, addInvoiceNumber_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addInvoiceNumber_result");

    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(addInvoiceNumber_result.class, metaDataMap);
    }

    public addInvoiceNumber_result() {
    }

    public addInvoiceNumber_result(
      TransactionServiceException ex)
    {
      this();
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public addInvoiceNumber_result(addInvoiceNumber_result other) {
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public addInvoiceNumber_result deepCopy() {
      return new addInvoiceNumber_result(this);
    }

    @Override
    public void clear() {
      this.ex = null;
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof addInvoiceNumber_result)
        return this.equals((addInvoiceNumber_result)that);
      return false;
    }

    public boolean equals(addInvoiceNumber_result that) {
      if (that == null)
        return false;

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(addInvoiceNumber_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      addInvoiceNumber_result typedOther = (addInvoiceNumber_result)other;

      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("addInvoiceNumber_result(");
      boolean first = true;

      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class markOrdersAsShippedFromWarehouse_args implements org.apache.thrift.TBase<markOrdersAsShippedFromWarehouse_args, markOrdersAsShippedFromWarehouse_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("markOrdersAsShippedFromWarehouse_args");

    private static final org.apache.thrift.protocol.TField WAREHOUSE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("warehouseId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField PROVIDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("providerId", org.apache.thrift.protocol.TType.I64, (short)2);
    private static final org.apache.thrift.protocol.TField COD_FIELD_DESC = new org.apache.thrift.protocol.TField("cod", org.apache.thrift.protocol.TType.BOOL, (short)3);
    private static final org.apache.thrift.protocol.TField ORDER_IDS_FIELD_DESC = new org.apache.thrift.protocol.TField("orderIds", org.apache.thrift.protocol.TType.LIST, (short)4);

    private long warehouseId; // required
    private long providerId; // required
    private boolean cod; // required
    private List<Long> orderIds; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      WAREHOUSE_ID((short)1, "warehouseId"),
      PROVIDER_ID((short)2, "providerId"),
      COD((short)3, "cod"),
      ORDER_IDS((short)4, "orderIds");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // WAREHOUSE_ID
            return WAREHOUSE_ID;
          case 2: // PROVIDER_ID
            return PROVIDER_ID;
          case 3: // COD
            return COD;
          case 4: // ORDER_IDS
            return ORDER_IDS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __WAREHOUSEID_ISSET_ID = 0;
    private static final int __PROVIDERID_ISSET_ID = 1;
    private static final int __COD_ISSET_ID = 2;
    private BitSet __isset_bit_vector = new BitSet(3);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.WAREHOUSE_ID, new org.apache.thrift.meta_data.FieldMetaData("warehouseId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.PROVIDER_ID, new org.apache.thrift.meta_data.FieldMetaData("providerId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.COD, new org.apache.thrift.meta_data.FieldMetaData("cod", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      tmpMap.put(_Fields.ORDER_IDS, new org.apache.thrift.meta_data.FieldMetaData("orderIds", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(markOrdersAsShippedFromWarehouse_args.class, metaDataMap);
    }

    public markOrdersAsShippedFromWarehouse_args() {
    }

    public markOrdersAsShippedFromWarehouse_args(
      long warehouseId,
      long providerId,
      boolean cod,
      List<Long> orderIds)
    {
      this();
      this.warehouseId = warehouseId;
      setWarehouseIdIsSet(true);
      this.providerId = providerId;
      setProviderIdIsSet(true);
      this.cod = cod;
      setCodIsSet(true);
      this.orderIds = orderIds;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public markOrdersAsShippedFromWarehouse_args(markOrdersAsShippedFromWarehouse_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.warehouseId = other.warehouseId;
      this.providerId = other.providerId;
      this.cod = other.cod;
      if (other.isSetOrderIds()) {
        List<Long> __this__orderIds = new ArrayList<Long>();
        for (Long other_element : other.orderIds) {
          __this__orderIds.add(other_element);
        }
        this.orderIds = __this__orderIds;
      }
    }

    public markOrdersAsShippedFromWarehouse_args deepCopy() {
      return new markOrdersAsShippedFromWarehouse_args(this);
    }

    @Override
    public void clear() {
      setWarehouseIdIsSet(false);
      this.warehouseId = 0;
      setProviderIdIsSet(false);
      this.providerId = 0;
      setCodIsSet(false);
      this.cod = false;
      this.orderIds = null;
    }

    public long getWarehouseId() {
      return this.warehouseId;
    }

    public void setWarehouseId(long warehouseId) {
      this.warehouseId = warehouseId;
      setWarehouseIdIsSet(true);
    }

    public void unsetWarehouseId() {
      __isset_bit_vector.clear(__WAREHOUSEID_ISSET_ID);
    }

    /** Returns true if field warehouseId is set (has been assigned a value) and false otherwise */
    public boolean isSetWarehouseId() {
      return __isset_bit_vector.get(__WAREHOUSEID_ISSET_ID);
    }

    public void setWarehouseIdIsSet(boolean value) {
      __isset_bit_vector.set(__WAREHOUSEID_ISSET_ID, value);
    }

    public long getProviderId() {
      return this.providerId;
    }

    public void setProviderId(long providerId) {
      this.providerId = providerId;
      setProviderIdIsSet(true);
    }

    public void unsetProviderId() {
      __isset_bit_vector.clear(__PROVIDERID_ISSET_ID);
    }

    /** Returns true if field providerId is set (has been assigned a value) and false otherwise */
    public boolean isSetProviderId() {
      return __isset_bit_vector.get(__PROVIDERID_ISSET_ID);
    }

    public void setProviderIdIsSet(boolean value) {
      __isset_bit_vector.set(__PROVIDERID_ISSET_ID, value);
    }

    public boolean isCod() {
      return this.cod;
    }

    public void setCod(boolean cod) {
      this.cod = cod;
      setCodIsSet(true);
    }

    public void unsetCod() {
      __isset_bit_vector.clear(__COD_ISSET_ID);
    }

    /** Returns true if field cod is set (has been assigned a value) and false otherwise */
    public boolean isSetCod() {
      return __isset_bit_vector.get(__COD_ISSET_ID);
    }

    public void setCodIsSet(boolean value) {
      __isset_bit_vector.set(__COD_ISSET_ID, value);
    }

    public int getOrderIdsSize() {
      return (this.orderIds == null) ? 0 : this.orderIds.size();
    }

    public java.util.Iterator<Long> getOrderIdsIterator() {
      return (this.orderIds == null) ? null : this.orderIds.iterator();
    }

    public void addToOrderIds(long elem) {
      if (this.orderIds == null) {
        this.orderIds = new ArrayList<Long>();
      }
      this.orderIds.add(elem);
    }

    public List<Long> getOrderIds() {
      return this.orderIds;
    }

    public void setOrderIds(List<Long> orderIds) {
      this.orderIds = orderIds;
    }

    public void unsetOrderIds() {
      this.orderIds = null;
    }

    /** Returns true if field orderIds is set (has been assigned a value) and false otherwise */
    public boolean isSetOrderIds() {
      return this.orderIds != null;
    }

    public void setOrderIdsIsSet(boolean value) {
      if (!value) {
        this.orderIds = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case WAREHOUSE_ID:
        if (value == null) {
          unsetWarehouseId();
        } else {
          setWarehouseId((Long)value);
        }
        break;

      case PROVIDER_ID:
        if (value == null) {
          unsetProviderId();
        } else {
          setProviderId((Long)value);
        }
        break;

      case COD:
        if (value == null) {
          unsetCod();
        } else {
          setCod((Boolean)value);
        }
        break;

      case ORDER_IDS:
        if (value == null) {
          unsetOrderIds();
        } else {
          setOrderIds((List<Long>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case WAREHOUSE_ID:
        return Long.valueOf(getWarehouseId());

      case PROVIDER_ID:
        return Long.valueOf(getProviderId());

      case COD:
        return Boolean.valueOf(isCod());

      case ORDER_IDS:
        return getOrderIds();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case WAREHOUSE_ID:
        return isSetWarehouseId();
      case PROVIDER_ID:
        return isSetProviderId();
      case COD:
        return isSetCod();
      case ORDER_IDS:
        return isSetOrderIds();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof markOrdersAsShippedFromWarehouse_args)
        return this.equals((markOrdersAsShippedFromWarehouse_args)that);
      return false;
    }

    public boolean equals(markOrdersAsShippedFromWarehouse_args that) {
      if (that == null)
        return false;

      boolean this_present_warehouseId = true;
      boolean that_present_warehouseId = true;
      if (this_present_warehouseId || that_present_warehouseId) {
        if (!(this_present_warehouseId && that_present_warehouseId))
          return false;
        if (this.warehouseId != that.warehouseId)
          return false;
      }

      boolean this_present_providerId = true;
      boolean that_present_providerId = true;
      if (this_present_providerId || that_present_providerId) {
        if (!(this_present_providerId && that_present_providerId))
          return false;
        if (this.providerId != that.providerId)
          return false;
      }

      boolean this_present_cod = true;
      boolean that_present_cod = true;
      if (this_present_cod || that_present_cod) {
        if (!(this_present_cod && that_present_cod))
          return false;
        if (this.cod != that.cod)
          return false;
      }

      boolean this_present_orderIds = true && this.isSetOrderIds();
      boolean that_present_orderIds = true && that.isSetOrderIds();
      if (this_present_orderIds || that_present_orderIds) {
        if (!(this_present_orderIds && that_present_orderIds))
          return false;
        if (!this.orderIds.equals(that.orderIds))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(markOrdersAsShippedFromWarehouse_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      markOrdersAsShippedFromWarehouse_args typedOther = (markOrdersAsShippedFromWarehouse_args)other;

      lastComparison = Boolean.valueOf(isSetWarehouseId()).compareTo(typedOther.isSetWarehouseId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetWarehouseId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.warehouseId, typedOther.warehouseId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetProviderId()).compareTo(typedOther.isSetProviderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetProviderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.providerId, typedOther.providerId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetCod()).compareTo(typedOther.isSetCod());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetCod()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.cod, typedOther.cod);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetOrderIds()).compareTo(typedOther.isSetOrderIds());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrderIds()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.orderIds, typedOther.orderIds);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // WAREHOUSE_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.warehouseId = iprot.readI64();
              setWarehouseIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // PROVIDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.providerId = iprot.readI64();
              setProviderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // COD
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.cod = iprot.readBool();
              setCodIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 4: // ORDER_IDS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list176 = iprot.readListBegin();
                this.orderIds = new ArrayList<Long>(_list176.size);
                for (int _i177 = 0; _i177 < _list176.size; ++_i177)
                {
                  long _elem178; // required
                  _elem178 = iprot.readI64();
                  this.orderIds.add(_elem178);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(WAREHOUSE_ID_FIELD_DESC);
      oprot.writeI64(this.warehouseId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(PROVIDER_ID_FIELD_DESC);
      oprot.writeI64(this.providerId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(COD_FIELD_DESC);
      oprot.writeBool(this.cod);
      oprot.writeFieldEnd();
      if (this.orderIds != null) {
        oprot.writeFieldBegin(ORDER_IDS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, this.orderIds.size()));
          for (long _iter179 : this.orderIds)
          {
            oprot.writeI64(_iter179);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("markOrdersAsShippedFromWarehouse_args(");
      boolean first = true;

      sb.append("warehouseId:");
      sb.append(this.warehouseId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("providerId:");
      sb.append(this.providerId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("cod:");
      sb.append(this.cod);
      first = false;
      if (!first) sb.append(", ");
      sb.append("orderIds:");
      if (this.orderIds == null) {
        sb.append("null");
      } else {
        sb.append(this.orderIds);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class markOrdersAsShippedFromWarehouse_result implements org.apache.thrift.TBase<markOrdersAsShippedFromWarehouse_result, markOrdersAsShippedFromWarehouse_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("markOrdersAsShippedFromWarehouse_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private boolean success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(markOrdersAsShippedFromWarehouse_result.class, metaDataMap);
    }

    public markOrdersAsShippedFromWarehouse_result() {
    }

    public markOrdersAsShippedFromWarehouse_result(
      boolean success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public markOrdersAsShippedFromWarehouse_result(markOrdersAsShippedFromWarehouse_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public markOrdersAsShippedFromWarehouse_result deepCopy() {
      return new markOrdersAsShippedFromWarehouse_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = false;
      this.ex = null;
    }

    public boolean isSuccess() {
      return this.success;
    }

    public void setSuccess(boolean success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Boolean.valueOf(isSuccess());

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof markOrdersAsShippedFromWarehouse_result)
        return this.equals((markOrdersAsShippedFromWarehouse_result)that);
      return false;
    }

    public boolean equals(markOrdersAsShippedFromWarehouse_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(markOrdersAsShippedFromWarehouse_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      markOrdersAsShippedFromWarehouse_result typedOther = (markOrdersAsShippedFromWarehouse_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.success = iprot.readBool();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBool(this.success);
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("markOrdersAsShippedFromWarehouse_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class markOrdersAsReturnedFromStore_args implements org.apache.thrift.TBase<markOrdersAsReturnedFromStore_args, markOrdersAsReturnedFromStore_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("markOrdersAsReturnedFromStore_args");

    private static final org.apache.thrift.protocol.TField PROVIDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("providerId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField ORDER_IDS_FIELD_DESC = new org.apache.thrift.protocol.TField("orderIds", org.apache.thrift.protocol.TType.LIST, (short)2);
    private static final org.apache.thrift.protocol.TField AWBS_FIELD_DESC = new org.apache.thrift.protocol.TField("awbs", org.apache.thrift.protocol.TType.LIST, (short)3);

    private long providerId; // required
    private List<Long> orderIds; // required
    private List<String> awbs; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      PROVIDER_ID((short)1, "providerId"),
      ORDER_IDS((short)2, "orderIds"),
      AWBS((short)3, "awbs");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // PROVIDER_ID
            return PROVIDER_ID;
          case 2: // ORDER_IDS
            return ORDER_IDS;
          case 3: // AWBS
            return AWBS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __PROVIDERID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.PROVIDER_ID, new org.apache.thrift.meta_data.FieldMetaData("providerId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.ORDER_IDS, new org.apache.thrift.meta_data.FieldMetaData("orderIds", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64))));
      tmpMap.put(_Fields.AWBS, new org.apache.thrift.meta_data.FieldMetaData("awbs", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(markOrdersAsReturnedFromStore_args.class, metaDataMap);
    }

    public markOrdersAsReturnedFromStore_args() {
    }

    public markOrdersAsReturnedFromStore_args(
      long providerId,
      List<Long> orderIds,
      List<String> awbs)
    {
      this();
      this.providerId = providerId;
      setProviderIdIsSet(true);
      this.orderIds = orderIds;
      this.awbs = awbs;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public markOrdersAsReturnedFromStore_args(markOrdersAsReturnedFromStore_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.providerId = other.providerId;
      if (other.isSetOrderIds()) {
        List<Long> __this__orderIds = new ArrayList<Long>();
        for (Long other_element : other.orderIds) {
          __this__orderIds.add(other_element);
        }
        this.orderIds = __this__orderIds;
      }
      if (other.isSetAwbs()) {
        List<String> __this__awbs = new ArrayList<String>();
        for (String other_element : other.awbs) {
          __this__awbs.add(other_element);
        }
        this.awbs = __this__awbs;
      }
    }

    public markOrdersAsReturnedFromStore_args deepCopy() {
      return new markOrdersAsReturnedFromStore_args(this);
    }

    @Override
    public void clear() {
      setProviderIdIsSet(false);
      this.providerId = 0;
      this.orderIds = null;
      this.awbs = null;
    }

    public long getProviderId() {
      return this.providerId;
    }

    public void setProviderId(long providerId) {
      this.providerId = providerId;
      setProviderIdIsSet(true);
    }

    public void unsetProviderId() {
      __isset_bit_vector.clear(__PROVIDERID_ISSET_ID);
    }

    /** Returns true if field providerId is set (has been assigned a value) and false otherwise */
    public boolean isSetProviderId() {
      return __isset_bit_vector.get(__PROVIDERID_ISSET_ID);
    }

    public void setProviderIdIsSet(boolean value) {
      __isset_bit_vector.set(__PROVIDERID_ISSET_ID, value);
    }

    public int getOrderIdsSize() {
      return (this.orderIds == null) ? 0 : this.orderIds.size();
    }

    public java.util.Iterator<Long> getOrderIdsIterator() {
      return (this.orderIds == null) ? null : this.orderIds.iterator();
    }

    public void addToOrderIds(long elem) {
      if (this.orderIds == null) {
        this.orderIds = new ArrayList<Long>();
      }
      this.orderIds.add(elem);
    }

    public List<Long> getOrderIds() {
      return this.orderIds;
    }

    public void setOrderIds(List<Long> orderIds) {
      this.orderIds = orderIds;
    }

    public void unsetOrderIds() {
      this.orderIds = null;
    }

    /** Returns true if field orderIds is set (has been assigned a value) and false otherwise */
    public boolean isSetOrderIds() {
      return this.orderIds != null;
    }

    public void setOrderIdsIsSet(boolean value) {
      if (!value) {
        this.orderIds = null;
      }
    }

    public int getAwbsSize() {
      return (this.awbs == null) ? 0 : this.awbs.size();
    }

    public java.util.Iterator<String> getAwbsIterator() {
      return (this.awbs == null) ? null : this.awbs.iterator();
    }

    public void addToAwbs(String elem) {
      if (this.awbs == null) {
        this.awbs = new ArrayList<String>();
      }
      this.awbs.add(elem);
    }

    public List<String> getAwbs() {
      return this.awbs;
    }

    public void setAwbs(List<String> awbs) {
      this.awbs = awbs;
    }

    public void unsetAwbs() {
      this.awbs = null;
    }

    /** Returns true if field awbs is set (has been assigned a value) and false otherwise */
    public boolean isSetAwbs() {
      return this.awbs != null;
    }

    public void setAwbsIsSet(boolean value) {
      if (!value) {
        this.awbs = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case PROVIDER_ID:
        if (value == null) {
          unsetProviderId();
        } else {
          setProviderId((Long)value);
        }
        break;

      case ORDER_IDS:
        if (value == null) {
          unsetOrderIds();
        } else {
          setOrderIds((List<Long>)value);
        }
        break;

      case AWBS:
        if (value == null) {
          unsetAwbs();
        } else {
          setAwbs((List<String>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case PROVIDER_ID:
        return Long.valueOf(getProviderId());

      case ORDER_IDS:
        return getOrderIds();

      case AWBS:
        return getAwbs();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case PROVIDER_ID:
        return isSetProviderId();
      case ORDER_IDS:
        return isSetOrderIds();
      case AWBS:
        return isSetAwbs();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof markOrdersAsReturnedFromStore_args)
        return this.equals((markOrdersAsReturnedFromStore_args)that);
      return false;
    }

    public boolean equals(markOrdersAsReturnedFromStore_args that) {
      if (that == null)
        return false;

      boolean this_present_providerId = true;
      boolean that_present_providerId = true;
      if (this_present_providerId || that_present_providerId) {
        if (!(this_present_providerId && that_present_providerId))
          return false;
        if (this.providerId != that.providerId)
          return false;
      }

      boolean this_present_orderIds = true && this.isSetOrderIds();
      boolean that_present_orderIds = true && that.isSetOrderIds();
      if (this_present_orderIds || that_present_orderIds) {
        if (!(this_present_orderIds && that_present_orderIds))
          return false;
        if (!this.orderIds.equals(that.orderIds))
          return false;
      }

      boolean this_present_awbs = true && this.isSetAwbs();
      boolean that_present_awbs = true && that.isSetAwbs();
      if (this_present_awbs || that_present_awbs) {
        if (!(this_present_awbs && that_present_awbs))
          return false;
        if (!this.awbs.equals(that.awbs))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(markOrdersAsReturnedFromStore_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      markOrdersAsReturnedFromStore_args typedOther = (markOrdersAsReturnedFromStore_args)other;

      lastComparison = Boolean.valueOf(isSetProviderId()).compareTo(typedOther.isSetProviderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetProviderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.providerId, typedOther.providerId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetOrderIds()).compareTo(typedOther.isSetOrderIds());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrderIds()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.orderIds, typedOther.orderIds);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetAwbs()).compareTo(typedOther.isSetAwbs());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetAwbs()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.awbs, typedOther.awbs);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // PROVIDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.providerId = iprot.readI64();
              setProviderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // ORDER_IDS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list180 = iprot.readListBegin();
                this.orderIds = new ArrayList<Long>(_list180.size);
                for (int _i181 = 0; _i181 < _list180.size; ++_i181)
                {
                  long _elem182; // required
                  _elem182 = iprot.readI64();
                  this.orderIds.add(_elem182);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // AWBS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list183 = iprot.readListBegin();
                this.awbs = new ArrayList<String>(_list183.size);
                for (int _i184 = 0; _i184 < _list183.size; ++_i184)
                {
                  String _elem185; // required
                  _elem185 = iprot.readString();
                  this.awbs.add(_elem185);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(PROVIDER_ID_FIELD_DESC);
      oprot.writeI64(this.providerId);
      oprot.writeFieldEnd();
      if (this.orderIds != null) {
        oprot.writeFieldBegin(ORDER_IDS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, this.orderIds.size()));
          for (long _iter186 : this.orderIds)
          {
            oprot.writeI64(_iter186);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      if (this.awbs != null) {
        oprot.writeFieldBegin(AWBS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, this.awbs.size()));
          for (String _iter187 : this.awbs)
          {
            oprot.writeString(_iter187);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("markOrdersAsReturnedFromStore_args(");
      boolean first = true;

      sb.append("providerId:");
      sb.append(this.providerId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("orderIds:");
      if (this.orderIds == null) {
        sb.append("null");
      } else {
        sb.append(this.orderIds);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("awbs:");
      if (this.awbs == null) {
        sb.append("null");
      } else {
        sb.append(this.awbs);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class markOrdersAsReturnedFromStore_result implements org.apache.thrift.TBase<markOrdersAsReturnedFromStore_result, markOrdersAsReturnedFromStore_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("markOrdersAsReturnedFromStore_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private boolean success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(markOrdersAsReturnedFromStore_result.class, metaDataMap);
    }

    public markOrdersAsReturnedFromStore_result() {
    }

    public markOrdersAsReturnedFromStore_result(
      boolean success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public markOrdersAsReturnedFromStore_result(markOrdersAsReturnedFromStore_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public markOrdersAsReturnedFromStore_result deepCopy() {
      return new markOrdersAsReturnedFromStore_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = false;
      this.ex = null;
    }

    public boolean isSuccess() {
      return this.success;
    }

    public void setSuccess(boolean success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Boolean.valueOf(isSuccess());

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof markOrdersAsReturnedFromStore_result)
        return this.equals((markOrdersAsReturnedFromStore_result)that);
      return false;
    }

    public boolean equals(markOrdersAsReturnedFromStore_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(markOrdersAsReturnedFromStore_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      markOrdersAsReturnedFromStore_result typedOther = (markOrdersAsReturnedFromStore_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.success = iprot.readBool();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBool(this.success);
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("markOrdersAsReturnedFromStore_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class markOrdersAsPickedUp_args implements org.apache.thrift.TBase<markOrdersAsPickedUp_args, markOrdersAsPickedUp_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("markOrdersAsPickedUp_args");

    private static final org.apache.thrift.protocol.TField PROVIDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("providerId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField PICKUP_DETAILS_FIELD_DESC = new org.apache.thrift.protocol.TField("pickupDetails", org.apache.thrift.protocol.TType.MAP, (short)2);

    private long providerId; // required
    private Map<String,String> pickupDetails; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      PROVIDER_ID((short)1, "providerId"),
      PICKUP_DETAILS((short)2, "pickupDetails");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // PROVIDER_ID
            return PROVIDER_ID;
          case 2: // PICKUP_DETAILS
            return PICKUP_DETAILS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __PROVIDERID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.PROVIDER_ID, new org.apache.thrift.meta_data.FieldMetaData("providerId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.PICKUP_DETAILS, new org.apache.thrift.meta_data.FieldMetaData("pickupDetails", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING), 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(markOrdersAsPickedUp_args.class, metaDataMap);
    }

    public markOrdersAsPickedUp_args() {
    }

    public markOrdersAsPickedUp_args(
      long providerId,
      Map<String,String> pickupDetails)
    {
      this();
      this.providerId = providerId;
      setProviderIdIsSet(true);
      this.pickupDetails = pickupDetails;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public markOrdersAsPickedUp_args(markOrdersAsPickedUp_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.providerId = other.providerId;
      if (other.isSetPickupDetails()) {
        Map<String,String> __this__pickupDetails = new HashMap<String,String>();
        for (Map.Entry<String, String> other_element : other.pickupDetails.entrySet()) {

          String other_element_key = other_element.getKey();
          String other_element_value = other_element.getValue();

          String __this__pickupDetails_copy_key = other_element_key;

          String __this__pickupDetails_copy_value = other_element_value;

          __this__pickupDetails.put(__this__pickupDetails_copy_key, __this__pickupDetails_copy_value);
        }
        this.pickupDetails = __this__pickupDetails;
      }
    }

    public markOrdersAsPickedUp_args deepCopy() {
      return new markOrdersAsPickedUp_args(this);
    }

    @Override
    public void clear() {
      setProviderIdIsSet(false);
      this.providerId = 0;
      this.pickupDetails = null;
    }

    public long getProviderId() {
      return this.providerId;
    }

    public void setProviderId(long providerId) {
      this.providerId = providerId;
      setProviderIdIsSet(true);
    }

    public void unsetProviderId() {
      __isset_bit_vector.clear(__PROVIDERID_ISSET_ID);
    }

    /** Returns true if field providerId is set (has been assigned a value) and false otherwise */
    public boolean isSetProviderId() {
      return __isset_bit_vector.get(__PROVIDERID_ISSET_ID);
    }

    public void setProviderIdIsSet(boolean value) {
      __isset_bit_vector.set(__PROVIDERID_ISSET_ID, value);
    }

    public int getPickupDetailsSize() {
      return (this.pickupDetails == null) ? 0 : this.pickupDetails.size();
    }

    public void putToPickupDetails(String key, String val) {
      if (this.pickupDetails == null) {
        this.pickupDetails = new HashMap<String,String>();
      }
      this.pickupDetails.put(key, val);
    }

    public Map<String,String> getPickupDetails() {
      return this.pickupDetails;
    }

    public void setPickupDetails(Map<String,String> pickupDetails) {
      this.pickupDetails = pickupDetails;
    }

    public void unsetPickupDetails() {
      this.pickupDetails = null;
    }

    /** Returns true if field pickupDetails is set (has been assigned a value) and false otherwise */
    public boolean isSetPickupDetails() {
      return this.pickupDetails != null;
    }

    public void setPickupDetailsIsSet(boolean value) {
      if (!value) {
        this.pickupDetails = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case PROVIDER_ID:
        if (value == null) {
          unsetProviderId();
        } else {
          setProviderId((Long)value);
        }
        break;

      case PICKUP_DETAILS:
        if (value == null) {
          unsetPickupDetails();
        } else {
          setPickupDetails((Map<String,String>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case PROVIDER_ID:
        return Long.valueOf(getProviderId());

      case PICKUP_DETAILS:
        return getPickupDetails();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case PROVIDER_ID:
        return isSetProviderId();
      case PICKUP_DETAILS:
        return isSetPickupDetails();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof markOrdersAsPickedUp_args)
        return this.equals((markOrdersAsPickedUp_args)that);
      return false;
    }

    public boolean equals(markOrdersAsPickedUp_args that) {
      if (that == null)
        return false;

      boolean this_present_providerId = true;
      boolean that_present_providerId = true;
      if (this_present_providerId || that_present_providerId) {
        if (!(this_present_providerId && that_present_providerId))
          return false;
        if (this.providerId != that.providerId)
          return false;
      }

      boolean this_present_pickupDetails = true && this.isSetPickupDetails();
      boolean that_present_pickupDetails = true && that.isSetPickupDetails();
      if (this_present_pickupDetails || that_present_pickupDetails) {
        if (!(this_present_pickupDetails && that_present_pickupDetails))
          return false;
        if (!this.pickupDetails.equals(that.pickupDetails))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(markOrdersAsPickedUp_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      markOrdersAsPickedUp_args typedOther = (markOrdersAsPickedUp_args)other;

      lastComparison = Boolean.valueOf(isSetProviderId()).compareTo(typedOther.isSetProviderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetProviderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.providerId, typedOther.providerId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetPickupDetails()).compareTo(typedOther.isSetPickupDetails());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetPickupDetails()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.pickupDetails, typedOther.pickupDetails);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // PROVIDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.providerId = iprot.readI64();
              setProviderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // PICKUP_DETAILS
            if (field.type == org.apache.thrift.protocol.TType.MAP) {
              {
                org.apache.thrift.protocol.TMap _map188 = iprot.readMapBegin();
                this.pickupDetails = new HashMap<String,String>(2*_map188.size);
                for (int _i189 = 0; _i189 < _map188.size; ++_i189)
                {
                  String _key190; // required
                  String _val191; // required
                  _key190 = iprot.readString();
                  _val191 = iprot.readString();
                  this.pickupDetails.put(_key190, _val191);
                }
                iprot.readMapEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(PROVIDER_ID_FIELD_DESC);
      oprot.writeI64(this.providerId);
      oprot.writeFieldEnd();
      if (this.pickupDetails != null) {
        oprot.writeFieldBegin(PICKUP_DETAILS_FIELD_DESC);
        {
          oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, this.pickupDetails.size()));
          for (Map.Entry<String, String> _iter192 : this.pickupDetails.entrySet())
          {
            oprot.writeString(_iter192.getKey());
            oprot.writeString(_iter192.getValue());
          }
          oprot.writeMapEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("markOrdersAsPickedUp_args(");
      boolean first = true;

      sb.append("providerId:");
      sb.append(this.providerId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("pickupDetails:");
      if (this.pickupDetails == null) {
        sb.append("null");
      } else {
        sb.append(this.pickupDetails);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class markOrdersAsPickedUp_result implements org.apache.thrift.TBase<markOrdersAsPickedUp_result, markOrdersAsPickedUp_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("markOrdersAsPickedUp_result");

    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(markOrdersAsPickedUp_result.class, metaDataMap);
    }

    public markOrdersAsPickedUp_result() {
    }

    public markOrdersAsPickedUp_result(
      TransactionServiceException ex)
    {
      this();
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public markOrdersAsPickedUp_result(markOrdersAsPickedUp_result other) {
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public markOrdersAsPickedUp_result deepCopy() {
      return new markOrdersAsPickedUp_result(this);
    }

    @Override
    public void clear() {
      this.ex = null;
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof markOrdersAsPickedUp_result)
        return this.equals((markOrdersAsPickedUp_result)that);
      return false;
    }

    public boolean equals(markOrdersAsPickedUp_result that) {
      if (that == null)
        return false;

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(markOrdersAsPickedUp_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      markOrdersAsPickedUp_result typedOther = (markOrdersAsPickedUp_result)other;

      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("markOrdersAsPickedUp_result(");
      boolean first = true;

      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getOrdersNotPickedUp_args implements org.apache.thrift.TBase<getOrdersNotPickedUp_args, getOrdersNotPickedUp_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getOrdersNotPickedUp_args");

    private static final org.apache.thrift.protocol.TField PROVIDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("providerId", org.apache.thrift.protocol.TType.I64, (short)1);

    private long providerId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      PROVIDER_ID((short)1, "providerId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // PROVIDER_ID
            return PROVIDER_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __PROVIDERID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.PROVIDER_ID, new org.apache.thrift.meta_data.FieldMetaData("providerId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getOrdersNotPickedUp_args.class, metaDataMap);
    }

    public getOrdersNotPickedUp_args() {
    }

    public getOrdersNotPickedUp_args(
      long providerId)
    {
      this();
      this.providerId = providerId;
      setProviderIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getOrdersNotPickedUp_args(getOrdersNotPickedUp_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.providerId = other.providerId;
    }

    public getOrdersNotPickedUp_args deepCopy() {
      return new getOrdersNotPickedUp_args(this);
    }

    @Override
    public void clear() {
      setProviderIdIsSet(false);
      this.providerId = 0;
    }

    public long getProviderId() {
      return this.providerId;
    }

    public void setProviderId(long providerId) {
      this.providerId = providerId;
      setProviderIdIsSet(true);
    }

    public void unsetProviderId() {
      __isset_bit_vector.clear(__PROVIDERID_ISSET_ID);
    }

    /** Returns true if field providerId is set (has been assigned a value) and false otherwise */
    public boolean isSetProviderId() {
      return __isset_bit_vector.get(__PROVIDERID_ISSET_ID);
    }

    public void setProviderIdIsSet(boolean value) {
      __isset_bit_vector.set(__PROVIDERID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case PROVIDER_ID:
        if (value == null) {
          unsetProviderId();
        } else {
          setProviderId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case PROVIDER_ID:
        return Long.valueOf(getProviderId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case PROVIDER_ID:
        return isSetProviderId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getOrdersNotPickedUp_args)
        return this.equals((getOrdersNotPickedUp_args)that);
      return false;
    }

    public boolean equals(getOrdersNotPickedUp_args that) {
      if (that == null)
        return false;

      boolean this_present_providerId = true;
      boolean that_present_providerId = true;
      if (this_present_providerId || that_present_providerId) {
        if (!(this_present_providerId && that_present_providerId))
          return false;
        if (this.providerId != that.providerId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getOrdersNotPickedUp_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getOrdersNotPickedUp_args typedOther = (getOrdersNotPickedUp_args)other;

      lastComparison = Boolean.valueOf(isSetProviderId()).compareTo(typedOther.isSetProviderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetProviderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.providerId, typedOther.providerId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // PROVIDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.providerId = iprot.readI64();
              setProviderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(PROVIDER_ID_FIELD_DESC);
      oprot.writeI64(this.providerId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getOrdersNotPickedUp_args(");
      boolean first = true;

      sb.append("providerId:");
      sb.append(this.providerId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getOrdersNotPickedUp_result implements org.apache.thrift.TBase<getOrdersNotPickedUp_result, getOrdersNotPickedUp_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getOrdersNotPickedUp_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);

    private List<Order> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Order.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getOrdersNotPickedUp_result.class, metaDataMap);
    }

    public getOrdersNotPickedUp_result() {
    }

    public getOrdersNotPickedUp_result(
      List<Order> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getOrdersNotPickedUp_result(getOrdersNotPickedUp_result other) {
      if (other.isSetSuccess()) {
        List<Order> __this__success = new ArrayList<Order>();
        for (Order other_element : other.success) {
          __this__success.add(new Order(other_element));
        }
        this.success = __this__success;
      }
    }

    public getOrdersNotPickedUp_result deepCopy() {
      return new getOrdersNotPickedUp_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<Order> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(Order elem) {
      if (this.success == null) {
        this.success = new ArrayList<Order>();
      }
      this.success.add(elem);
    }

    public List<Order> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<Order> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<Order>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getOrdersNotPickedUp_result)
        return this.equals((getOrdersNotPickedUp_result)that);
      return false;
    }

    public boolean equals(getOrdersNotPickedUp_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getOrdersNotPickedUp_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getOrdersNotPickedUp_result typedOther = (getOrdersNotPickedUp_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list193 = iprot.readListBegin();
                this.success = new ArrayList<Order>(_list193.size);
                for (int _i194 = 0; _i194 < _list193.size; ++_i194)
                {
                  Order _elem195; // required
                  _elem195 = new Order();
                  _elem195.read(iprot);
                  this.success.add(_elem195);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (Order _iter196 : this.success)
          {
            _iter196.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getOrdersNotPickedUp_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class markOrdersAsDelivered_args implements org.apache.thrift.TBase<markOrdersAsDelivered_args, markOrdersAsDelivered_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("markOrdersAsDelivered_args");

    private static final org.apache.thrift.protocol.TField PROVIDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("providerId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField DELIVERED_ORDERS_FIELD_DESC = new org.apache.thrift.protocol.TField("deliveredOrders", org.apache.thrift.protocol.TType.MAP, (short)2);

    private long providerId; // required
    private Map<String,String> deliveredOrders; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      PROVIDER_ID((short)1, "providerId"),
      DELIVERED_ORDERS((short)2, "deliveredOrders");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // PROVIDER_ID
            return PROVIDER_ID;
          case 2: // DELIVERED_ORDERS
            return DELIVERED_ORDERS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __PROVIDERID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.PROVIDER_ID, new org.apache.thrift.meta_data.FieldMetaData("providerId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.DELIVERED_ORDERS, new org.apache.thrift.meta_data.FieldMetaData("deliveredOrders", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING), 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(markOrdersAsDelivered_args.class, metaDataMap);
    }

    public markOrdersAsDelivered_args() {
    }

    public markOrdersAsDelivered_args(
      long providerId,
      Map<String,String> deliveredOrders)
    {
      this();
      this.providerId = providerId;
      setProviderIdIsSet(true);
      this.deliveredOrders = deliveredOrders;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public markOrdersAsDelivered_args(markOrdersAsDelivered_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.providerId = other.providerId;
      if (other.isSetDeliveredOrders()) {
        Map<String,String> __this__deliveredOrders = new HashMap<String,String>();
        for (Map.Entry<String, String> other_element : other.deliveredOrders.entrySet()) {

          String other_element_key = other_element.getKey();
          String other_element_value = other_element.getValue();

          String __this__deliveredOrders_copy_key = other_element_key;

          String __this__deliveredOrders_copy_value = other_element_value;

          __this__deliveredOrders.put(__this__deliveredOrders_copy_key, __this__deliveredOrders_copy_value);
        }
        this.deliveredOrders = __this__deliveredOrders;
      }
    }

    public markOrdersAsDelivered_args deepCopy() {
      return new markOrdersAsDelivered_args(this);
    }

    @Override
    public void clear() {
      setProviderIdIsSet(false);
      this.providerId = 0;
      this.deliveredOrders = null;
    }

    public long getProviderId() {
      return this.providerId;
    }

    public void setProviderId(long providerId) {
      this.providerId = providerId;
      setProviderIdIsSet(true);
    }

    public void unsetProviderId() {
      __isset_bit_vector.clear(__PROVIDERID_ISSET_ID);
    }

    /** Returns true if field providerId is set (has been assigned a value) and false otherwise */
    public boolean isSetProviderId() {
      return __isset_bit_vector.get(__PROVIDERID_ISSET_ID);
    }

    public void setProviderIdIsSet(boolean value) {
      __isset_bit_vector.set(__PROVIDERID_ISSET_ID, value);
    }

    public int getDeliveredOrdersSize() {
      return (this.deliveredOrders == null) ? 0 : this.deliveredOrders.size();
    }

    public void putToDeliveredOrders(String key, String val) {
      if (this.deliveredOrders == null) {
        this.deliveredOrders = new HashMap<String,String>();
      }
      this.deliveredOrders.put(key, val);
    }

    public Map<String,String> getDeliveredOrders() {
      return this.deliveredOrders;
    }

    public void setDeliveredOrders(Map<String,String> deliveredOrders) {
      this.deliveredOrders = deliveredOrders;
    }

    public void unsetDeliveredOrders() {
      this.deliveredOrders = null;
    }

    /** Returns true if field deliveredOrders is set (has been assigned a value) and false otherwise */
    public boolean isSetDeliveredOrders() {
      return this.deliveredOrders != null;
    }

    public void setDeliveredOrdersIsSet(boolean value) {
      if (!value) {
        this.deliveredOrders = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case PROVIDER_ID:
        if (value == null) {
          unsetProviderId();
        } else {
          setProviderId((Long)value);
        }
        break;

      case DELIVERED_ORDERS:
        if (value == null) {
          unsetDeliveredOrders();
        } else {
          setDeliveredOrders((Map<String,String>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case PROVIDER_ID:
        return Long.valueOf(getProviderId());

      case DELIVERED_ORDERS:
        return getDeliveredOrders();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case PROVIDER_ID:
        return isSetProviderId();
      case DELIVERED_ORDERS:
        return isSetDeliveredOrders();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof markOrdersAsDelivered_args)
        return this.equals((markOrdersAsDelivered_args)that);
      return false;
    }

    public boolean equals(markOrdersAsDelivered_args that) {
      if (that == null)
        return false;

      boolean this_present_providerId = true;
      boolean that_present_providerId = true;
      if (this_present_providerId || that_present_providerId) {
        if (!(this_present_providerId && that_present_providerId))
          return false;
        if (this.providerId != that.providerId)
          return false;
      }

      boolean this_present_deliveredOrders = true && this.isSetDeliveredOrders();
      boolean that_present_deliveredOrders = true && that.isSetDeliveredOrders();
      if (this_present_deliveredOrders || that_present_deliveredOrders) {
        if (!(this_present_deliveredOrders && that_present_deliveredOrders))
          return false;
        if (!this.deliveredOrders.equals(that.deliveredOrders))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(markOrdersAsDelivered_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      markOrdersAsDelivered_args typedOther = (markOrdersAsDelivered_args)other;

      lastComparison = Boolean.valueOf(isSetProviderId()).compareTo(typedOther.isSetProviderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetProviderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.providerId, typedOther.providerId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetDeliveredOrders()).compareTo(typedOther.isSetDeliveredOrders());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetDeliveredOrders()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.deliveredOrders, typedOther.deliveredOrders);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // PROVIDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.providerId = iprot.readI64();
              setProviderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // DELIVERED_ORDERS
            if (field.type == org.apache.thrift.protocol.TType.MAP) {
              {
                org.apache.thrift.protocol.TMap _map197 = iprot.readMapBegin();
                this.deliveredOrders = new HashMap<String,String>(2*_map197.size);
                for (int _i198 = 0; _i198 < _map197.size; ++_i198)
                {
                  String _key199; // required
                  String _val200; // required
                  _key199 = iprot.readString();
                  _val200 = iprot.readString();
                  this.deliveredOrders.put(_key199, _val200);
                }
                iprot.readMapEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(PROVIDER_ID_FIELD_DESC);
      oprot.writeI64(this.providerId);
      oprot.writeFieldEnd();
      if (this.deliveredOrders != null) {
        oprot.writeFieldBegin(DELIVERED_ORDERS_FIELD_DESC);
        {
          oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, this.deliveredOrders.size()));
          for (Map.Entry<String, String> _iter201 : this.deliveredOrders.entrySet())
          {
            oprot.writeString(_iter201.getKey());
            oprot.writeString(_iter201.getValue());
          }
          oprot.writeMapEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("markOrdersAsDelivered_args(");
      boolean first = true;

      sb.append("providerId:");
      sb.append(this.providerId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("deliveredOrders:");
      if (this.deliveredOrders == null) {
        sb.append("null");
      } else {
        sb.append(this.deliveredOrders);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class markOrdersAsDelivered_result implements org.apache.thrift.TBase<markOrdersAsDelivered_result, markOrdersAsDelivered_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("markOrdersAsDelivered_result");

    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(markOrdersAsDelivered_result.class, metaDataMap);
    }

    public markOrdersAsDelivered_result() {
    }

    public markOrdersAsDelivered_result(
      TransactionServiceException ex)
    {
      this();
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public markOrdersAsDelivered_result(markOrdersAsDelivered_result other) {
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public markOrdersAsDelivered_result deepCopy() {
      return new markOrdersAsDelivered_result(this);
    }

    @Override
    public void clear() {
      this.ex = null;
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof markOrdersAsDelivered_result)
        return this.equals((markOrdersAsDelivered_result)that);
      return false;
    }

    public boolean equals(markOrdersAsDelivered_result that) {
      if (that == null)
        return false;

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(markOrdersAsDelivered_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      markOrdersAsDelivered_result typedOther = (markOrdersAsDelivered_result)other;

      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("markOrdersAsDelivered_result(");
      boolean first = true;

      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class markAsRTOrders_args implements org.apache.thrift.TBase<markAsRTOrders_args, markAsRTOrders_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("markAsRTOrders_args");

    private static final org.apache.thrift.protocol.TField PROVIDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("providerId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField RETURNED_ORDERS_FIELD_DESC = new org.apache.thrift.protocol.TField("returnedOrders", org.apache.thrift.protocol.TType.MAP, (short)2);

    private long providerId; // required
    private Map<String,String> returnedOrders; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      PROVIDER_ID((short)1, "providerId"),
      RETURNED_ORDERS((short)2, "returnedOrders");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // PROVIDER_ID
            return PROVIDER_ID;
          case 2: // RETURNED_ORDERS
            return RETURNED_ORDERS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __PROVIDERID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.PROVIDER_ID, new org.apache.thrift.meta_data.FieldMetaData("providerId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.RETURNED_ORDERS, new org.apache.thrift.meta_data.FieldMetaData("returnedOrders", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING), 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(markAsRTOrders_args.class, metaDataMap);
    }

    public markAsRTOrders_args() {
    }

    public markAsRTOrders_args(
      long providerId,
      Map<String,String> returnedOrders)
    {
      this();
      this.providerId = providerId;
      setProviderIdIsSet(true);
      this.returnedOrders = returnedOrders;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public markAsRTOrders_args(markAsRTOrders_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.providerId = other.providerId;
      if (other.isSetReturnedOrders()) {
        Map<String,String> __this__returnedOrders = new HashMap<String,String>();
        for (Map.Entry<String, String> other_element : other.returnedOrders.entrySet()) {

          String other_element_key = other_element.getKey();
          String other_element_value = other_element.getValue();

          String __this__returnedOrders_copy_key = other_element_key;

          String __this__returnedOrders_copy_value = other_element_value;

          __this__returnedOrders.put(__this__returnedOrders_copy_key, __this__returnedOrders_copy_value);
        }
        this.returnedOrders = __this__returnedOrders;
      }
    }

    public markAsRTOrders_args deepCopy() {
      return new markAsRTOrders_args(this);
    }

    @Override
    public void clear() {
      setProviderIdIsSet(false);
      this.providerId = 0;
      this.returnedOrders = null;
    }

    public long getProviderId() {
      return this.providerId;
    }

    public void setProviderId(long providerId) {
      this.providerId = providerId;
      setProviderIdIsSet(true);
    }

    public void unsetProviderId() {
      __isset_bit_vector.clear(__PROVIDERID_ISSET_ID);
    }

    /** Returns true if field providerId is set (has been assigned a value) and false otherwise */
    public boolean isSetProviderId() {
      return __isset_bit_vector.get(__PROVIDERID_ISSET_ID);
    }

    public void setProviderIdIsSet(boolean value) {
      __isset_bit_vector.set(__PROVIDERID_ISSET_ID, value);
    }

    public int getReturnedOrdersSize() {
      return (this.returnedOrders == null) ? 0 : this.returnedOrders.size();
    }

    public void putToReturnedOrders(String key, String val) {
      if (this.returnedOrders == null) {
        this.returnedOrders = new HashMap<String,String>();
      }
      this.returnedOrders.put(key, val);
    }

    public Map<String,String> getReturnedOrders() {
      return this.returnedOrders;
    }

    public void setReturnedOrders(Map<String,String> returnedOrders) {
      this.returnedOrders = returnedOrders;
    }

    public void unsetReturnedOrders() {
      this.returnedOrders = null;
    }

    /** Returns true if field returnedOrders is set (has been assigned a value) and false otherwise */
    public boolean isSetReturnedOrders() {
      return this.returnedOrders != null;
    }

    public void setReturnedOrdersIsSet(boolean value) {
      if (!value) {
        this.returnedOrders = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case PROVIDER_ID:
        if (value == null) {
          unsetProviderId();
        } else {
          setProviderId((Long)value);
        }
        break;

      case RETURNED_ORDERS:
        if (value == null) {
          unsetReturnedOrders();
        } else {
          setReturnedOrders((Map<String,String>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case PROVIDER_ID:
        return Long.valueOf(getProviderId());

      case RETURNED_ORDERS:
        return getReturnedOrders();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case PROVIDER_ID:
        return isSetProviderId();
      case RETURNED_ORDERS:
        return isSetReturnedOrders();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof markAsRTOrders_args)
        return this.equals((markAsRTOrders_args)that);
      return false;
    }

    public boolean equals(markAsRTOrders_args that) {
      if (that == null)
        return false;

      boolean this_present_providerId = true;
      boolean that_present_providerId = true;
      if (this_present_providerId || that_present_providerId) {
        if (!(this_present_providerId && that_present_providerId))
          return false;
        if (this.providerId != that.providerId)
          return false;
      }

      boolean this_present_returnedOrders = true && this.isSetReturnedOrders();
      boolean that_present_returnedOrders = true && that.isSetReturnedOrders();
      if (this_present_returnedOrders || that_present_returnedOrders) {
        if (!(this_present_returnedOrders && that_present_returnedOrders))
          return false;
        if (!this.returnedOrders.equals(that.returnedOrders))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(markAsRTOrders_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      markAsRTOrders_args typedOther = (markAsRTOrders_args)other;

      lastComparison = Boolean.valueOf(isSetProviderId()).compareTo(typedOther.isSetProviderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetProviderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.providerId, typedOther.providerId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetReturnedOrders()).compareTo(typedOther.isSetReturnedOrders());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetReturnedOrders()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.returnedOrders, typedOther.returnedOrders);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // PROVIDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.providerId = iprot.readI64();
              setProviderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // RETURNED_ORDERS
            if (field.type == org.apache.thrift.protocol.TType.MAP) {
              {
                org.apache.thrift.protocol.TMap _map202 = iprot.readMapBegin();
                this.returnedOrders = new HashMap<String,String>(2*_map202.size);
                for (int _i203 = 0; _i203 < _map202.size; ++_i203)
                {
                  String _key204; // required
                  String _val205; // required
                  _key204 = iprot.readString();
                  _val205 = iprot.readString();
                  this.returnedOrders.put(_key204, _val205);
                }
                iprot.readMapEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(PROVIDER_ID_FIELD_DESC);
      oprot.writeI64(this.providerId);
      oprot.writeFieldEnd();
      if (this.returnedOrders != null) {
        oprot.writeFieldBegin(RETURNED_ORDERS_FIELD_DESC);
        {
          oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, this.returnedOrders.size()));
          for (Map.Entry<String, String> _iter206 : this.returnedOrders.entrySet())
          {
            oprot.writeString(_iter206.getKey());
            oprot.writeString(_iter206.getValue());
          }
          oprot.writeMapEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("markAsRTOrders_args(");
      boolean first = true;

      sb.append("providerId:");
      sb.append(this.providerId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("returnedOrders:");
      if (this.returnedOrders == null) {
        sb.append("null");
      } else {
        sb.append(this.returnedOrders);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class markAsRTOrders_result implements org.apache.thrift.TBase<markAsRTOrders_result, markAsRTOrders_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("markAsRTOrders_result");

    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(markAsRTOrders_result.class, metaDataMap);
    }

    public markAsRTOrders_result() {
    }

    public markAsRTOrders_result(
      TransactionServiceException ex)
    {
      this();
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public markAsRTOrders_result(markAsRTOrders_result other) {
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public markAsRTOrders_result deepCopy() {
      return new markAsRTOrders_result(this);
    }

    @Override
    public void clear() {
      this.ex = null;
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof markAsRTOrders_result)
        return this.equals((markAsRTOrders_result)that);
      return false;
    }

    public boolean equals(markAsRTOrders_result that) {
      if (that == null)
        return false;

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(markAsRTOrders_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      markAsRTOrders_result typedOther = (markAsRTOrders_result)other;

      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("markAsRTOrders_result(");
      boolean first = true;

      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getRTOrders_args implements org.apache.thrift.TBase<getRTOrders_args, getRTOrders_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getRTOrders_args");

    private static final org.apache.thrift.protocol.TField PROVIDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("providerId", org.apache.thrift.protocol.TType.I64, (short)1);

    private long providerId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      PROVIDER_ID((short)1, "providerId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // PROVIDER_ID
            return PROVIDER_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __PROVIDERID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.PROVIDER_ID, new org.apache.thrift.meta_data.FieldMetaData("providerId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getRTOrders_args.class, metaDataMap);
    }

    public getRTOrders_args() {
    }

    public getRTOrders_args(
      long providerId)
    {
      this();
      this.providerId = providerId;
      setProviderIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getRTOrders_args(getRTOrders_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.providerId = other.providerId;
    }

    public getRTOrders_args deepCopy() {
      return new getRTOrders_args(this);
    }

    @Override
    public void clear() {
      setProviderIdIsSet(false);
      this.providerId = 0;
    }

    public long getProviderId() {
      return this.providerId;
    }

    public void setProviderId(long providerId) {
      this.providerId = providerId;
      setProviderIdIsSet(true);
    }

    public void unsetProviderId() {
      __isset_bit_vector.clear(__PROVIDERID_ISSET_ID);
    }

    /** Returns true if field providerId is set (has been assigned a value) and false otherwise */
    public boolean isSetProviderId() {
      return __isset_bit_vector.get(__PROVIDERID_ISSET_ID);
    }

    public void setProviderIdIsSet(boolean value) {
      __isset_bit_vector.set(__PROVIDERID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case PROVIDER_ID:
        if (value == null) {
          unsetProviderId();
        } else {
          setProviderId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case PROVIDER_ID:
        return Long.valueOf(getProviderId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case PROVIDER_ID:
        return isSetProviderId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getRTOrders_args)
        return this.equals((getRTOrders_args)that);
      return false;
    }

    public boolean equals(getRTOrders_args that) {
      if (that == null)
        return false;

      boolean this_present_providerId = true;
      boolean that_present_providerId = true;
      if (this_present_providerId || that_present_providerId) {
        if (!(this_present_providerId && that_present_providerId))
          return false;
        if (this.providerId != that.providerId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getRTOrders_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getRTOrders_args typedOther = (getRTOrders_args)other;

      lastComparison = Boolean.valueOf(isSetProviderId()).compareTo(typedOther.isSetProviderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetProviderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.providerId, typedOther.providerId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // PROVIDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.providerId = iprot.readI64();
              setProviderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(PROVIDER_ID_FIELD_DESC);
      oprot.writeI64(this.providerId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getRTOrders_args(");
      boolean first = true;

      sb.append("providerId:");
      sb.append(this.providerId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getRTOrders_result implements org.apache.thrift.TBase<getRTOrders_result, getRTOrders_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getRTOrders_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);

    private List<Order> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Order.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getRTOrders_result.class, metaDataMap);
    }

    public getRTOrders_result() {
    }

    public getRTOrders_result(
      List<Order> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getRTOrders_result(getRTOrders_result other) {
      if (other.isSetSuccess()) {
        List<Order> __this__success = new ArrayList<Order>();
        for (Order other_element : other.success) {
          __this__success.add(new Order(other_element));
        }
        this.success = __this__success;
      }
    }

    public getRTOrders_result deepCopy() {
      return new getRTOrders_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<Order> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(Order elem) {
      if (this.success == null) {
        this.success = new ArrayList<Order>();
      }
      this.success.add(elem);
    }

    public List<Order> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<Order> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<Order>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getRTOrders_result)
        return this.equals((getRTOrders_result)that);
      return false;
    }

    public boolean equals(getRTOrders_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getRTOrders_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getRTOrders_result typedOther = (getRTOrders_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list207 = iprot.readListBegin();
                this.success = new ArrayList<Order>(_list207.size);
                for (int _i208 = 0; _i208 < _list207.size; ++_i208)
                {
                  Order _elem209; // required
                  _elem209 = new Order();
                  _elem209.read(iprot);
                  this.success.add(_elem209);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (Order _iter210 : this.success)
          {
            _iter210.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getRTOrders_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class updateNonDeliveryReason_args implements org.apache.thrift.TBase<updateNonDeliveryReason_args, updateNonDeliveryReason_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateNonDeliveryReason_args");

    private static final org.apache.thrift.protocol.TField PROVIDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("providerId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField UNDELIVERED_ORDERS_FIELD_DESC = new org.apache.thrift.protocol.TField("undeliveredOrders", org.apache.thrift.protocol.TType.MAP, (short)2);

    private long providerId; // required
    private Map<String,String> undeliveredOrders; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      PROVIDER_ID((short)1, "providerId"),
      UNDELIVERED_ORDERS((short)2, "undeliveredOrders");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // PROVIDER_ID
            return PROVIDER_ID;
          case 2: // UNDELIVERED_ORDERS
            return UNDELIVERED_ORDERS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __PROVIDERID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.PROVIDER_ID, new org.apache.thrift.meta_data.FieldMetaData("providerId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.UNDELIVERED_ORDERS, new org.apache.thrift.meta_data.FieldMetaData("undeliveredOrders", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING), 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateNonDeliveryReason_args.class, metaDataMap);
    }

    public updateNonDeliveryReason_args() {
    }

    public updateNonDeliveryReason_args(
      long providerId,
      Map<String,String> undeliveredOrders)
    {
      this();
      this.providerId = providerId;
      setProviderIdIsSet(true);
      this.undeliveredOrders = undeliveredOrders;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public updateNonDeliveryReason_args(updateNonDeliveryReason_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.providerId = other.providerId;
      if (other.isSetUndeliveredOrders()) {
        Map<String,String> __this__undeliveredOrders = new HashMap<String,String>();
        for (Map.Entry<String, String> other_element : other.undeliveredOrders.entrySet()) {

          String other_element_key = other_element.getKey();
          String other_element_value = other_element.getValue();

          String __this__undeliveredOrders_copy_key = other_element_key;

          String __this__undeliveredOrders_copy_value = other_element_value;

          __this__undeliveredOrders.put(__this__undeliveredOrders_copy_key, __this__undeliveredOrders_copy_value);
        }
        this.undeliveredOrders = __this__undeliveredOrders;
      }
    }

    public updateNonDeliveryReason_args deepCopy() {
      return new updateNonDeliveryReason_args(this);
    }

    @Override
    public void clear() {
      setProviderIdIsSet(false);
      this.providerId = 0;
      this.undeliveredOrders = null;
    }

    public long getProviderId() {
      return this.providerId;
    }

    public void setProviderId(long providerId) {
      this.providerId = providerId;
      setProviderIdIsSet(true);
    }

    public void unsetProviderId() {
      __isset_bit_vector.clear(__PROVIDERID_ISSET_ID);
    }

    /** Returns true if field providerId is set (has been assigned a value) and false otherwise */
    public boolean isSetProviderId() {
      return __isset_bit_vector.get(__PROVIDERID_ISSET_ID);
    }

    public void setProviderIdIsSet(boolean value) {
      __isset_bit_vector.set(__PROVIDERID_ISSET_ID, value);
    }

    public int getUndeliveredOrdersSize() {
      return (this.undeliveredOrders == null) ? 0 : this.undeliveredOrders.size();
    }

    public void putToUndeliveredOrders(String key, String val) {
      if (this.undeliveredOrders == null) {
        this.undeliveredOrders = new HashMap<String,String>();
      }
      this.undeliveredOrders.put(key, val);
    }

    public Map<String,String> getUndeliveredOrders() {
      return this.undeliveredOrders;
    }

    public void setUndeliveredOrders(Map<String,String> undeliveredOrders) {
      this.undeliveredOrders = undeliveredOrders;
    }

    public void unsetUndeliveredOrders() {
      this.undeliveredOrders = null;
    }

    /** Returns true if field undeliveredOrders is set (has been assigned a value) and false otherwise */
    public boolean isSetUndeliveredOrders() {
      return this.undeliveredOrders != null;
    }

    public void setUndeliveredOrdersIsSet(boolean value) {
      if (!value) {
        this.undeliveredOrders = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case PROVIDER_ID:
        if (value == null) {
          unsetProviderId();
        } else {
          setProviderId((Long)value);
        }
        break;

      case UNDELIVERED_ORDERS:
        if (value == null) {
          unsetUndeliveredOrders();
        } else {
          setUndeliveredOrders((Map<String,String>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case PROVIDER_ID:
        return Long.valueOf(getProviderId());

      case UNDELIVERED_ORDERS:
        return getUndeliveredOrders();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case PROVIDER_ID:
        return isSetProviderId();
      case UNDELIVERED_ORDERS:
        return isSetUndeliveredOrders();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof updateNonDeliveryReason_args)
        return this.equals((updateNonDeliveryReason_args)that);
      return false;
    }

    public boolean equals(updateNonDeliveryReason_args that) {
      if (that == null)
        return false;

      boolean this_present_providerId = true;
      boolean that_present_providerId = true;
      if (this_present_providerId || that_present_providerId) {
        if (!(this_present_providerId && that_present_providerId))
          return false;
        if (this.providerId != that.providerId)
          return false;
      }

      boolean this_present_undeliveredOrders = true && this.isSetUndeliveredOrders();
      boolean that_present_undeliveredOrders = true && that.isSetUndeliveredOrders();
      if (this_present_undeliveredOrders || that_present_undeliveredOrders) {
        if (!(this_present_undeliveredOrders && that_present_undeliveredOrders))
          return false;
        if (!this.undeliveredOrders.equals(that.undeliveredOrders))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(updateNonDeliveryReason_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      updateNonDeliveryReason_args typedOther = (updateNonDeliveryReason_args)other;

      lastComparison = Boolean.valueOf(isSetProviderId()).compareTo(typedOther.isSetProviderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetProviderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.providerId, typedOther.providerId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetUndeliveredOrders()).compareTo(typedOther.isSetUndeliveredOrders());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetUndeliveredOrders()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.undeliveredOrders, typedOther.undeliveredOrders);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // PROVIDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.providerId = iprot.readI64();
              setProviderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // UNDELIVERED_ORDERS
            if (field.type == org.apache.thrift.protocol.TType.MAP) {
              {
                org.apache.thrift.protocol.TMap _map211 = iprot.readMapBegin();
                this.undeliveredOrders = new HashMap<String,String>(2*_map211.size);
                for (int _i212 = 0; _i212 < _map211.size; ++_i212)
                {
                  String _key213; // required
                  String _val214; // required
                  _key213 = iprot.readString();
                  _val214 = iprot.readString();
                  this.undeliveredOrders.put(_key213, _val214);
                }
                iprot.readMapEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(PROVIDER_ID_FIELD_DESC);
      oprot.writeI64(this.providerId);
      oprot.writeFieldEnd();
      if (this.undeliveredOrders != null) {
        oprot.writeFieldBegin(UNDELIVERED_ORDERS_FIELD_DESC);
        {
          oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, this.undeliveredOrders.size()));
          for (Map.Entry<String, String> _iter215 : this.undeliveredOrders.entrySet())
          {
            oprot.writeString(_iter215.getKey());
            oprot.writeString(_iter215.getValue());
          }
          oprot.writeMapEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("updateNonDeliveryReason_args(");
      boolean first = true;

      sb.append("providerId:");
      sb.append(this.providerId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("undeliveredOrders:");
      if (this.undeliveredOrders == null) {
        sb.append("null");
      } else {
        sb.append(this.undeliveredOrders);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class updateNonDeliveryReason_result implements org.apache.thrift.TBase<updateNonDeliveryReason_result, updateNonDeliveryReason_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateNonDeliveryReason_result");

    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateNonDeliveryReason_result.class, metaDataMap);
    }

    public updateNonDeliveryReason_result() {
    }

    public updateNonDeliveryReason_result(
      TransactionServiceException ex)
    {
      this();
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public updateNonDeliveryReason_result(updateNonDeliveryReason_result other) {
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public updateNonDeliveryReason_result deepCopy() {
      return new updateNonDeliveryReason_result(this);
    }

    @Override
    public void clear() {
      this.ex = null;
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof updateNonDeliveryReason_result)
        return this.equals((updateNonDeliveryReason_result)that);
      return false;
    }

    public boolean equals(updateNonDeliveryReason_result that) {
      if (that == null)
        return false;

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(updateNonDeliveryReason_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      updateNonDeliveryReason_result typedOther = (updateNonDeliveryReason_result)other;

      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("updateNonDeliveryReason_result(");
      boolean first = true;

      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getNonDeliveredOrdersbyCourier_args implements org.apache.thrift.TBase<getNonDeliveredOrdersbyCourier_args, getNonDeliveredOrdersbyCourier_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getNonDeliveredOrdersbyCourier_args");

    private static final org.apache.thrift.protocol.TField PROVIDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("providerId", org.apache.thrift.protocol.TType.I64, (short)1);

    private long providerId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      PROVIDER_ID((short)1, "providerId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // PROVIDER_ID
            return PROVIDER_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __PROVIDERID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.PROVIDER_ID, new org.apache.thrift.meta_data.FieldMetaData("providerId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getNonDeliveredOrdersbyCourier_args.class, metaDataMap);
    }

    public getNonDeliveredOrdersbyCourier_args() {
    }

    public getNonDeliveredOrdersbyCourier_args(
      long providerId)
    {
      this();
      this.providerId = providerId;
      setProviderIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getNonDeliveredOrdersbyCourier_args(getNonDeliveredOrdersbyCourier_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.providerId = other.providerId;
    }

    public getNonDeliveredOrdersbyCourier_args deepCopy() {
      return new getNonDeliveredOrdersbyCourier_args(this);
    }

    @Override
    public void clear() {
      setProviderIdIsSet(false);
      this.providerId = 0;
    }

    public long getProviderId() {
      return this.providerId;
    }

    public void setProviderId(long providerId) {
      this.providerId = providerId;
      setProviderIdIsSet(true);
    }

    public void unsetProviderId() {
      __isset_bit_vector.clear(__PROVIDERID_ISSET_ID);
    }

    /** Returns true if field providerId is set (has been assigned a value) and false otherwise */
    public boolean isSetProviderId() {
      return __isset_bit_vector.get(__PROVIDERID_ISSET_ID);
    }

    public void setProviderIdIsSet(boolean value) {
      __isset_bit_vector.set(__PROVIDERID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case PROVIDER_ID:
        if (value == null) {
          unsetProviderId();
        } else {
          setProviderId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case PROVIDER_ID:
        return Long.valueOf(getProviderId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case PROVIDER_ID:
        return isSetProviderId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getNonDeliveredOrdersbyCourier_args)
        return this.equals((getNonDeliveredOrdersbyCourier_args)that);
      return false;
    }

    public boolean equals(getNonDeliveredOrdersbyCourier_args that) {
      if (that == null)
        return false;

      boolean this_present_providerId = true;
      boolean that_present_providerId = true;
      if (this_present_providerId || that_present_providerId) {
        if (!(this_present_providerId && that_present_providerId))
          return false;
        if (this.providerId != that.providerId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getNonDeliveredOrdersbyCourier_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getNonDeliveredOrdersbyCourier_args typedOther = (getNonDeliveredOrdersbyCourier_args)other;

      lastComparison = Boolean.valueOf(isSetProviderId()).compareTo(typedOther.isSetProviderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetProviderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.providerId, typedOther.providerId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // PROVIDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.providerId = iprot.readI64();
              setProviderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(PROVIDER_ID_FIELD_DESC);
      oprot.writeI64(this.providerId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getNonDeliveredOrdersbyCourier_args(");
      boolean first = true;

      sb.append("providerId:");
      sb.append(this.providerId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getNonDeliveredOrdersbyCourier_result implements org.apache.thrift.TBase<getNonDeliveredOrdersbyCourier_result, getNonDeliveredOrdersbyCourier_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getNonDeliveredOrdersbyCourier_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);

    private List<Order> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Order.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getNonDeliveredOrdersbyCourier_result.class, metaDataMap);
    }

    public getNonDeliveredOrdersbyCourier_result() {
    }

    public getNonDeliveredOrdersbyCourier_result(
      List<Order> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getNonDeliveredOrdersbyCourier_result(getNonDeliveredOrdersbyCourier_result other) {
      if (other.isSetSuccess()) {
        List<Order> __this__success = new ArrayList<Order>();
        for (Order other_element : other.success) {
          __this__success.add(new Order(other_element));
        }
        this.success = __this__success;
      }
    }

    public getNonDeliveredOrdersbyCourier_result deepCopy() {
      return new getNonDeliveredOrdersbyCourier_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<Order> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(Order elem) {
      if (this.success == null) {
        this.success = new ArrayList<Order>();
      }
      this.success.add(elem);
    }

    public List<Order> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<Order> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<Order>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getNonDeliveredOrdersbyCourier_result)
        return this.equals((getNonDeliveredOrdersbyCourier_result)that);
      return false;
    }

    public boolean equals(getNonDeliveredOrdersbyCourier_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getNonDeliveredOrdersbyCourier_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getNonDeliveredOrdersbyCourier_result typedOther = (getNonDeliveredOrdersbyCourier_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list216 = iprot.readListBegin();
                this.success = new ArrayList<Order>(_list216.size);
                for (int _i217 = 0; _i217 < _list216.size; ++_i217)
                {
                  Order _elem218; // required
                  _elem218 = new Order();
                  _elem218.read(iprot);
                  this.success.add(_elem218);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (Order _iter219 : this.success)
          {
            _iter219.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getNonDeliveredOrdersbyCourier_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class markOrdersAsLocalConnected_args implements org.apache.thrift.TBase<markOrdersAsLocalConnected_args, markOrdersAsLocalConnected_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("markOrdersAsLocalConnected_args");

    private static final org.apache.thrift.protocol.TField PROVIDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("providerId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField LOCAL_CONNECTED_ORDERS_FIELD_DESC = new org.apache.thrift.protocol.TField("local_connected_orders", org.apache.thrift.protocol.TType.MAP, (short)2);

    private long providerId; // required
    private Map<String,String> local_connected_orders; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      PROVIDER_ID((short)1, "providerId"),
      LOCAL_CONNECTED_ORDERS((short)2, "local_connected_orders");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // PROVIDER_ID
            return PROVIDER_ID;
          case 2: // LOCAL_CONNECTED_ORDERS
            return LOCAL_CONNECTED_ORDERS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __PROVIDERID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.PROVIDER_ID, new org.apache.thrift.meta_data.FieldMetaData("providerId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.LOCAL_CONNECTED_ORDERS, new org.apache.thrift.meta_data.FieldMetaData("local_connected_orders", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING), 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(markOrdersAsLocalConnected_args.class, metaDataMap);
    }

    public markOrdersAsLocalConnected_args() {
    }

    public markOrdersAsLocalConnected_args(
      long providerId,
      Map<String,String> local_connected_orders)
    {
      this();
      this.providerId = providerId;
      setProviderIdIsSet(true);
      this.local_connected_orders = local_connected_orders;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public markOrdersAsLocalConnected_args(markOrdersAsLocalConnected_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.providerId = other.providerId;
      if (other.isSetLocal_connected_orders()) {
        Map<String,String> __this__local_connected_orders = new HashMap<String,String>();
        for (Map.Entry<String, String> other_element : other.local_connected_orders.entrySet()) {

          String other_element_key = other_element.getKey();
          String other_element_value = other_element.getValue();

          String __this__local_connected_orders_copy_key = other_element_key;

          String __this__local_connected_orders_copy_value = other_element_value;

          __this__local_connected_orders.put(__this__local_connected_orders_copy_key, __this__local_connected_orders_copy_value);
        }
        this.local_connected_orders = __this__local_connected_orders;
      }
    }

    public markOrdersAsLocalConnected_args deepCopy() {
      return new markOrdersAsLocalConnected_args(this);
    }

    @Override
    public void clear() {
      setProviderIdIsSet(false);
      this.providerId = 0;
      this.local_connected_orders = null;
    }

    public long getProviderId() {
      return this.providerId;
    }

    public void setProviderId(long providerId) {
      this.providerId = providerId;
      setProviderIdIsSet(true);
    }

    public void unsetProviderId() {
      __isset_bit_vector.clear(__PROVIDERID_ISSET_ID);
    }

    /** Returns true if field providerId is set (has been assigned a value) and false otherwise */
    public boolean isSetProviderId() {
      return __isset_bit_vector.get(__PROVIDERID_ISSET_ID);
    }

    public void setProviderIdIsSet(boolean value) {
      __isset_bit_vector.set(__PROVIDERID_ISSET_ID, value);
    }

    public int getLocal_connected_ordersSize() {
      return (this.local_connected_orders == null) ? 0 : this.local_connected_orders.size();
    }

    public void putToLocal_connected_orders(String key, String val) {
      if (this.local_connected_orders == null) {
        this.local_connected_orders = new HashMap<String,String>();
      }
      this.local_connected_orders.put(key, val);
    }

    public Map<String,String> getLocal_connected_orders() {
      return this.local_connected_orders;
    }

    public void setLocal_connected_orders(Map<String,String> local_connected_orders) {
      this.local_connected_orders = local_connected_orders;
    }

    public void unsetLocal_connected_orders() {
      this.local_connected_orders = null;
    }

    /** Returns true if field local_connected_orders is set (has been assigned a value) and false otherwise */
    public boolean isSetLocal_connected_orders() {
      return this.local_connected_orders != null;
    }

    public void setLocal_connected_ordersIsSet(boolean value) {
      if (!value) {
        this.local_connected_orders = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case PROVIDER_ID:
        if (value == null) {
          unsetProviderId();
        } else {
          setProviderId((Long)value);
        }
        break;

      case LOCAL_CONNECTED_ORDERS:
        if (value == null) {
          unsetLocal_connected_orders();
        } else {
          setLocal_connected_orders((Map<String,String>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case PROVIDER_ID:
        return Long.valueOf(getProviderId());

      case LOCAL_CONNECTED_ORDERS:
        return getLocal_connected_orders();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case PROVIDER_ID:
        return isSetProviderId();
      case LOCAL_CONNECTED_ORDERS:
        return isSetLocal_connected_orders();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof markOrdersAsLocalConnected_args)
        return this.equals((markOrdersAsLocalConnected_args)that);
      return false;
    }

    public boolean equals(markOrdersAsLocalConnected_args that) {
      if (that == null)
        return false;

      boolean this_present_providerId = true;
      boolean that_present_providerId = true;
      if (this_present_providerId || that_present_providerId) {
        if (!(this_present_providerId && that_present_providerId))
          return false;
        if (this.providerId != that.providerId)
          return false;
      }

      boolean this_present_local_connected_orders = true && this.isSetLocal_connected_orders();
      boolean that_present_local_connected_orders = true && that.isSetLocal_connected_orders();
      if (this_present_local_connected_orders || that_present_local_connected_orders) {
        if (!(this_present_local_connected_orders && that_present_local_connected_orders))
          return false;
        if (!this.local_connected_orders.equals(that.local_connected_orders))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(markOrdersAsLocalConnected_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      markOrdersAsLocalConnected_args typedOther = (markOrdersAsLocalConnected_args)other;

      lastComparison = Boolean.valueOf(isSetProviderId()).compareTo(typedOther.isSetProviderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetProviderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.providerId, typedOther.providerId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetLocal_connected_orders()).compareTo(typedOther.isSetLocal_connected_orders());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetLocal_connected_orders()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.local_connected_orders, typedOther.local_connected_orders);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // PROVIDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.providerId = iprot.readI64();
              setProviderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // LOCAL_CONNECTED_ORDERS
            if (field.type == org.apache.thrift.protocol.TType.MAP) {
              {
                org.apache.thrift.protocol.TMap _map220 = iprot.readMapBegin();
                this.local_connected_orders = new HashMap<String,String>(2*_map220.size);
                for (int _i221 = 0; _i221 < _map220.size; ++_i221)
                {
                  String _key222; // required
                  String _val223; // required
                  _key222 = iprot.readString();
                  _val223 = iprot.readString();
                  this.local_connected_orders.put(_key222, _val223);
                }
                iprot.readMapEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(PROVIDER_ID_FIELD_DESC);
      oprot.writeI64(this.providerId);
      oprot.writeFieldEnd();
      if (this.local_connected_orders != null) {
        oprot.writeFieldBegin(LOCAL_CONNECTED_ORDERS_FIELD_DESC);
        {
          oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, this.local_connected_orders.size()));
          for (Map.Entry<String, String> _iter224 : this.local_connected_orders.entrySet())
          {
            oprot.writeString(_iter224.getKey());
            oprot.writeString(_iter224.getValue());
          }
          oprot.writeMapEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("markOrdersAsLocalConnected_args(");
      boolean first = true;

      sb.append("providerId:");
      sb.append(this.providerId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("local_connected_orders:");
      if (this.local_connected_orders == null) {
        sb.append("null");
      } else {
        sb.append(this.local_connected_orders);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class markOrdersAsLocalConnected_result implements org.apache.thrift.TBase<markOrdersAsLocalConnected_result, markOrdersAsLocalConnected_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("markOrdersAsLocalConnected_result");

    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(markOrdersAsLocalConnected_result.class, metaDataMap);
    }

    public markOrdersAsLocalConnected_result() {
    }

    public markOrdersAsLocalConnected_result(
      TransactionServiceException ex)
    {
      this();
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public markOrdersAsLocalConnected_result(markOrdersAsLocalConnected_result other) {
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public markOrdersAsLocalConnected_result deepCopy() {
      return new markOrdersAsLocalConnected_result(this);
    }

    @Override
    public void clear() {
      this.ex = null;
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof markOrdersAsLocalConnected_result)
        return this.equals((markOrdersAsLocalConnected_result)that);
      return false;
    }

    public boolean equals(markOrdersAsLocalConnected_result that) {
      if (that == null)
        return false;

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(markOrdersAsLocalConnected_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      markOrdersAsLocalConnected_result typedOther = (markOrdersAsLocalConnected_result)other;

      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("markOrdersAsLocalConnected_result(");
      boolean first = true;

      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getOrdersNotLocalConnected_args implements org.apache.thrift.TBase<getOrdersNotLocalConnected_args, getOrdersNotLocalConnected_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getOrdersNotLocalConnected_args");

    private static final org.apache.thrift.protocol.TField PROVIDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("providerId", org.apache.thrift.protocol.TType.I64, (short)1);

    private long providerId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      PROVIDER_ID((short)1, "providerId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // PROVIDER_ID
            return PROVIDER_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __PROVIDERID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.PROVIDER_ID, new org.apache.thrift.meta_data.FieldMetaData("providerId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getOrdersNotLocalConnected_args.class, metaDataMap);
    }

    public getOrdersNotLocalConnected_args() {
    }

    public getOrdersNotLocalConnected_args(
      long providerId)
    {
      this();
      this.providerId = providerId;
      setProviderIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getOrdersNotLocalConnected_args(getOrdersNotLocalConnected_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.providerId = other.providerId;
    }

    public getOrdersNotLocalConnected_args deepCopy() {
      return new getOrdersNotLocalConnected_args(this);
    }

    @Override
    public void clear() {
      setProviderIdIsSet(false);
      this.providerId = 0;
    }

    public long getProviderId() {
      return this.providerId;
    }

    public void setProviderId(long providerId) {
      this.providerId = providerId;
      setProviderIdIsSet(true);
    }

    public void unsetProviderId() {
      __isset_bit_vector.clear(__PROVIDERID_ISSET_ID);
    }

    /** Returns true if field providerId is set (has been assigned a value) and false otherwise */
    public boolean isSetProviderId() {
      return __isset_bit_vector.get(__PROVIDERID_ISSET_ID);
    }

    public void setProviderIdIsSet(boolean value) {
      __isset_bit_vector.set(__PROVIDERID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case PROVIDER_ID:
        if (value == null) {
          unsetProviderId();
        } else {
          setProviderId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case PROVIDER_ID:
        return Long.valueOf(getProviderId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case PROVIDER_ID:
        return isSetProviderId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getOrdersNotLocalConnected_args)
        return this.equals((getOrdersNotLocalConnected_args)that);
      return false;
    }

    public boolean equals(getOrdersNotLocalConnected_args that) {
      if (that == null)
        return false;

      boolean this_present_providerId = true;
      boolean that_present_providerId = true;
      if (this_present_providerId || that_present_providerId) {
        if (!(this_present_providerId && that_present_providerId))
          return false;
        if (this.providerId != that.providerId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getOrdersNotLocalConnected_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getOrdersNotLocalConnected_args typedOther = (getOrdersNotLocalConnected_args)other;

      lastComparison = Boolean.valueOf(isSetProviderId()).compareTo(typedOther.isSetProviderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetProviderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.providerId, typedOther.providerId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // PROVIDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.providerId = iprot.readI64();
              setProviderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(PROVIDER_ID_FIELD_DESC);
      oprot.writeI64(this.providerId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getOrdersNotLocalConnected_args(");
      boolean first = true;

      sb.append("providerId:");
      sb.append(this.providerId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getOrdersNotLocalConnected_result implements org.apache.thrift.TBase<getOrdersNotLocalConnected_result, getOrdersNotLocalConnected_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getOrdersNotLocalConnected_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);

    private List<Order> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Order.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getOrdersNotLocalConnected_result.class, metaDataMap);
    }

    public getOrdersNotLocalConnected_result() {
    }

    public getOrdersNotLocalConnected_result(
      List<Order> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getOrdersNotLocalConnected_result(getOrdersNotLocalConnected_result other) {
      if (other.isSetSuccess()) {
        List<Order> __this__success = new ArrayList<Order>();
        for (Order other_element : other.success) {
          __this__success.add(new Order(other_element));
        }
        this.success = __this__success;
      }
    }

    public getOrdersNotLocalConnected_result deepCopy() {
      return new getOrdersNotLocalConnected_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<Order> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(Order elem) {
      if (this.success == null) {
        this.success = new ArrayList<Order>();
      }
      this.success.add(elem);
    }

    public List<Order> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<Order> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<Order>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getOrdersNotLocalConnected_result)
        return this.equals((getOrdersNotLocalConnected_result)that);
      return false;
    }

    public boolean equals(getOrdersNotLocalConnected_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getOrdersNotLocalConnected_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getOrdersNotLocalConnected_result typedOther = (getOrdersNotLocalConnected_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list225 = iprot.readListBegin();
                this.success = new ArrayList<Order>(_list225.size);
                for (int _i226 = 0; _i226 < _list225.size; ++_i226)
                {
                  Order _elem227; // required
                  _elem227 = new Order();
                  _elem227.read(iprot);
                  this.success.add(_elem227);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (Order _iter228 : this.success)
          {
            _iter228.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getOrdersNotLocalConnected_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class markOrdersAsDestinationCityReached_args implements org.apache.thrift.TBase<markOrdersAsDestinationCityReached_args, markOrdersAsDestinationCityReached_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("markOrdersAsDestinationCityReached_args");

    private static final org.apache.thrift.protocol.TField PROVIDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("providerId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField DESTINATION_CITY_REACHED_ORDERS_FIELD_DESC = new org.apache.thrift.protocol.TField("destination_city_reached_orders", org.apache.thrift.protocol.TType.MAP, (short)2);

    private long providerId; // required
    private Map<String,String> destination_city_reached_orders; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      PROVIDER_ID((short)1, "providerId"),
      DESTINATION_CITY_REACHED_ORDERS((short)2, "destination_city_reached_orders");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // PROVIDER_ID
            return PROVIDER_ID;
          case 2: // DESTINATION_CITY_REACHED_ORDERS
            return DESTINATION_CITY_REACHED_ORDERS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __PROVIDERID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.PROVIDER_ID, new org.apache.thrift.meta_data.FieldMetaData("providerId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.DESTINATION_CITY_REACHED_ORDERS, new org.apache.thrift.meta_data.FieldMetaData("destination_city_reached_orders", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING), 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(markOrdersAsDestinationCityReached_args.class, metaDataMap);
    }

    public markOrdersAsDestinationCityReached_args() {
    }

    public markOrdersAsDestinationCityReached_args(
      long providerId,
      Map<String,String> destination_city_reached_orders)
    {
      this();
      this.providerId = providerId;
      setProviderIdIsSet(true);
      this.destination_city_reached_orders = destination_city_reached_orders;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public markOrdersAsDestinationCityReached_args(markOrdersAsDestinationCityReached_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.providerId = other.providerId;
      if (other.isSetDestination_city_reached_orders()) {
        Map<String,String> __this__destination_city_reached_orders = new HashMap<String,String>();
        for (Map.Entry<String, String> other_element : other.destination_city_reached_orders.entrySet()) {

          String other_element_key = other_element.getKey();
          String other_element_value = other_element.getValue();

          String __this__destination_city_reached_orders_copy_key = other_element_key;

          String __this__destination_city_reached_orders_copy_value = other_element_value;

          __this__destination_city_reached_orders.put(__this__destination_city_reached_orders_copy_key, __this__destination_city_reached_orders_copy_value);
        }
        this.destination_city_reached_orders = __this__destination_city_reached_orders;
      }
    }

    public markOrdersAsDestinationCityReached_args deepCopy() {
      return new markOrdersAsDestinationCityReached_args(this);
    }

    @Override
    public void clear() {
      setProviderIdIsSet(false);
      this.providerId = 0;
      this.destination_city_reached_orders = null;
    }

    public long getProviderId() {
      return this.providerId;
    }

    public void setProviderId(long providerId) {
      this.providerId = providerId;
      setProviderIdIsSet(true);
    }

    public void unsetProviderId() {
      __isset_bit_vector.clear(__PROVIDERID_ISSET_ID);
    }

    /** Returns true if field providerId is set (has been assigned a value) and false otherwise */
    public boolean isSetProviderId() {
      return __isset_bit_vector.get(__PROVIDERID_ISSET_ID);
    }

    public void setProviderIdIsSet(boolean value) {
      __isset_bit_vector.set(__PROVIDERID_ISSET_ID, value);
    }

    public int getDestination_city_reached_ordersSize() {
      return (this.destination_city_reached_orders == null) ? 0 : this.destination_city_reached_orders.size();
    }

    public void putToDestination_city_reached_orders(String key, String val) {
      if (this.destination_city_reached_orders == null) {
        this.destination_city_reached_orders = new HashMap<String,String>();
      }
      this.destination_city_reached_orders.put(key, val);
    }

    public Map<String,String> getDestination_city_reached_orders() {
      return this.destination_city_reached_orders;
    }

    public void setDestination_city_reached_orders(Map<String,String> destination_city_reached_orders) {
      this.destination_city_reached_orders = destination_city_reached_orders;
    }

    public void unsetDestination_city_reached_orders() {
      this.destination_city_reached_orders = null;
    }

    /** Returns true if field destination_city_reached_orders is set (has been assigned a value) and false otherwise */
    public boolean isSetDestination_city_reached_orders() {
      return this.destination_city_reached_orders != null;
    }

    public void setDestination_city_reached_ordersIsSet(boolean value) {
      if (!value) {
        this.destination_city_reached_orders = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case PROVIDER_ID:
        if (value == null) {
          unsetProviderId();
        } else {
          setProviderId((Long)value);
        }
        break;

      case DESTINATION_CITY_REACHED_ORDERS:
        if (value == null) {
          unsetDestination_city_reached_orders();
        } else {
          setDestination_city_reached_orders((Map<String,String>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case PROVIDER_ID:
        return Long.valueOf(getProviderId());

      case DESTINATION_CITY_REACHED_ORDERS:
        return getDestination_city_reached_orders();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case PROVIDER_ID:
        return isSetProviderId();
      case DESTINATION_CITY_REACHED_ORDERS:
        return isSetDestination_city_reached_orders();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof markOrdersAsDestinationCityReached_args)
        return this.equals((markOrdersAsDestinationCityReached_args)that);
      return false;
    }

    public boolean equals(markOrdersAsDestinationCityReached_args that) {
      if (that == null)
        return false;

      boolean this_present_providerId = true;
      boolean that_present_providerId = true;
      if (this_present_providerId || that_present_providerId) {
        if (!(this_present_providerId && that_present_providerId))
          return false;
        if (this.providerId != that.providerId)
          return false;
      }

      boolean this_present_destination_city_reached_orders = true && this.isSetDestination_city_reached_orders();
      boolean that_present_destination_city_reached_orders = true && that.isSetDestination_city_reached_orders();
      if (this_present_destination_city_reached_orders || that_present_destination_city_reached_orders) {
        if (!(this_present_destination_city_reached_orders && that_present_destination_city_reached_orders))
          return false;
        if (!this.destination_city_reached_orders.equals(that.destination_city_reached_orders))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(markOrdersAsDestinationCityReached_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      markOrdersAsDestinationCityReached_args typedOther = (markOrdersAsDestinationCityReached_args)other;

      lastComparison = Boolean.valueOf(isSetProviderId()).compareTo(typedOther.isSetProviderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetProviderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.providerId, typedOther.providerId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetDestination_city_reached_orders()).compareTo(typedOther.isSetDestination_city_reached_orders());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetDestination_city_reached_orders()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.destination_city_reached_orders, typedOther.destination_city_reached_orders);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // PROVIDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.providerId = iprot.readI64();
              setProviderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // DESTINATION_CITY_REACHED_ORDERS
            if (field.type == org.apache.thrift.protocol.TType.MAP) {
              {
                org.apache.thrift.protocol.TMap _map229 = iprot.readMapBegin();
                this.destination_city_reached_orders = new HashMap<String,String>(2*_map229.size);
                for (int _i230 = 0; _i230 < _map229.size; ++_i230)
                {
                  String _key231; // required
                  String _val232; // required
                  _key231 = iprot.readString();
                  _val232 = iprot.readString();
                  this.destination_city_reached_orders.put(_key231, _val232);
                }
                iprot.readMapEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(PROVIDER_ID_FIELD_DESC);
      oprot.writeI64(this.providerId);
      oprot.writeFieldEnd();
      if (this.destination_city_reached_orders != null) {
        oprot.writeFieldBegin(DESTINATION_CITY_REACHED_ORDERS_FIELD_DESC);
        {
          oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, this.destination_city_reached_orders.size()));
          for (Map.Entry<String, String> _iter233 : this.destination_city_reached_orders.entrySet())
          {
            oprot.writeString(_iter233.getKey());
            oprot.writeString(_iter233.getValue());
          }
          oprot.writeMapEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("markOrdersAsDestinationCityReached_args(");
      boolean first = true;

      sb.append("providerId:");
      sb.append(this.providerId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("destination_city_reached_orders:");
      if (this.destination_city_reached_orders == null) {
        sb.append("null");
      } else {
        sb.append(this.destination_city_reached_orders);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class markOrdersAsDestinationCityReached_result implements org.apache.thrift.TBase<markOrdersAsDestinationCityReached_result, markOrdersAsDestinationCityReached_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("markOrdersAsDestinationCityReached_result");

    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(markOrdersAsDestinationCityReached_result.class, metaDataMap);
    }

    public markOrdersAsDestinationCityReached_result() {
    }

    public markOrdersAsDestinationCityReached_result(
      TransactionServiceException ex)
    {
      this();
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public markOrdersAsDestinationCityReached_result(markOrdersAsDestinationCityReached_result other) {
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public markOrdersAsDestinationCityReached_result deepCopy() {
      return new markOrdersAsDestinationCityReached_result(this);
    }

    @Override
    public void clear() {
      this.ex = null;
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof markOrdersAsDestinationCityReached_result)
        return this.equals((markOrdersAsDestinationCityReached_result)that);
      return false;
    }

    public boolean equals(markOrdersAsDestinationCityReached_result that) {
      if (that == null)
        return false;

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(markOrdersAsDestinationCityReached_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      markOrdersAsDestinationCityReached_result typedOther = (markOrdersAsDestinationCityReached_result)other;

      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("markOrdersAsDestinationCityReached_result(");
      boolean first = true;

      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class markOrdersAsFirstDeliveryAttempted_args implements org.apache.thrift.TBase<markOrdersAsFirstDeliveryAttempted_args, markOrdersAsFirstDeliveryAttempted_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("markOrdersAsFirstDeliveryAttempted_args");

    private static final org.apache.thrift.protocol.TField PROVIDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("providerId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField FIRST_ATDL_ORDERS_FIELD_DESC = new org.apache.thrift.protocol.TField("first_atdl_orders", org.apache.thrift.protocol.TType.MAP, (short)2);

    private long providerId; // required
    private Map<String,String> first_atdl_orders; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      PROVIDER_ID((short)1, "providerId"),
      FIRST_ATDL_ORDERS((short)2, "first_atdl_orders");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // PROVIDER_ID
            return PROVIDER_ID;
          case 2: // FIRST_ATDL_ORDERS
            return FIRST_ATDL_ORDERS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __PROVIDERID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.PROVIDER_ID, new org.apache.thrift.meta_data.FieldMetaData("providerId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.FIRST_ATDL_ORDERS, new org.apache.thrift.meta_data.FieldMetaData("first_atdl_orders", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING), 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(markOrdersAsFirstDeliveryAttempted_args.class, metaDataMap);
    }

    public markOrdersAsFirstDeliveryAttempted_args() {
    }

    public markOrdersAsFirstDeliveryAttempted_args(
      long providerId,
      Map<String,String> first_atdl_orders)
    {
      this();
      this.providerId = providerId;
      setProviderIdIsSet(true);
      this.first_atdl_orders = first_atdl_orders;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public markOrdersAsFirstDeliveryAttempted_args(markOrdersAsFirstDeliveryAttempted_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.providerId = other.providerId;
      if (other.isSetFirst_atdl_orders()) {
        Map<String,String> __this__first_atdl_orders = new HashMap<String,String>();
        for (Map.Entry<String, String> other_element : other.first_atdl_orders.entrySet()) {

          String other_element_key = other_element.getKey();
          String other_element_value = other_element.getValue();

          String __this__first_atdl_orders_copy_key = other_element_key;

          String __this__first_atdl_orders_copy_value = other_element_value;

          __this__first_atdl_orders.put(__this__first_atdl_orders_copy_key, __this__first_atdl_orders_copy_value);
        }
        this.first_atdl_orders = __this__first_atdl_orders;
      }
    }

    public markOrdersAsFirstDeliveryAttempted_args deepCopy() {
      return new markOrdersAsFirstDeliveryAttempted_args(this);
    }

    @Override
    public void clear() {
      setProviderIdIsSet(false);
      this.providerId = 0;
      this.first_atdl_orders = null;
    }

    public long getProviderId() {
      return this.providerId;
    }

    public void setProviderId(long providerId) {
      this.providerId = providerId;
      setProviderIdIsSet(true);
    }

    public void unsetProviderId() {
      __isset_bit_vector.clear(__PROVIDERID_ISSET_ID);
    }

    /** Returns true if field providerId is set (has been assigned a value) and false otherwise */
    public boolean isSetProviderId() {
      return __isset_bit_vector.get(__PROVIDERID_ISSET_ID);
    }

    public void setProviderIdIsSet(boolean value) {
      __isset_bit_vector.set(__PROVIDERID_ISSET_ID, value);
    }

    public int getFirst_atdl_ordersSize() {
      return (this.first_atdl_orders == null) ? 0 : this.first_atdl_orders.size();
    }

    public void putToFirst_atdl_orders(String key, String val) {
      if (this.first_atdl_orders == null) {
        this.first_atdl_orders = new HashMap<String,String>();
      }
      this.first_atdl_orders.put(key, val);
    }

    public Map<String,String> getFirst_atdl_orders() {
      return this.first_atdl_orders;
    }

    public void setFirst_atdl_orders(Map<String,String> first_atdl_orders) {
      this.first_atdl_orders = first_atdl_orders;
    }

    public void unsetFirst_atdl_orders() {
      this.first_atdl_orders = null;
    }

    /** Returns true if field first_atdl_orders is set (has been assigned a value) and false otherwise */
    public boolean isSetFirst_atdl_orders() {
      return this.first_atdl_orders != null;
    }

    public void setFirst_atdl_ordersIsSet(boolean value) {
      if (!value) {
        this.first_atdl_orders = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case PROVIDER_ID:
        if (value == null) {
          unsetProviderId();
        } else {
          setProviderId((Long)value);
        }
        break;

      case FIRST_ATDL_ORDERS:
        if (value == null) {
          unsetFirst_atdl_orders();
        } else {
          setFirst_atdl_orders((Map<String,String>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case PROVIDER_ID:
        return Long.valueOf(getProviderId());

      case FIRST_ATDL_ORDERS:
        return getFirst_atdl_orders();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case PROVIDER_ID:
        return isSetProviderId();
      case FIRST_ATDL_ORDERS:
        return isSetFirst_atdl_orders();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof markOrdersAsFirstDeliveryAttempted_args)
        return this.equals((markOrdersAsFirstDeliveryAttempted_args)that);
      return false;
    }

    public boolean equals(markOrdersAsFirstDeliveryAttempted_args that) {
      if (that == null)
        return false;

      boolean this_present_providerId = true;
      boolean that_present_providerId = true;
      if (this_present_providerId || that_present_providerId) {
        if (!(this_present_providerId && that_present_providerId))
          return false;
        if (this.providerId != that.providerId)
          return false;
      }

      boolean this_present_first_atdl_orders = true && this.isSetFirst_atdl_orders();
      boolean that_present_first_atdl_orders = true && that.isSetFirst_atdl_orders();
      if (this_present_first_atdl_orders || that_present_first_atdl_orders) {
        if (!(this_present_first_atdl_orders && that_present_first_atdl_orders))
          return false;
        if (!this.first_atdl_orders.equals(that.first_atdl_orders))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(markOrdersAsFirstDeliveryAttempted_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      markOrdersAsFirstDeliveryAttempted_args typedOther = (markOrdersAsFirstDeliveryAttempted_args)other;

      lastComparison = Boolean.valueOf(isSetProviderId()).compareTo(typedOther.isSetProviderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetProviderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.providerId, typedOther.providerId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetFirst_atdl_orders()).compareTo(typedOther.isSetFirst_atdl_orders());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetFirst_atdl_orders()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.first_atdl_orders, typedOther.first_atdl_orders);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // PROVIDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.providerId = iprot.readI64();
              setProviderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // FIRST_ATDL_ORDERS
            if (field.type == org.apache.thrift.protocol.TType.MAP) {
              {
                org.apache.thrift.protocol.TMap _map234 = iprot.readMapBegin();
                this.first_atdl_orders = new HashMap<String,String>(2*_map234.size);
                for (int _i235 = 0; _i235 < _map234.size; ++_i235)
                {
                  String _key236; // required
                  String _val237; // required
                  _key236 = iprot.readString();
                  _val237 = iprot.readString();
                  this.first_atdl_orders.put(_key236, _val237);
                }
                iprot.readMapEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(PROVIDER_ID_FIELD_DESC);
      oprot.writeI64(this.providerId);
      oprot.writeFieldEnd();
      if (this.first_atdl_orders != null) {
        oprot.writeFieldBegin(FIRST_ATDL_ORDERS_FIELD_DESC);
        {
          oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, this.first_atdl_orders.size()));
          for (Map.Entry<String, String> _iter238 : this.first_atdl_orders.entrySet())
          {
            oprot.writeString(_iter238.getKey());
            oprot.writeString(_iter238.getValue());
          }
          oprot.writeMapEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("markOrdersAsFirstDeliveryAttempted_args(");
      boolean first = true;

      sb.append("providerId:");
      sb.append(this.providerId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("first_atdl_orders:");
      if (this.first_atdl_orders == null) {
        sb.append("null");
      } else {
        sb.append(this.first_atdl_orders);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class markOrdersAsFirstDeliveryAttempted_result implements org.apache.thrift.TBase<markOrdersAsFirstDeliveryAttempted_result, markOrdersAsFirstDeliveryAttempted_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("markOrdersAsFirstDeliveryAttempted_result");

    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(markOrdersAsFirstDeliveryAttempted_result.class, metaDataMap);
    }

    public markOrdersAsFirstDeliveryAttempted_result() {
    }

    public markOrdersAsFirstDeliveryAttempted_result(
      TransactionServiceException ex)
    {
      this();
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public markOrdersAsFirstDeliveryAttempted_result(markOrdersAsFirstDeliveryAttempted_result other) {
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public markOrdersAsFirstDeliveryAttempted_result deepCopy() {
      return new markOrdersAsFirstDeliveryAttempted_result(this);
    }

    @Override
    public void clear() {
      this.ex = null;
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof markOrdersAsFirstDeliveryAttempted_result)
        return this.equals((markOrdersAsFirstDeliveryAttempted_result)that);
      return false;
    }

    public boolean equals(markOrdersAsFirstDeliveryAttempted_result that) {
      if (that == null)
        return false;

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(markOrdersAsFirstDeliveryAttempted_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      markOrdersAsFirstDeliveryAttempted_result typedOther = (markOrdersAsFirstDeliveryAttempted_result)other;

      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("markOrdersAsFirstDeliveryAttempted_result(");
      boolean first = true;

      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getUndeliveredOrders_args implements org.apache.thrift.TBase<getUndeliveredOrders_args, getUndeliveredOrders_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getUndeliveredOrders_args");

    private static final org.apache.thrift.protocol.TField PROVIDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("providerId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField WAREHOUSE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("warehouseId", org.apache.thrift.protocol.TType.I64, (short)2);

    private long providerId; // required
    private long warehouseId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      PROVIDER_ID((short)1, "providerId"),
      WAREHOUSE_ID((short)2, "warehouseId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // PROVIDER_ID
            return PROVIDER_ID;
          case 2: // WAREHOUSE_ID
            return WAREHOUSE_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __PROVIDERID_ISSET_ID = 0;
    private static final int __WAREHOUSEID_ISSET_ID = 1;
    private BitSet __isset_bit_vector = new BitSet(2);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.PROVIDER_ID, new org.apache.thrift.meta_data.FieldMetaData("providerId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.WAREHOUSE_ID, new org.apache.thrift.meta_data.FieldMetaData("warehouseId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getUndeliveredOrders_args.class, metaDataMap);
    }

    public getUndeliveredOrders_args() {
    }

    public getUndeliveredOrders_args(
      long providerId,
      long warehouseId)
    {
      this();
      this.providerId = providerId;
      setProviderIdIsSet(true);
      this.warehouseId = warehouseId;
      setWarehouseIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getUndeliveredOrders_args(getUndeliveredOrders_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.providerId = other.providerId;
      this.warehouseId = other.warehouseId;
    }

    public getUndeliveredOrders_args deepCopy() {
      return new getUndeliveredOrders_args(this);
    }

    @Override
    public void clear() {
      setProviderIdIsSet(false);
      this.providerId = 0;
      setWarehouseIdIsSet(false);
      this.warehouseId = 0;
    }

    public long getProviderId() {
      return this.providerId;
    }

    public void setProviderId(long providerId) {
      this.providerId = providerId;
      setProviderIdIsSet(true);
    }

    public void unsetProviderId() {
      __isset_bit_vector.clear(__PROVIDERID_ISSET_ID);
    }

    /** Returns true if field providerId is set (has been assigned a value) and false otherwise */
    public boolean isSetProviderId() {
      return __isset_bit_vector.get(__PROVIDERID_ISSET_ID);
    }

    public void setProviderIdIsSet(boolean value) {
      __isset_bit_vector.set(__PROVIDERID_ISSET_ID, value);
    }

    public long getWarehouseId() {
      return this.warehouseId;
    }

    public void setWarehouseId(long warehouseId) {
      this.warehouseId = warehouseId;
      setWarehouseIdIsSet(true);
    }

    public void unsetWarehouseId() {
      __isset_bit_vector.clear(__WAREHOUSEID_ISSET_ID);
    }

    /** Returns true if field warehouseId is set (has been assigned a value) and false otherwise */
    public boolean isSetWarehouseId() {
      return __isset_bit_vector.get(__WAREHOUSEID_ISSET_ID);
    }

    public void setWarehouseIdIsSet(boolean value) {
      __isset_bit_vector.set(__WAREHOUSEID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case PROVIDER_ID:
        if (value == null) {
          unsetProviderId();
        } else {
          setProviderId((Long)value);
        }
        break;

      case WAREHOUSE_ID:
        if (value == null) {
          unsetWarehouseId();
        } else {
          setWarehouseId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case PROVIDER_ID:
        return Long.valueOf(getProviderId());

      case WAREHOUSE_ID:
        return Long.valueOf(getWarehouseId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case PROVIDER_ID:
        return isSetProviderId();
      case WAREHOUSE_ID:
        return isSetWarehouseId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getUndeliveredOrders_args)
        return this.equals((getUndeliveredOrders_args)that);
      return false;
    }

    public boolean equals(getUndeliveredOrders_args that) {
      if (that == null)
        return false;

      boolean this_present_providerId = true;
      boolean that_present_providerId = true;
      if (this_present_providerId || that_present_providerId) {
        if (!(this_present_providerId && that_present_providerId))
          return false;
        if (this.providerId != that.providerId)
          return false;
      }

      boolean this_present_warehouseId = true;
      boolean that_present_warehouseId = true;
      if (this_present_warehouseId || that_present_warehouseId) {
        if (!(this_present_warehouseId && that_present_warehouseId))
          return false;
        if (this.warehouseId != that.warehouseId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getUndeliveredOrders_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getUndeliveredOrders_args typedOther = (getUndeliveredOrders_args)other;

      lastComparison = Boolean.valueOf(isSetProviderId()).compareTo(typedOther.isSetProviderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetProviderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.providerId, typedOther.providerId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetWarehouseId()).compareTo(typedOther.isSetWarehouseId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetWarehouseId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.warehouseId, typedOther.warehouseId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // PROVIDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.providerId = iprot.readI64();
              setProviderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // WAREHOUSE_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.warehouseId = iprot.readI64();
              setWarehouseIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(PROVIDER_ID_FIELD_DESC);
      oprot.writeI64(this.providerId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(WAREHOUSE_ID_FIELD_DESC);
      oprot.writeI64(this.warehouseId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getUndeliveredOrders_args(");
      boolean first = true;

      sb.append("providerId:");
      sb.append(this.providerId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("warehouseId:");
      sb.append(this.warehouseId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getUndeliveredOrders_result implements org.apache.thrift.TBase<getUndeliveredOrders_result, getUndeliveredOrders_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getUndeliveredOrders_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);

    private List<Order> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Order.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getUndeliveredOrders_result.class, metaDataMap);
    }

    public getUndeliveredOrders_result() {
    }

    public getUndeliveredOrders_result(
      List<Order> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getUndeliveredOrders_result(getUndeliveredOrders_result other) {
      if (other.isSetSuccess()) {
        List<Order> __this__success = new ArrayList<Order>();
        for (Order other_element : other.success) {
          __this__success.add(new Order(other_element));
        }
        this.success = __this__success;
      }
    }

    public getUndeliveredOrders_result deepCopy() {
      return new getUndeliveredOrders_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<Order> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(Order elem) {
      if (this.success == null) {
        this.success = new ArrayList<Order>();
      }
      this.success.add(elem);
    }

    public List<Order> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<Order> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<Order>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getUndeliveredOrders_result)
        return this.equals((getUndeliveredOrders_result)that);
      return false;
    }

    public boolean equals(getUndeliveredOrders_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getUndeliveredOrders_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getUndeliveredOrders_result typedOther = (getUndeliveredOrders_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list239 = iprot.readListBegin();
                this.success = new ArrayList<Order>(_list239.size);
                for (int _i240 = 0; _i240 < _list239.size; ++_i240)
                {
                  Order _elem241; // required
                  _elem241 = new Order();
                  _elem241.read(iprot);
                  this.success.add(_elem241);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (Order _iter242 : this.success)
          {
            _iter242.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getUndeliveredOrders_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getUndeliveredOrdersExpectedDeliveryDateNotMet_args implements org.apache.thrift.TBase<getUndeliveredOrdersExpectedDeliveryDateNotMet_args, getUndeliveredOrdersExpectedDeliveryDateNotMet_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getUndeliveredOrdersExpectedDeliveryDateNotMet_args");



    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
;

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getUndeliveredOrdersExpectedDeliveryDateNotMet_args.class, metaDataMap);
    }

    public getUndeliveredOrdersExpectedDeliveryDateNotMet_args() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getUndeliveredOrdersExpectedDeliveryDateNotMet_args(getUndeliveredOrdersExpectedDeliveryDateNotMet_args other) {
    }

    public getUndeliveredOrdersExpectedDeliveryDateNotMet_args deepCopy() {
      return new getUndeliveredOrdersExpectedDeliveryDateNotMet_args(this);
    }

    @Override
    public void clear() {
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getUndeliveredOrdersExpectedDeliveryDateNotMet_args)
        return this.equals((getUndeliveredOrdersExpectedDeliveryDateNotMet_args)that);
      return false;
    }

    public boolean equals(getUndeliveredOrdersExpectedDeliveryDateNotMet_args that) {
      if (that == null)
        return false;

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getUndeliveredOrdersExpectedDeliveryDateNotMet_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getUndeliveredOrdersExpectedDeliveryDateNotMet_args typedOther = (getUndeliveredOrdersExpectedDeliveryDateNotMet_args)other;

      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getUndeliveredOrdersExpectedDeliveryDateNotMet_args(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getUndeliveredOrdersExpectedDeliveryDateNotMet_result implements org.apache.thrift.TBase<getUndeliveredOrdersExpectedDeliveryDateNotMet_result, getUndeliveredOrdersExpectedDeliveryDateNotMet_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getUndeliveredOrdersExpectedDeliveryDateNotMet_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);

    private List<Order> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Order.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getUndeliveredOrdersExpectedDeliveryDateNotMet_result.class, metaDataMap);
    }

    public getUndeliveredOrdersExpectedDeliveryDateNotMet_result() {
    }

    public getUndeliveredOrdersExpectedDeliveryDateNotMet_result(
      List<Order> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getUndeliveredOrdersExpectedDeliveryDateNotMet_result(getUndeliveredOrdersExpectedDeliveryDateNotMet_result other) {
      if (other.isSetSuccess()) {
        List<Order> __this__success = new ArrayList<Order>();
        for (Order other_element : other.success) {
          __this__success.add(new Order(other_element));
        }
        this.success = __this__success;
      }
    }

    public getUndeliveredOrdersExpectedDeliveryDateNotMet_result deepCopy() {
      return new getUndeliveredOrdersExpectedDeliveryDateNotMet_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<Order> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(Order elem) {
      if (this.success == null) {
        this.success = new ArrayList<Order>();
      }
      this.success.add(elem);
    }

    public List<Order> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<Order> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<Order>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getUndeliveredOrdersExpectedDeliveryDateNotMet_result)
        return this.equals((getUndeliveredOrdersExpectedDeliveryDateNotMet_result)that);
      return false;
    }

    public boolean equals(getUndeliveredOrdersExpectedDeliveryDateNotMet_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getUndeliveredOrdersExpectedDeliveryDateNotMet_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getUndeliveredOrdersExpectedDeliveryDateNotMet_result typedOther = (getUndeliveredOrdersExpectedDeliveryDateNotMet_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list243 = iprot.readListBegin();
                this.success = new ArrayList<Order>(_list243.size);
                for (int _i244 = 0; _i244 < _list243.size; ++_i244)
                {
                  Order _elem245; // required
                  _elem245 = new Order();
                  _elem245.read(iprot);
                  this.success.add(_elem245);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (Order _iter246 : this.success)
          {
            _iter246.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getUndeliveredOrdersExpectedDeliveryDateNotMet_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class toggleDOAFlag_args implements org.apache.thrift.TBase<toggleDOAFlag_args, toggleDOAFlag_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("toggleDOAFlag_args");

    private static final org.apache.thrift.protocol.TField ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("orderId", org.apache.thrift.protocol.TType.I64, (short)1);

    private long orderId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ORDER_ID((short)1, "orderId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ORDER_ID
            return ORDER_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ORDERID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("orderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(toggleDOAFlag_args.class, metaDataMap);
    }

    public toggleDOAFlag_args() {
    }

    public toggleDOAFlag_args(
      long orderId)
    {
      this();
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public toggleDOAFlag_args(toggleDOAFlag_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.orderId = other.orderId;
    }

    public toggleDOAFlag_args deepCopy() {
      return new toggleDOAFlag_args(this);
    }

    @Override
    public void clear() {
      setOrderIdIsSet(false);
      this.orderId = 0;
    }

    public long getOrderId() {
      return this.orderId;
    }

    public void setOrderId(long orderId) {
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    public void unsetOrderId() {
      __isset_bit_vector.clear(__ORDERID_ISSET_ID);
    }

    /** Returns true if field orderId is set (has been assigned a value) and false otherwise */
    public boolean isSetOrderId() {
      return __isset_bit_vector.get(__ORDERID_ISSET_ID);
    }

    public void setOrderIdIsSet(boolean value) {
      __isset_bit_vector.set(__ORDERID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ORDER_ID:
        if (value == null) {
          unsetOrderId();
        } else {
          setOrderId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ORDER_ID:
        return Long.valueOf(getOrderId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ORDER_ID:
        return isSetOrderId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof toggleDOAFlag_args)
        return this.equals((toggleDOAFlag_args)that);
      return false;
    }

    public boolean equals(toggleDOAFlag_args that) {
      if (that == null)
        return false;

      boolean this_present_orderId = true;
      boolean that_present_orderId = true;
      if (this_present_orderId || that_present_orderId) {
        if (!(this_present_orderId && that_present_orderId))
          return false;
        if (this.orderId != that.orderId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(toggleDOAFlag_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      toggleDOAFlag_args typedOther = (toggleDOAFlag_args)other;

      lastComparison = Boolean.valueOf(isSetOrderId()).compareTo(typedOther.isSetOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.orderId, typedOther.orderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.orderId = iprot.readI64();
              setOrderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ORDER_ID_FIELD_DESC);
      oprot.writeI64(this.orderId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("toggleDOAFlag_args(");
      boolean first = true;

      sb.append("orderId:");
      sb.append(this.orderId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class toggleDOAFlag_result implements org.apache.thrift.TBase<toggleDOAFlag_result, toggleDOAFlag_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("toggleDOAFlag_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private boolean success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(toggleDOAFlag_result.class, metaDataMap);
    }

    public toggleDOAFlag_result() {
    }

    public toggleDOAFlag_result(
      boolean success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public toggleDOAFlag_result(toggleDOAFlag_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public toggleDOAFlag_result deepCopy() {
      return new toggleDOAFlag_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = false;
      this.ex = null;
    }

    public boolean isSuccess() {
      return this.success;
    }

    public void setSuccess(boolean success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Boolean.valueOf(isSuccess());

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof toggleDOAFlag_result)
        return this.equals((toggleDOAFlag_result)that);
      return false;
    }

    public boolean equals(toggleDOAFlag_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(toggleDOAFlag_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      toggleDOAFlag_result typedOther = (toggleDOAFlag_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.success = iprot.readBool();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBool(this.success);
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("toggleDOAFlag_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class markOrderAsDelivered_args implements org.apache.thrift.TBase<markOrderAsDelivered_args, markOrderAsDelivered_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("markOrderAsDelivered_args");

    private static final org.apache.thrift.protocol.TField ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("orderId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField DELIVERY_TIMESTAMP_FIELD_DESC = new org.apache.thrift.protocol.TField("deliveryTimestamp", org.apache.thrift.protocol.TType.I64, (short)2);
    private static final org.apache.thrift.protocol.TField RECEIVER_FIELD_DESC = new org.apache.thrift.protocol.TField("receiver", org.apache.thrift.protocol.TType.STRING, (short)-1);

    private long orderId; // required
    private long deliveryTimestamp; // required
    private String receiver; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ORDER_ID((short)1, "orderId"),
      DELIVERY_TIMESTAMP((short)2, "deliveryTimestamp"),
      RECEIVER((short)-1, "receiver");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ORDER_ID
            return ORDER_ID;
          case 2: // DELIVERY_TIMESTAMP
            return DELIVERY_TIMESTAMP;
          case -1: // RECEIVER
            return RECEIVER;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ORDERID_ISSET_ID = 0;
    private static final int __DELIVERYTIMESTAMP_ISSET_ID = 1;
    private BitSet __isset_bit_vector = new BitSet(2);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("orderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.DELIVERY_TIMESTAMP, new org.apache.thrift.meta_data.FieldMetaData("deliveryTimestamp", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.RECEIVER, new org.apache.thrift.meta_data.FieldMetaData("receiver", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(markOrderAsDelivered_args.class, metaDataMap);
    }

    public markOrderAsDelivered_args() {
    }

    public markOrderAsDelivered_args(
      long orderId,
      long deliveryTimestamp,
      String receiver)
    {
      this();
      this.orderId = orderId;
      setOrderIdIsSet(true);
      this.deliveryTimestamp = deliveryTimestamp;
      setDeliveryTimestampIsSet(true);
      this.receiver = receiver;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public markOrderAsDelivered_args(markOrderAsDelivered_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.orderId = other.orderId;
      this.deliveryTimestamp = other.deliveryTimestamp;
      if (other.isSetReceiver()) {
        this.receiver = other.receiver;
      }
    }

    public markOrderAsDelivered_args deepCopy() {
      return new markOrderAsDelivered_args(this);
    }

    @Override
    public void clear() {
      setOrderIdIsSet(false);
      this.orderId = 0;
      setDeliveryTimestampIsSet(false);
      this.deliveryTimestamp = 0;
      this.receiver = null;
    }

    public long getOrderId() {
      return this.orderId;
    }

    public void setOrderId(long orderId) {
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    public void unsetOrderId() {
      __isset_bit_vector.clear(__ORDERID_ISSET_ID);
    }

    /** Returns true if field orderId is set (has been assigned a value) and false otherwise */
    public boolean isSetOrderId() {
      return __isset_bit_vector.get(__ORDERID_ISSET_ID);
    }

    public void setOrderIdIsSet(boolean value) {
      __isset_bit_vector.set(__ORDERID_ISSET_ID, value);
    }

    public long getDeliveryTimestamp() {
      return this.deliveryTimestamp;
    }

    public void setDeliveryTimestamp(long deliveryTimestamp) {
      this.deliveryTimestamp = deliveryTimestamp;
      setDeliveryTimestampIsSet(true);
    }

    public void unsetDeliveryTimestamp() {
      __isset_bit_vector.clear(__DELIVERYTIMESTAMP_ISSET_ID);
    }

    /** Returns true if field deliveryTimestamp is set (has been assigned a value) and false otherwise */
    public boolean isSetDeliveryTimestamp() {
      return __isset_bit_vector.get(__DELIVERYTIMESTAMP_ISSET_ID);
    }

    public void setDeliveryTimestampIsSet(boolean value) {
      __isset_bit_vector.set(__DELIVERYTIMESTAMP_ISSET_ID, value);
    }

    public String getReceiver() {
      return this.receiver;
    }

    public void setReceiver(String receiver) {
      this.receiver = receiver;
    }

    public void unsetReceiver() {
      this.receiver = null;
    }

    /** Returns true if field receiver is set (has been assigned a value) and false otherwise */
    public boolean isSetReceiver() {
      return this.receiver != null;
    }

    public void setReceiverIsSet(boolean value) {
      if (!value) {
        this.receiver = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ORDER_ID:
        if (value == null) {
          unsetOrderId();
        } else {
          setOrderId((Long)value);
        }
        break;

      case DELIVERY_TIMESTAMP:
        if (value == null) {
          unsetDeliveryTimestamp();
        } else {
          setDeliveryTimestamp((Long)value);
        }
        break;

      case RECEIVER:
        if (value == null) {
          unsetReceiver();
        } else {
          setReceiver((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ORDER_ID:
        return Long.valueOf(getOrderId());

      case DELIVERY_TIMESTAMP:
        return Long.valueOf(getDeliveryTimestamp());

      case RECEIVER:
        return getReceiver();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ORDER_ID:
        return isSetOrderId();
      case DELIVERY_TIMESTAMP:
        return isSetDeliveryTimestamp();
      case RECEIVER:
        return isSetReceiver();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof markOrderAsDelivered_args)
        return this.equals((markOrderAsDelivered_args)that);
      return false;
    }

    public boolean equals(markOrderAsDelivered_args that) {
      if (that == null)
        return false;

      boolean this_present_orderId = true;
      boolean that_present_orderId = true;
      if (this_present_orderId || that_present_orderId) {
        if (!(this_present_orderId && that_present_orderId))
          return false;
        if (this.orderId != that.orderId)
          return false;
      }

      boolean this_present_deliveryTimestamp = true;
      boolean that_present_deliveryTimestamp = true;
      if (this_present_deliveryTimestamp || that_present_deliveryTimestamp) {
        if (!(this_present_deliveryTimestamp && that_present_deliveryTimestamp))
          return false;
        if (this.deliveryTimestamp != that.deliveryTimestamp)
          return false;
      }

      boolean this_present_receiver = true && this.isSetReceiver();
      boolean that_present_receiver = true && that.isSetReceiver();
      if (this_present_receiver || that_present_receiver) {
        if (!(this_present_receiver && that_present_receiver))
          return false;
        if (!this.receiver.equals(that.receiver))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(markOrderAsDelivered_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      markOrderAsDelivered_args typedOther = (markOrderAsDelivered_args)other;

      lastComparison = Boolean.valueOf(isSetOrderId()).compareTo(typedOther.isSetOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.orderId, typedOther.orderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetDeliveryTimestamp()).compareTo(typedOther.isSetDeliveryTimestamp());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetDeliveryTimestamp()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.deliveryTimestamp, typedOther.deliveryTimestamp);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetReceiver()).compareTo(typedOther.isSetReceiver());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetReceiver()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.receiver, typedOther.receiver);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.orderId = iprot.readI64();
              setOrderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // DELIVERY_TIMESTAMP
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.deliveryTimestamp = iprot.readI64();
              setDeliveryTimestampIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case -1: // RECEIVER
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.receiver = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.receiver != null) {
        oprot.writeFieldBegin(RECEIVER_FIELD_DESC);
        oprot.writeString(this.receiver);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldBegin(ORDER_ID_FIELD_DESC);
      oprot.writeI64(this.orderId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(DELIVERY_TIMESTAMP_FIELD_DESC);
      oprot.writeI64(this.deliveryTimestamp);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("markOrderAsDelivered_args(");
      boolean first = true;

      sb.append("orderId:");
      sb.append(this.orderId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("deliveryTimestamp:");
      sb.append(this.deliveryTimestamp);
      first = false;
      if (!first) sb.append(", ");
      sb.append("receiver:");
      if (this.receiver == null) {
        sb.append("null");
      } else {
        sb.append(this.receiver);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class markOrderAsDelivered_result implements org.apache.thrift.TBase<markOrderAsDelivered_result, markOrderAsDelivered_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("markOrderAsDelivered_result");

    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(markOrderAsDelivered_result.class, metaDataMap);
    }

    public markOrderAsDelivered_result() {
    }

    public markOrderAsDelivered_result(
      TransactionServiceException ex)
    {
      this();
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public markOrderAsDelivered_result(markOrderAsDelivered_result other) {
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public markOrderAsDelivered_result deepCopy() {
      return new markOrderAsDelivered_result(this);
    }

    @Override
    public void clear() {
      this.ex = null;
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof markOrderAsDelivered_result)
        return this.equals((markOrderAsDelivered_result)that);
      return false;
    }

    public boolean equals(markOrderAsDelivered_result that) {
      if (that == null)
        return false;

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(markOrderAsDelivered_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      markOrderAsDelivered_result typedOther = (markOrderAsDelivered_result)other;

      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("markOrderAsDelivered_result(");
      boolean first = true;

      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class markOrderAsReceivedAtStore_args implements org.apache.thrift.TBase<markOrderAsReceivedAtStore_args, markOrderAsReceivedAtStore_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("markOrderAsReceivedAtStore_args");

    private static final org.apache.thrift.protocol.TField ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("orderId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField DELIVERY_TIMESTAMP_FIELD_DESC = new org.apache.thrift.protocol.TField("deliveryTimestamp", org.apache.thrift.protocol.TType.I64, (short)2);

    private long orderId; // required
    private long deliveryTimestamp; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ORDER_ID((short)1, "orderId"),
      DELIVERY_TIMESTAMP((short)2, "deliveryTimestamp");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ORDER_ID
            return ORDER_ID;
          case 2: // DELIVERY_TIMESTAMP
            return DELIVERY_TIMESTAMP;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ORDERID_ISSET_ID = 0;
    private static final int __DELIVERYTIMESTAMP_ISSET_ID = 1;
    private BitSet __isset_bit_vector = new BitSet(2);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("orderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.DELIVERY_TIMESTAMP, new org.apache.thrift.meta_data.FieldMetaData("deliveryTimestamp", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(markOrderAsReceivedAtStore_args.class, metaDataMap);
    }

    public markOrderAsReceivedAtStore_args() {
    }

    public markOrderAsReceivedAtStore_args(
      long orderId,
      long deliveryTimestamp)
    {
      this();
      this.orderId = orderId;
      setOrderIdIsSet(true);
      this.deliveryTimestamp = deliveryTimestamp;
      setDeliveryTimestampIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public markOrderAsReceivedAtStore_args(markOrderAsReceivedAtStore_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.orderId = other.orderId;
      this.deliveryTimestamp = other.deliveryTimestamp;
    }

    public markOrderAsReceivedAtStore_args deepCopy() {
      return new markOrderAsReceivedAtStore_args(this);
    }

    @Override
    public void clear() {
      setOrderIdIsSet(false);
      this.orderId = 0;
      setDeliveryTimestampIsSet(false);
      this.deliveryTimestamp = 0;
    }

    public long getOrderId() {
      return this.orderId;
    }

    public void setOrderId(long orderId) {
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    public void unsetOrderId() {
      __isset_bit_vector.clear(__ORDERID_ISSET_ID);
    }

    /** Returns true if field orderId is set (has been assigned a value) and false otherwise */
    public boolean isSetOrderId() {
      return __isset_bit_vector.get(__ORDERID_ISSET_ID);
    }

    public void setOrderIdIsSet(boolean value) {
      __isset_bit_vector.set(__ORDERID_ISSET_ID, value);
    }

    public long getDeliveryTimestamp() {
      return this.deliveryTimestamp;
    }

    public void setDeliveryTimestamp(long deliveryTimestamp) {
      this.deliveryTimestamp = deliveryTimestamp;
      setDeliveryTimestampIsSet(true);
    }

    public void unsetDeliveryTimestamp() {
      __isset_bit_vector.clear(__DELIVERYTIMESTAMP_ISSET_ID);
    }

    /** Returns true if field deliveryTimestamp is set (has been assigned a value) and false otherwise */
    public boolean isSetDeliveryTimestamp() {
      return __isset_bit_vector.get(__DELIVERYTIMESTAMP_ISSET_ID);
    }

    public void setDeliveryTimestampIsSet(boolean value) {
      __isset_bit_vector.set(__DELIVERYTIMESTAMP_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ORDER_ID:
        if (value == null) {
          unsetOrderId();
        } else {
          setOrderId((Long)value);
        }
        break;

      case DELIVERY_TIMESTAMP:
        if (value == null) {
          unsetDeliveryTimestamp();
        } else {
          setDeliveryTimestamp((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ORDER_ID:
        return Long.valueOf(getOrderId());

      case DELIVERY_TIMESTAMP:
        return Long.valueOf(getDeliveryTimestamp());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ORDER_ID:
        return isSetOrderId();
      case DELIVERY_TIMESTAMP:
        return isSetDeliveryTimestamp();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof markOrderAsReceivedAtStore_args)
        return this.equals((markOrderAsReceivedAtStore_args)that);
      return false;
    }

    public boolean equals(markOrderAsReceivedAtStore_args that) {
      if (that == null)
        return false;

      boolean this_present_orderId = true;
      boolean that_present_orderId = true;
      if (this_present_orderId || that_present_orderId) {
        if (!(this_present_orderId && that_present_orderId))
          return false;
        if (this.orderId != that.orderId)
          return false;
      }

      boolean this_present_deliveryTimestamp = true;
      boolean that_present_deliveryTimestamp = true;
      if (this_present_deliveryTimestamp || that_present_deliveryTimestamp) {
        if (!(this_present_deliveryTimestamp && that_present_deliveryTimestamp))
          return false;
        if (this.deliveryTimestamp != that.deliveryTimestamp)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(markOrderAsReceivedAtStore_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      markOrderAsReceivedAtStore_args typedOther = (markOrderAsReceivedAtStore_args)other;

      lastComparison = Boolean.valueOf(isSetOrderId()).compareTo(typedOther.isSetOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.orderId, typedOther.orderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetDeliveryTimestamp()).compareTo(typedOther.isSetDeliveryTimestamp());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetDeliveryTimestamp()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.deliveryTimestamp, typedOther.deliveryTimestamp);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.orderId = iprot.readI64();
              setOrderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // DELIVERY_TIMESTAMP
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.deliveryTimestamp = iprot.readI64();
              setDeliveryTimestampIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ORDER_ID_FIELD_DESC);
      oprot.writeI64(this.orderId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(DELIVERY_TIMESTAMP_FIELD_DESC);
      oprot.writeI64(this.deliveryTimestamp);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("markOrderAsReceivedAtStore_args(");
      boolean first = true;

      sb.append("orderId:");
      sb.append(this.orderId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("deliveryTimestamp:");
      sb.append(this.deliveryTimestamp);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class markOrderAsReceivedAtStore_result implements org.apache.thrift.TBase<markOrderAsReceivedAtStore_result, markOrderAsReceivedAtStore_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("markOrderAsReceivedAtStore_result");

    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(markOrderAsReceivedAtStore_result.class, metaDataMap);
    }

    public markOrderAsReceivedAtStore_result() {
    }

    public markOrderAsReceivedAtStore_result(
      TransactionServiceException ex)
    {
      this();
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public markOrderAsReceivedAtStore_result(markOrderAsReceivedAtStore_result other) {
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public markOrderAsReceivedAtStore_result deepCopy() {
      return new markOrderAsReceivedAtStore_result(this);
    }

    @Override
    public void clear() {
      this.ex = null;
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof markOrderAsReceivedAtStore_result)
        return this.equals((markOrderAsReceivedAtStore_result)that);
      return false;
    }

    public boolean equals(markOrderAsReceivedAtStore_result that) {
      if (that == null)
        return false;

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(markOrderAsReceivedAtStore_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      markOrderAsReceivedAtStore_result typedOther = (markOrderAsReceivedAtStore_result)other;

      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("markOrderAsReceivedAtStore_result(");
      boolean first = true;

      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class markOrderDoaRequestReceived_args implements org.apache.thrift.TBase<markOrderDoaRequestReceived_args, markOrderDoaRequestReceived_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("markOrderDoaRequestReceived_args");

    private static final org.apache.thrift.protocol.TField ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("orderId", org.apache.thrift.protocol.TType.I64, (short)1);

    private long orderId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ORDER_ID((short)1, "orderId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ORDER_ID
            return ORDER_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ORDERID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("orderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(markOrderDoaRequestReceived_args.class, metaDataMap);
    }

    public markOrderDoaRequestReceived_args() {
    }

    public markOrderDoaRequestReceived_args(
      long orderId)
    {
      this();
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public markOrderDoaRequestReceived_args(markOrderDoaRequestReceived_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.orderId = other.orderId;
    }

    public markOrderDoaRequestReceived_args deepCopy() {
      return new markOrderDoaRequestReceived_args(this);
    }

    @Override
    public void clear() {
      setOrderIdIsSet(false);
      this.orderId = 0;
    }

    public long getOrderId() {
      return this.orderId;
    }

    public void setOrderId(long orderId) {
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    public void unsetOrderId() {
      __isset_bit_vector.clear(__ORDERID_ISSET_ID);
    }

    /** Returns true if field orderId is set (has been assigned a value) and false otherwise */
    public boolean isSetOrderId() {
      return __isset_bit_vector.get(__ORDERID_ISSET_ID);
    }

    public void setOrderIdIsSet(boolean value) {
      __isset_bit_vector.set(__ORDERID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ORDER_ID:
        if (value == null) {
          unsetOrderId();
        } else {
          setOrderId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ORDER_ID:
        return Long.valueOf(getOrderId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ORDER_ID:
        return isSetOrderId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof markOrderDoaRequestReceived_args)
        return this.equals((markOrderDoaRequestReceived_args)that);
      return false;
    }

    public boolean equals(markOrderDoaRequestReceived_args that) {
      if (that == null)
        return false;

      boolean this_present_orderId = true;
      boolean that_present_orderId = true;
      if (this_present_orderId || that_present_orderId) {
        if (!(this_present_orderId && that_present_orderId))
          return false;
        if (this.orderId != that.orderId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(markOrderDoaRequestReceived_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      markOrderDoaRequestReceived_args typedOther = (markOrderDoaRequestReceived_args)other;

      lastComparison = Boolean.valueOf(isSetOrderId()).compareTo(typedOther.isSetOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.orderId, typedOther.orderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.orderId = iprot.readI64();
              setOrderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ORDER_ID_FIELD_DESC);
      oprot.writeI64(this.orderId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("markOrderDoaRequestReceived_args(");
      boolean first = true;

      sb.append("orderId:");
      sb.append(this.orderId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class markOrderDoaRequestReceived_result implements org.apache.thrift.TBase<markOrderDoaRequestReceived_result, markOrderDoaRequestReceived_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("markOrderDoaRequestReceived_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private boolean success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(markOrderDoaRequestReceived_result.class, metaDataMap);
    }

    public markOrderDoaRequestReceived_result() {
    }

    public markOrderDoaRequestReceived_result(
      boolean success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public markOrderDoaRequestReceived_result(markOrderDoaRequestReceived_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public markOrderDoaRequestReceived_result deepCopy() {
      return new markOrderDoaRequestReceived_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = false;
      this.ex = null;
    }

    public boolean isSuccess() {
      return this.success;
    }

    public void setSuccess(boolean success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Boolean.valueOf(isSuccess());

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof markOrderDoaRequestReceived_result)
        return this.equals((markOrderDoaRequestReceived_result)that);
      return false;
    }

    public boolean equals(markOrderDoaRequestReceived_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(markOrderDoaRequestReceived_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      markOrderDoaRequestReceived_result typedOther = (markOrderDoaRequestReceived_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.success = iprot.readBool();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBool(this.success);
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("markOrderDoaRequestReceived_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class markOrderDoaRequestAuthorized_args implements org.apache.thrift.TBase<markOrderDoaRequestAuthorized_args, markOrderDoaRequestAuthorized_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("markOrderDoaRequestAuthorized_args");

    private static final org.apache.thrift.protocol.TField ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("orderId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField IS_AUTHORIZED_FIELD_DESC = new org.apache.thrift.protocol.TField("isAuthorized", org.apache.thrift.protocol.TType.BOOL, (short)2);
    private static final org.apache.thrift.protocol.TField FROM_STORE_FIELD_DESC = new org.apache.thrift.protocol.TField("fromStore", org.apache.thrift.protocol.TType.BOOL, (short)3);
    private static final org.apache.thrift.protocol.TField IS_RESHIP_FIELD_DESC = new org.apache.thrift.protocol.TField("isReship", org.apache.thrift.protocol.TType.BOOL, (short)4);

    private long orderId; // required
    private boolean isAuthorized; // required
    private boolean fromStore; // required
    private boolean isReship; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ORDER_ID((short)1, "orderId"),
      IS_AUTHORIZED((short)2, "isAuthorized"),
      FROM_STORE((short)3, "fromStore"),
      IS_RESHIP((short)4, "isReship");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ORDER_ID
            return ORDER_ID;
          case 2: // IS_AUTHORIZED
            return IS_AUTHORIZED;
          case 3: // FROM_STORE
            return FROM_STORE;
          case 4: // IS_RESHIP
            return IS_RESHIP;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ORDERID_ISSET_ID = 0;
    private static final int __ISAUTHORIZED_ISSET_ID = 1;
    private static final int __FROMSTORE_ISSET_ID = 2;
    private static final int __ISRESHIP_ISSET_ID = 3;
    private BitSet __isset_bit_vector = new BitSet(4);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("orderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.IS_AUTHORIZED, new org.apache.thrift.meta_data.FieldMetaData("isAuthorized", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      tmpMap.put(_Fields.FROM_STORE, new org.apache.thrift.meta_data.FieldMetaData("fromStore", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      tmpMap.put(_Fields.IS_RESHIP, new org.apache.thrift.meta_data.FieldMetaData("isReship", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(markOrderDoaRequestAuthorized_args.class, metaDataMap);
    }

    public markOrderDoaRequestAuthorized_args() {
    }

    public markOrderDoaRequestAuthorized_args(
      long orderId,
      boolean isAuthorized,
      boolean fromStore,
      boolean isReship)
    {
      this();
      this.orderId = orderId;
      setOrderIdIsSet(true);
      this.isAuthorized = isAuthorized;
      setIsAuthorizedIsSet(true);
      this.fromStore = fromStore;
      setFromStoreIsSet(true);
      this.isReship = isReship;
      setIsReshipIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public markOrderDoaRequestAuthorized_args(markOrderDoaRequestAuthorized_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.orderId = other.orderId;
      this.isAuthorized = other.isAuthorized;
      this.fromStore = other.fromStore;
      this.isReship = other.isReship;
    }

    public markOrderDoaRequestAuthorized_args deepCopy() {
      return new markOrderDoaRequestAuthorized_args(this);
    }

    @Override
    public void clear() {
      setOrderIdIsSet(false);
      this.orderId = 0;
      setIsAuthorizedIsSet(false);
      this.isAuthorized = false;
      setFromStoreIsSet(false);
      this.fromStore = false;
      setIsReshipIsSet(false);
      this.isReship = false;
    }

    public long getOrderId() {
      return this.orderId;
    }

    public void setOrderId(long orderId) {
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    public void unsetOrderId() {
      __isset_bit_vector.clear(__ORDERID_ISSET_ID);
    }

    /** Returns true if field orderId is set (has been assigned a value) and false otherwise */
    public boolean isSetOrderId() {
      return __isset_bit_vector.get(__ORDERID_ISSET_ID);
    }

    public void setOrderIdIsSet(boolean value) {
      __isset_bit_vector.set(__ORDERID_ISSET_ID, value);
    }

    public boolean isIsAuthorized() {
      return this.isAuthorized;
    }

    public void setIsAuthorized(boolean isAuthorized) {
      this.isAuthorized = isAuthorized;
      setIsAuthorizedIsSet(true);
    }

    public void unsetIsAuthorized() {
      __isset_bit_vector.clear(__ISAUTHORIZED_ISSET_ID);
    }

    /** Returns true if field isAuthorized is set (has been assigned a value) and false otherwise */
    public boolean isSetIsAuthorized() {
      return __isset_bit_vector.get(__ISAUTHORIZED_ISSET_ID);
    }

    public void setIsAuthorizedIsSet(boolean value) {
      __isset_bit_vector.set(__ISAUTHORIZED_ISSET_ID, value);
    }

    public boolean isFromStore() {
      return this.fromStore;
    }

    public void setFromStore(boolean fromStore) {
      this.fromStore = fromStore;
      setFromStoreIsSet(true);
    }

    public void unsetFromStore() {
      __isset_bit_vector.clear(__FROMSTORE_ISSET_ID);
    }

    /** Returns true if field fromStore is set (has been assigned a value) and false otherwise */
    public boolean isSetFromStore() {
      return __isset_bit_vector.get(__FROMSTORE_ISSET_ID);
    }

    public void setFromStoreIsSet(boolean value) {
      __isset_bit_vector.set(__FROMSTORE_ISSET_ID, value);
    }

    public boolean isIsReship() {
      return this.isReship;
    }

    public void setIsReship(boolean isReship) {
      this.isReship = isReship;
      setIsReshipIsSet(true);
    }

    public void unsetIsReship() {
      __isset_bit_vector.clear(__ISRESHIP_ISSET_ID);
    }

    /** Returns true if field isReship is set (has been assigned a value) and false otherwise */
    public boolean isSetIsReship() {
      return __isset_bit_vector.get(__ISRESHIP_ISSET_ID);
    }

    public void setIsReshipIsSet(boolean value) {
      __isset_bit_vector.set(__ISRESHIP_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ORDER_ID:
        if (value == null) {
          unsetOrderId();
        } else {
          setOrderId((Long)value);
        }
        break;

      case IS_AUTHORIZED:
        if (value == null) {
          unsetIsAuthorized();
        } else {
          setIsAuthorized((Boolean)value);
        }
        break;

      case FROM_STORE:
        if (value == null) {
          unsetFromStore();
        } else {
          setFromStore((Boolean)value);
        }
        break;

      case IS_RESHIP:
        if (value == null) {
          unsetIsReship();
        } else {
          setIsReship((Boolean)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ORDER_ID:
        return Long.valueOf(getOrderId());

      case IS_AUTHORIZED:
        return Boolean.valueOf(isIsAuthorized());

      case FROM_STORE:
        return Boolean.valueOf(isFromStore());

      case IS_RESHIP:
        return Boolean.valueOf(isIsReship());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ORDER_ID:
        return isSetOrderId();
      case IS_AUTHORIZED:
        return isSetIsAuthorized();
      case FROM_STORE:
        return isSetFromStore();
      case IS_RESHIP:
        return isSetIsReship();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof markOrderDoaRequestAuthorized_args)
        return this.equals((markOrderDoaRequestAuthorized_args)that);
      return false;
    }

    public boolean equals(markOrderDoaRequestAuthorized_args that) {
      if (that == null)
        return false;

      boolean this_present_orderId = true;
      boolean that_present_orderId = true;
      if (this_present_orderId || that_present_orderId) {
        if (!(this_present_orderId && that_present_orderId))
          return false;
        if (this.orderId != that.orderId)
          return false;
      }

      boolean this_present_isAuthorized = true;
      boolean that_present_isAuthorized = true;
      if (this_present_isAuthorized || that_present_isAuthorized) {
        if (!(this_present_isAuthorized && that_present_isAuthorized))
          return false;
        if (this.isAuthorized != that.isAuthorized)
          return false;
      }

      boolean this_present_fromStore = true;
      boolean that_present_fromStore = true;
      if (this_present_fromStore || that_present_fromStore) {
        if (!(this_present_fromStore && that_present_fromStore))
          return false;
        if (this.fromStore != that.fromStore)
          return false;
      }

      boolean this_present_isReship = true;
      boolean that_present_isReship = true;
      if (this_present_isReship || that_present_isReship) {
        if (!(this_present_isReship && that_present_isReship))
          return false;
        if (this.isReship != that.isReship)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(markOrderDoaRequestAuthorized_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      markOrderDoaRequestAuthorized_args typedOther = (markOrderDoaRequestAuthorized_args)other;

      lastComparison = Boolean.valueOf(isSetOrderId()).compareTo(typedOther.isSetOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.orderId, typedOther.orderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetIsAuthorized()).compareTo(typedOther.isSetIsAuthorized());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetIsAuthorized()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.isAuthorized, typedOther.isAuthorized);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetFromStore()).compareTo(typedOther.isSetFromStore());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetFromStore()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.fromStore, typedOther.fromStore);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetIsReship()).compareTo(typedOther.isSetIsReship());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetIsReship()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.isReship, typedOther.isReship);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.orderId = iprot.readI64();
              setOrderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // IS_AUTHORIZED
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.isAuthorized = iprot.readBool();
              setIsAuthorizedIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // FROM_STORE
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.fromStore = iprot.readBool();
              setFromStoreIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 4: // IS_RESHIP
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.isReship = iprot.readBool();
              setIsReshipIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ORDER_ID_FIELD_DESC);
      oprot.writeI64(this.orderId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(IS_AUTHORIZED_FIELD_DESC);
      oprot.writeBool(this.isAuthorized);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(FROM_STORE_FIELD_DESC);
      oprot.writeBool(this.fromStore);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(IS_RESHIP_FIELD_DESC);
      oprot.writeBool(this.isReship);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("markOrderDoaRequestAuthorized_args(");
      boolean first = true;

      sb.append("orderId:");
      sb.append(this.orderId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("isAuthorized:");
      sb.append(this.isAuthorized);
      first = false;
      if (!first) sb.append(", ");
      sb.append("fromStore:");
      sb.append(this.fromStore);
      first = false;
      if (!first) sb.append(", ");
      sb.append("isReship:");
      sb.append(this.isReship);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class markOrderDoaRequestAuthorized_result implements org.apache.thrift.TBase<markOrderDoaRequestAuthorized_result, markOrderDoaRequestAuthorized_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("markOrderDoaRequestAuthorized_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private boolean success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(markOrderDoaRequestAuthorized_result.class, metaDataMap);
    }

    public markOrderDoaRequestAuthorized_result() {
    }

    public markOrderDoaRequestAuthorized_result(
      boolean success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public markOrderDoaRequestAuthorized_result(markOrderDoaRequestAuthorized_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public markOrderDoaRequestAuthorized_result deepCopy() {
      return new markOrderDoaRequestAuthorized_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = false;
      this.ex = null;
    }

    public boolean isSuccess() {
      return this.success;
    }

    public void setSuccess(boolean success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Boolean.valueOf(isSuccess());

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof markOrderDoaRequestAuthorized_result)
        return this.equals((markOrderDoaRequestAuthorized_result)that);
      return false;
    }

    public boolean equals(markOrderDoaRequestAuthorized_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(markOrderDoaRequestAuthorized_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      markOrderDoaRequestAuthorized_result typedOther = (markOrderDoaRequestAuthorized_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.success = iprot.readBool();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBool(this.success);
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("markOrderDoaRequestAuthorized_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class markOrderReturnRequestReceived_args implements org.apache.thrift.TBase<markOrderReturnRequestReceived_args, markOrderReturnRequestReceived_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("markOrderReturnRequestReceived_args");

    private static final org.apache.thrift.protocol.TField ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("orderId", org.apache.thrift.protocol.TType.I64, (short)1);

    private long orderId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ORDER_ID((short)1, "orderId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ORDER_ID
            return ORDER_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ORDERID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("orderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(markOrderReturnRequestReceived_args.class, metaDataMap);
    }

    public markOrderReturnRequestReceived_args() {
    }

    public markOrderReturnRequestReceived_args(
      long orderId)
    {
      this();
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public markOrderReturnRequestReceived_args(markOrderReturnRequestReceived_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.orderId = other.orderId;
    }

    public markOrderReturnRequestReceived_args deepCopy() {
      return new markOrderReturnRequestReceived_args(this);
    }

    @Override
    public void clear() {
      setOrderIdIsSet(false);
      this.orderId = 0;
    }

    public long getOrderId() {
      return this.orderId;
    }

    public void setOrderId(long orderId) {
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    public void unsetOrderId() {
      __isset_bit_vector.clear(__ORDERID_ISSET_ID);
    }

    /** Returns true if field orderId is set (has been assigned a value) and false otherwise */
    public boolean isSetOrderId() {
      return __isset_bit_vector.get(__ORDERID_ISSET_ID);
    }

    public void setOrderIdIsSet(boolean value) {
      __isset_bit_vector.set(__ORDERID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ORDER_ID:
        if (value == null) {
          unsetOrderId();
        } else {
          setOrderId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ORDER_ID:
        return Long.valueOf(getOrderId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ORDER_ID:
        return isSetOrderId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof markOrderReturnRequestReceived_args)
        return this.equals((markOrderReturnRequestReceived_args)that);
      return false;
    }

    public boolean equals(markOrderReturnRequestReceived_args that) {
      if (that == null)
        return false;

      boolean this_present_orderId = true;
      boolean that_present_orderId = true;
      if (this_present_orderId || that_present_orderId) {
        if (!(this_present_orderId && that_present_orderId))
          return false;
        if (this.orderId != that.orderId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(markOrderReturnRequestReceived_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      markOrderReturnRequestReceived_args typedOther = (markOrderReturnRequestReceived_args)other;

      lastComparison = Boolean.valueOf(isSetOrderId()).compareTo(typedOther.isSetOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.orderId, typedOther.orderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.orderId = iprot.readI64();
              setOrderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ORDER_ID_FIELD_DESC);
      oprot.writeI64(this.orderId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("markOrderReturnRequestReceived_args(");
      boolean first = true;

      sb.append("orderId:");
      sb.append(this.orderId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class markOrderReturnRequestReceived_result implements org.apache.thrift.TBase<markOrderReturnRequestReceived_result, markOrderReturnRequestReceived_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("markOrderReturnRequestReceived_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private boolean success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(markOrderReturnRequestReceived_result.class, metaDataMap);
    }

    public markOrderReturnRequestReceived_result() {
    }

    public markOrderReturnRequestReceived_result(
      boolean success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public markOrderReturnRequestReceived_result(markOrderReturnRequestReceived_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public markOrderReturnRequestReceived_result deepCopy() {
      return new markOrderReturnRequestReceived_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = false;
      this.ex = null;
    }

    public boolean isSuccess() {
      return this.success;
    }

    public void setSuccess(boolean success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Boolean.valueOf(isSuccess());

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof markOrderReturnRequestReceived_result)
        return this.equals((markOrderReturnRequestReceived_result)that);
      return false;
    }

    public boolean equals(markOrderReturnRequestReceived_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(markOrderReturnRequestReceived_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      markOrderReturnRequestReceived_result typedOther = (markOrderReturnRequestReceived_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.success = iprot.readBool();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBool(this.success);
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("markOrderReturnRequestReceived_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class markOrderReturnRequestAuthorized_args implements org.apache.thrift.TBase<markOrderReturnRequestAuthorized_args, markOrderReturnRequestAuthorized_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("markOrderReturnRequestAuthorized_args");

    private static final org.apache.thrift.protocol.TField ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("orderId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField IS_AUTHORIZED_FIELD_DESC = new org.apache.thrift.protocol.TField("isAuthorized", org.apache.thrift.protocol.TType.BOOL, (short)2);
    private static final org.apache.thrift.protocol.TField FROM_STORE_FIELD_DESC = new org.apache.thrift.protocol.TField("fromStore", org.apache.thrift.protocol.TType.BOOL, (short)3);
    private static final org.apache.thrift.protocol.TField IS_RESHIP_FIELD_DESC = new org.apache.thrift.protocol.TField("isReship", org.apache.thrift.protocol.TType.BOOL, (short)4);

    private long orderId; // required
    private boolean isAuthorized; // required
    private boolean fromStore; // required
    private boolean isReship; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ORDER_ID((short)1, "orderId"),
      IS_AUTHORIZED((short)2, "isAuthorized"),
      FROM_STORE((short)3, "fromStore"),
      IS_RESHIP((short)4, "isReship");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ORDER_ID
            return ORDER_ID;
          case 2: // IS_AUTHORIZED
            return IS_AUTHORIZED;
          case 3: // FROM_STORE
            return FROM_STORE;
          case 4: // IS_RESHIP
            return IS_RESHIP;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ORDERID_ISSET_ID = 0;
    private static final int __ISAUTHORIZED_ISSET_ID = 1;
    private static final int __FROMSTORE_ISSET_ID = 2;
    private static final int __ISRESHIP_ISSET_ID = 3;
    private BitSet __isset_bit_vector = new BitSet(4);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("orderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.IS_AUTHORIZED, new org.apache.thrift.meta_data.FieldMetaData("isAuthorized", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      tmpMap.put(_Fields.FROM_STORE, new org.apache.thrift.meta_data.FieldMetaData("fromStore", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      tmpMap.put(_Fields.IS_RESHIP, new org.apache.thrift.meta_data.FieldMetaData("isReship", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(markOrderReturnRequestAuthorized_args.class, metaDataMap);
    }

    public markOrderReturnRequestAuthorized_args() {
    }

    public markOrderReturnRequestAuthorized_args(
      long orderId,
      boolean isAuthorized,
      boolean fromStore,
      boolean isReship)
    {
      this();
      this.orderId = orderId;
      setOrderIdIsSet(true);
      this.isAuthorized = isAuthorized;
      setIsAuthorizedIsSet(true);
      this.fromStore = fromStore;
      setFromStoreIsSet(true);
      this.isReship = isReship;
      setIsReshipIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public markOrderReturnRequestAuthorized_args(markOrderReturnRequestAuthorized_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.orderId = other.orderId;
      this.isAuthorized = other.isAuthorized;
      this.fromStore = other.fromStore;
      this.isReship = other.isReship;
    }

    public markOrderReturnRequestAuthorized_args deepCopy() {
      return new markOrderReturnRequestAuthorized_args(this);
    }

    @Override
    public void clear() {
      setOrderIdIsSet(false);
      this.orderId = 0;
      setIsAuthorizedIsSet(false);
      this.isAuthorized = false;
      setFromStoreIsSet(false);
      this.fromStore = false;
      setIsReshipIsSet(false);
      this.isReship = false;
    }

    public long getOrderId() {
      return this.orderId;
    }

    public void setOrderId(long orderId) {
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    public void unsetOrderId() {
      __isset_bit_vector.clear(__ORDERID_ISSET_ID);
    }

    /** Returns true if field orderId is set (has been assigned a value) and false otherwise */
    public boolean isSetOrderId() {
      return __isset_bit_vector.get(__ORDERID_ISSET_ID);
    }

    public void setOrderIdIsSet(boolean value) {
      __isset_bit_vector.set(__ORDERID_ISSET_ID, value);
    }

    public boolean isIsAuthorized() {
      return this.isAuthorized;
    }

    public void setIsAuthorized(boolean isAuthorized) {
      this.isAuthorized = isAuthorized;
      setIsAuthorizedIsSet(true);
    }

    public void unsetIsAuthorized() {
      __isset_bit_vector.clear(__ISAUTHORIZED_ISSET_ID);
    }

    /** Returns true if field isAuthorized is set (has been assigned a value) and false otherwise */
    public boolean isSetIsAuthorized() {
      return __isset_bit_vector.get(__ISAUTHORIZED_ISSET_ID);
    }

    public void setIsAuthorizedIsSet(boolean value) {
      __isset_bit_vector.set(__ISAUTHORIZED_ISSET_ID, value);
    }

    public boolean isFromStore() {
      return this.fromStore;
    }

    public void setFromStore(boolean fromStore) {
      this.fromStore = fromStore;
      setFromStoreIsSet(true);
    }

    public void unsetFromStore() {
      __isset_bit_vector.clear(__FROMSTORE_ISSET_ID);
    }

    /** Returns true if field fromStore is set (has been assigned a value) and false otherwise */
    public boolean isSetFromStore() {
      return __isset_bit_vector.get(__FROMSTORE_ISSET_ID);
    }

    public void setFromStoreIsSet(boolean value) {
      __isset_bit_vector.set(__FROMSTORE_ISSET_ID, value);
    }

    public boolean isIsReship() {
      return this.isReship;
    }

    public void setIsReship(boolean isReship) {
      this.isReship = isReship;
      setIsReshipIsSet(true);
    }

    public void unsetIsReship() {
      __isset_bit_vector.clear(__ISRESHIP_ISSET_ID);
    }

    /** Returns true if field isReship is set (has been assigned a value) and false otherwise */
    public boolean isSetIsReship() {
      return __isset_bit_vector.get(__ISRESHIP_ISSET_ID);
    }

    public void setIsReshipIsSet(boolean value) {
      __isset_bit_vector.set(__ISRESHIP_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ORDER_ID:
        if (value == null) {
          unsetOrderId();
        } else {
          setOrderId((Long)value);
        }
        break;

      case IS_AUTHORIZED:
        if (value == null) {
          unsetIsAuthorized();
        } else {
          setIsAuthorized((Boolean)value);
        }
        break;

      case FROM_STORE:
        if (value == null) {
          unsetFromStore();
        } else {
          setFromStore((Boolean)value);
        }
        break;

      case IS_RESHIP:
        if (value == null) {
          unsetIsReship();
        } else {
          setIsReship((Boolean)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ORDER_ID:
        return Long.valueOf(getOrderId());

      case IS_AUTHORIZED:
        return Boolean.valueOf(isIsAuthorized());

      case FROM_STORE:
        return Boolean.valueOf(isFromStore());

      case IS_RESHIP:
        return Boolean.valueOf(isIsReship());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ORDER_ID:
        return isSetOrderId();
      case IS_AUTHORIZED:
        return isSetIsAuthorized();
      case FROM_STORE:
        return isSetFromStore();
      case IS_RESHIP:
        return isSetIsReship();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof markOrderReturnRequestAuthorized_args)
        return this.equals((markOrderReturnRequestAuthorized_args)that);
      return false;
    }

    public boolean equals(markOrderReturnRequestAuthorized_args that) {
      if (that == null)
        return false;

      boolean this_present_orderId = true;
      boolean that_present_orderId = true;
      if (this_present_orderId || that_present_orderId) {
        if (!(this_present_orderId && that_present_orderId))
          return false;
        if (this.orderId != that.orderId)
          return false;
      }

      boolean this_present_isAuthorized = true;
      boolean that_present_isAuthorized = true;
      if (this_present_isAuthorized || that_present_isAuthorized) {
        if (!(this_present_isAuthorized && that_present_isAuthorized))
          return false;
        if (this.isAuthorized != that.isAuthorized)
          return false;
      }

      boolean this_present_fromStore = true;
      boolean that_present_fromStore = true;
      if (this_present_fromStore || that_present_fromStore) {
        if (!(this_present_fromStore && that_present_fromStore))
          return false;
        if (this.fromStore != that.fromStore)
          return false;
      }

      boolean this_present_isReship = true;
      boolean that_present_isReship = true;
      if (this_present_isReship || that_present_isReship) {
        if (!(this_present_isReship && that_present_isReship))
          return false;
        if (this.isReship != that.isReship)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(markOrderReturnRequestAuthorized_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      markOrderReturnRequestAuthorized_args typedOther = (markOrderReturnRequestAuthorized_args)other;

      lastComparison = Boolean.valueOf(isSetOrderId()).compareTo(typedOther.isSetOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.orderId, typedOther.orderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetIsAuthorized()).compareTo(typedOther.isSetIsAuthorized());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetIsAuthorized()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.isAuthorized, typedOther.isAuthorized);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetFromStore()).compareTo(typedOther.isSetFromStore());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetFromStore()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.fromStore, typedOther.fromStore);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetIsReship()).compareTo(typedOther.isSetIsReship());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetIsReship()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.isReship, typedOther.isReship);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.orderId = iprot.readI64();
              setOrderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // IS_AUTHORIZED
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.isAuthorized = iprot.readBool();
              setIsAuthorizedIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // FROM_STORE
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.fromStore = iprot.readBool();
              setFromStoreIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 4: // IS_RESHIP
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.isReship = iprot.readBool();
              setIsReshipIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ORDER_ID_FIELD_DESC);
      oprot.writeI64(this.orderId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(IS_AUTHORIZED_FIELD_DESC);
      oprot.writeBool(this.isAuthorized);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(FROM_STORE_FIELD_DESC);
      oprot.writeBool(this.fromStore);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(IS_RESHIP_FIELD_DESC);
      oprot.writeBool(this.isReship);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("markOrderReturnRequestAuthorized_args(");
      boolean first = true;

      sb.append("orderId:");
      sb.append(this.orderId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("isAuthorized:");
      sb.append(this.isAuthorized);
      first = false;
      if (!first) sb.append(", ");
      sb.append("fromStore:");
      sb.append(this.fromStore);
      first = false;
      if (!first) sb.append(", ");
      sb.append("isReship:");
      sb.append(this.isReship);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class markOrderReturnRequestAuthorized_result implements org.apache.thrift.TBase<markOrderReturnRequestAuthorized_result, markOrderReturnRequestAuthorized_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("markOrderReturnRequestAuthorized_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private boolean success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(markOrderReturnRequestAuthorized_result.class, metaDataMap);
    }

    public markOrderReturnRequestAuthorized_result() {
    }

    public markOrderReturnRequestAuthorized_result(
      boolean success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public markOrderReturnRequestAuthorized_result(markOrderReturnRequestAuthorized_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public markOrderReturnRequestAuthorized_result deepCopy() {
      return new markOrderReturnRequestAuthorized_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = false;
      this.ex = null;
    }

    public boolean isSuccess() {
      return this.success;
    }

    public void setSuccess(boolean success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Boolean.valueOf(isSuccess());

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof markOrderReturnRequestAuthorized_result)
        return this.equals((markOrderReturnRequestAuthorized_result)that);
      return false;
    }

    public boolean equals(markOrderReturnRequestAuthorized_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(markOrderReturnRequestAuthorized_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      markOrderReturnRequestAuthorized_result typedOther = (markOrderReturnRequestAuthorized_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.success = iprot.readBool();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBool(this.success);
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("markOrderReturnRequestAuthorized_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class requestPickupNumber_args implements org.apache.thrift.TBase<requestPickupNumber_args, requestPickupNumber_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("requestPickupNumber_args");

    private static final org.apache.thrift.protocol.TField ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("orderId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField PROVIDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("providerId", org.apache.thrift.protocol.TType.I64, (short)2);

    private long orderId; // required
    private long providerId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ORDER_ID((short)1, "orderId"),
      PROVIDER_ID((short)2, "providerId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ORDER_ID
            return ORDER_ID;
          case 2: // PROVIDER_ID
            return PROVIDER_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ORDERID_ISSET_ID = 0;
    private static final int __PROVIDERID_ISSET_ID = 1;
    private BitSet __isset_bit_vector = new BitSet(2);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("orderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.PROVIDER_ID, new org.apache.thrift.meta_data.FieldMetaData("providerId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(requestPickupNumber_args.class, metaDataMap);
    }

    public requestPickupNumber_args() {
    }

    public requestPickupNumber_args(
      long orderId,
      long providerId)
    {
      this();
      this.orderId = orderId;
      setOrderIdIsSet(true);
      this.providerId = providerId;
      setProviderIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public requestPickupNumber_args(requestPickupNumber_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.orderId = other.orderId;
      this.providerId = other.providerId;
    }

    public requestPickupNumber_args deepCopy() {
      return new requestPickupNumber_args(this);
    }

    @Override
    public void clear() {
      setOrderIdIsSet(false);
      this.orderId = 0;
      setProviderIdIsSet(false);
      this.providerId = 0;
    }

    public long getOrderId() {
      return this.orderId;
    }

    public void setOrderId(long orderId) {
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    public void unsetOrderId() {
      __isset_bit_vector.clear(__ORDERID_ISSET_ID);
    }

    /** Returns true if field orderId is set (has been assigned a value) and false otherwise */
    public boolean isSetOrderId() {
      return __isset_bit_vector.get(__ORDERID_ISSET_ID);
    }

    public void setOrderIdIsSet(boolean value) {
      __isset_bit_vector.set(__ORDERID_ISSET_ID, value);
    }

    public long getProviderId() {
      return this.providerId;
    }

    public void setProviderId(long providerId) {
      this.providerId = providerId;
      setProviderIdIsSet(true);
    }

    public void unsetProviderId() {
      __isset_bit_vector.clear(__PROVIDERID_ISSET_ID);
    }

    /** Returns true if field providerId is set (has been assigned a value) and false otherwise */
    public boolean isSetProviderId() {
      return __isset_bit_vector.get(__PROVIDERID_ISSET_ID);
    }

    public void setProviderIdIsSet(boolean value) {
      __isset_bit_vector.set(__PROVIDERID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ORDER_ID:
        if (value == null) {
          unsetOrderId();
        } else {
          setOrderId((Long)value);
        }
        break;

      case PROVIDER_ID:
        if (value == null) {
          unsetProviderId();
        } else {
          setProviderId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ORDER_ID:
        return Long.valueOf(getOrderId());

      case PROVIDER_ID:
        return Long.valueOf(getProviderId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ORDER_ID:
        return isSetOrderId();
      case PROVIDER_ID:
        return isSetProviderId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof requestPickupNumber_args)
        return this.equals((requestPickupNumber_args)that);
      return false;
    }

    public boolean equals(requestPickupNumber_args that) {
      if (that == null)
        return false;

      boolean this_present_orderId = true;
      boolean that_present_orderId = true;
      if (this_present_orderId || that_present_orderId) {
        if (!(this_present_orderId && that_present_orderId))
          return false;
        if (this.orderId != that.orderId)
          return false;
      }

      boolean this_present_providerId = true;
      boolean that_present_providerId = true;
      if (this_present_providerId || that_present_providerId) {
        if (!(this_present_providerId && that_present_providerId))
          return false;
        if (this.providerId != that.providerId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(requestPickupNumber_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      requestPickupNumber_args typedOther = (requestPickupNumber_args)other;

      lastComparison = Boolean.valueOf(isSetOrderId()).compareTo(typedOther.isSetOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.orderId, typedOther.orderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetProviderId()).compareTo(typedOther.isSetProviderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetProviderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.providerId, typedOther.providerId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.orderId = iprot.readI64();
              setOrderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // PROVIDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.providerId = iprot.readI64();
              setProviderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ORDER_ID_FIELD_DESC);
      oprot.writeI64(this.orderId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(PROVIDER_ID_FIELD_DESC);
      oprot.writeI64(this.providerId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("requestPickupNumber_args(");
      boolean first = true;

      sb.append("orderId:");
      sb.append(this.orderId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("providerId:");
      sb.append(this.providerId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class requestPickupNumber_result implements org.apache.thrift.TBase<requestPickupNumber_result, requestPickupNumber_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("requestPickupNumber_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private boolean success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(requestPickupNumber_result.class, metaDataMap);
    }

    public requestPickupNumber_result() {
    }

    public requestPickupNumber_result(
      boolean success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public requestPickupNumber_result(requestPickupNumber_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public requestPickupNumber_result deepCopy() {
      return new requestPickupNumber_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = false;
      this.ex = null;
    }

    public boolean isSuccess() {
      return this.success;
    }

    public void setSuccess(boolean success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Boolean.valueOf(isSuccess());

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof requestPickupNumber_result)
        return this.equals((requestPickupNumber_result)that);
      return false;
    }

    public boolean equals(requestPickupNumber_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(requestPickupNumber_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      requestPickupNumber_result typedOther = (requestPickupNumber_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.success = iprot.readBool();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBool(this.success);
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("requestPickupNumber_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class authorizePickup_args implements org.apache.thrift.TBase<authorizePickup_args, authorizePickup_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("authorizePickup_args");

    private static final org.apache.thrift.protocol.TField ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("orderId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField PICKUP_NUMBER_FIELD_DESC = new org.apache.thrift.protocol.TField("pickupNumber", org.apache.thrift.protocol.TType.STRING, (short)2);
    private static final org.apache.thrift.protocol.TField PROVIDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("providerId", org.apache.thrift.protocol.TType.I64, (short)3);

    private long orderId; // required
    private String pickupNumber; // required
    private long providerId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ORDER_ID((short)1, "orderId"),
      PICKUP_NUMBER((short)2, "pickupNumber"),
      PROVIDER_ID((short)3, "providerId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ORDER_ID
            return ORDER_ID;
          case 2: // PICKUP_NUMBER
            return PICKUP_NUMBER;
          case 3: // PROVIDER_ID
            return PROVIDER_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ORDERID_ISSET_ID = 0;
    private static final int __PROVIDERID_ISSET_ID = 1;
    private BitSet __isset_bit_vector = new BitSet(2);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("orderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.PICKUP_NUMBER, new org.apache.thrift.meta_data.FieldMetaData("pickupNumber", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.PROVIDER_ID, new org.apache.thrift.meta_data.FieldMetaData("providerId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(authorizePickup_args.class, metaDataMap);
    }

    public authorizePickup_args() {
    }

    public authorizePickup_args(
      long orderId,
      String pickupNumber,
      long providerId)
    {
      this();
      this.orderId = orderId;
      setOrderIdIsSet(true);
      this.pickupNumber = pickupNumber;
      this.providerId = providerId;
      setProviderIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public authorizePickup_args(authorizePickup_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.orderId = other.orderId;
      if (other.isSetPickupNumber()) {
        this.pickupNumber = other.pickupNumber;
      }
      this.providerId = other.providerId;
    }

    public authorizePickup_args deepCopy() {
      return new authorizePickup_args(this);
    }

    @Override
    public void clear() {
      setOrderIdIsSet(false);
      this.orderId = 0;
      this.pickupNumber = null;
      setProviderIdIsSet(false);
      this.providerId = 0;
    }

    public long getOrderId() {
      return this.orderId;
    }

    public void setOrderId(long orderId) {
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    public void unsetOrderId() {
      __isset_bit_vector.clear(__ORDERID_ISSET_ID);
    }

    /** Returns true if field orderId is set (has been assigned a value) and false otherwise */
    public boolean isSetOrderId() {
      return __isset_bit_vector.get(__ORDERID_ISSET_ID);
    }

    public void setOrderIdIsSet(boolean value) {
      __isset_bit_vector.set(__ORDERID_ISSET_ID, value);
    }

    public String getPickupNumber() {
      return this.pickupNumber;
    }

    public void setPickupNumber(String pickupNumber) {
      this.pickupNumber = pickupNumber;
    }

    public void unsetPickupNumber() {
      this.pickupNumber = null;
    }

    /** Returns true if field pickupNumber is set (has been assigned a value) and false otherwise */
    public boolean isSetPickupNumber() {
      return this.pickupNumber != null;
    }

    public void setPickupNumberIsSet(boolean value) {
      if (!value) {
        this.pickupNumber = null;
      }
    }

    public long getProviderId() {
      return this.providerId;
    }

    public void setProviderId(long providerId) {
      this.providerId = providerId;
      setProviderIdIsSet(true);
    }

    public void unsetProviderId() {
      __isset_bit_vector.clear(__PROVIDERID_ISSET_ID);
    }

    /** Returns true if field providerId is set (has been assigned a value) and false otherwise */
    public boolean isSetProviderId() {
      return __isset_bit_vector.get(__PROVIDERID_ISSET_ID);
    }

    public void setProviderIdIsSet(boolean value) {
      __isset_bit_vector.set(__PROVIDERID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ORDER_ID:
        if (value == null) {
          unsetOrderId();
        } else {
          setOrderId((Long)value);
        }
        break;

      case PICKUP_NUMBER:
        if (value == null) {
          unsetPickupNumber();
        } else {
          setPickupNumber((String)value);
        }
        break;

      case PROVIDER_ID:
        if (value == null) {
          unsetProviderId();
        } else {
          setProviderId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ORDER_ID:
        return Long.valueOf(getOrderId());

      case PICKUP_NUMBER:
        return getPickupNumber();

      case PROVIDER_ID:
        return Long.valueOf(getProviderId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ORDER_ID:
        return isSetOrderId();
      case PICKUP_NUMBER:
        return isSetPickupNumber();
      case PROVIDER_ID:
        return isSetProviderId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof authorizePickup_args)
        return this.equals((authorizePickup_args)that);
      return false;
    }

    public boolean equals(authorizePickup_args that) {
      if (that == null)
        return false;

      boolean this_present_orderId = true;
      boolean that_present_orderId = true;
      if (this_present_orderId || that_present_orderId) {
        if (!(this_present_orderId && that_present_orderId))
          return false;
        if (this.orderId != that.orderId)
          return false;
      }

      boolean this_present_pickupNumber = true && this.isSetPickupNumber();
      boolean that_present_pickupNumber = true && that.isSetPickupNumber();
      if (this_present_pickupNumber || that_present_pickupNumber) {
        if (!(this_present_pickupNumber && that_present_pickupNumber))
          return false;
        if (!this.pickupNumber.equals(that.pickupNumber))
          return false;
      }

      boolean this_present_providerId = true;
      boolean that_present_providerId = true;
      if (this_present_providerId || that_present_providerId) {
        if (!(this_present_providerId && that_present_providerId))
          return false;
        if (this.providerId != that.providerId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(authorizePickup_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      authorizePickup_args typedOther = (authorizePickup_args)other;

      lastComparison = Boolean.valueOf(isSetOrderId()).compareTo(typedOther.isSetOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.orderId, typedOther.orderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetPickupNumber()).compareTo(typedOther.isSetPickupNumber());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetPickupNumber()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.pickupNumber, typedOther.pickupNumber);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetProviderId()).compareTo(typedOther.isSetProviderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetProviderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.providerId, typedOther.providerId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.orderId = iprot.readI64();
              setOrderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // PICKUP_NUMBER
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.pickupNumber = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // PROVIDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.providerId = iprot.readI64();
              setProviderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ORDER_ID_FIELD_DESC);
      oprot.writeI64(this.orderId);
      oprot.writeFieldEnd();
      if (this.pickupNumber != null) {
        oprot.writeFieldBegin(PICKUP_NUMBER_FIELD_DESC);
        oprot.writeString(this.pickupNumber);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldBegin(PROVIDER_ID_FIELD_DESC);
      oprot.writeI64(this.providerId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("authorizePickup_args(");
      boolean first = true;

      sb.append("orderId:");
      sb.append(this.orderId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("pickupNumber:");
      if (this.pickupNumber == null) {
        sb.append("null");
      } else {
        sb.append(this.pickupNumber);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("providerId:");
      sb.append(this.providerId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class authorizePickup_result implements org.apache.thrift.TBase<authorizePickup_result, authorizePickup_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("authorizePickup_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private boolean success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(authorizePickup_result.class, metaDataMap);
    }

    public authorizePickup_result() {
    }

    public authorizePickup_result(
      boolean success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public authorizePickup_result(authorizePickup_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public authorizePickup_result deepCopy() {
      return new authorizePickup_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = false;
      this.ex = null;
    }

    public boolean isSuccess() {
      return this.success;
    }

    public void setSuccess(boolean success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Boolean.valueOf(isSuccess());

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof authorizePickup_result)
        return this.equals((authorizePickup_result)that);
      return false;
    }

    public boolean equals(authorizePickup_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(authorizePickup_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      authorizePickup_result typedOther = (authorizePickup_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.success = iprot.readBool();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBool(this.success);
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("authorizePickup_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class markDoasAsPickedUp_args implements org.apache.thrift.TBase<markDoasAsPickedUp_args, markDoasAsPickedUp_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("markDoasAsPickedUp_args");

    private static final org.apache.thrift.protocol.TField PROVIDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("providerId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField PICKUP_DETAILS_FIELD_DESC = new org.apache.thrift.protocol.TField("pickupDetails", org.apache.thrift.protocol.TType.MAP, (short)2);

    private long providerId; // required
    private Map<String,String> pickupDetails; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      PROVIDER_ID((short)1, "providerId"),
      PICKUP_DETAILS((short)2, "pickupDetails");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // PROVIDER_ID
            return PROVIDER_ID;
          case 2: // PICKUP_DETAILS
            return PICKUP_DETAILS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __PROVIDERID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.PROVIDER_ID, new org.apache.thrift.meta_data.FieldMetaData("providerId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.PICKUP_DETAILS, new org.apache.thrift.meta_data.FieldMetaData("pickupDetails", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING), 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(markDoasAsPickedUp_args.class, metaDataMap);
    }

    public markDoasAsPickedUp_args() {
    }

    public markDoasAsPickedUp_args(
      long providerId,
      Map<String,String> pickupDetails)
    {
      this();
      this.providerId = providerId;
      setProviderIdIsSet(true);
      this.pickupDetails = pickupDetails;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public markDoasAsPickedUp_args(markDoasAsPickedUp_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.providerId = other.providerId;
      if (other.isSetPickupDetails()) {
        Map<String,String> __this__pickupDetails = new HashMap<String,String>();
        for (Map.Entry<String, String> other_element : other.pickupDetails.entrySet()) {

          String other_element_key = other_element.getKey();
          String other_element_value = other_element.getValue();

          String __this__pickupDetails_copy_key = other_element_key;

          String __this__pickupDetails_copy_value = other_element_value;

          __this__pickupDetails.put(__this__pickupDetails_copy_key, __this__pickupDetails_copy_value);
        }
        this.pickupDetails = __this__pickupDetails;
      }
    }

    public markDoasAsPickedUp_args deepCopy() {
      return new markDoasAsPickedUp_args(this);
    }

    @Override
    public void clear() {
      setProviderIdIsSet(false);
      this.providerId = 0;
      this.pickupDetails = null;
    }

    public long getProviderId() {
      return this.providerId;
    }

    public void setProviderId(long providerId) {
      this.providerId = providerId;
      setProviderIdIsSet(true);
    }

    public void unsetProviderId() {
      __isset_bit_vector.clear(__PROVIDERID_ISSET_ID);
    }

    /** Returns true if field providerId is set (has been assigned a value) and false otherwise */
    public boolean isSetProviderId() {
      return __isset_bit_vector.get(__PROVIDERID_ISSET_ID);
    }

    public void setProviderIdIsSet(boolean value) {
      __isset_bit_vector.set(__PROVIDERID_ISSET_ID, value);
    }

    public int getPickupDetailsSize() {
      return (this.pickupDetails == null) ? 0 : this.pickupDetails.size();
    }

    public void putToPickupDetails(String key, String val) {
      if (this.pickupDetails == null) {
        this.pickupDetails = new HashMap<String,String>();
      }
      this.pickupDetails.put(key, val);
    }

    public Map<String,String> getPickupDetails() {
      return this.pickupDetails;
    }

    public void setPickupDetails(Map<String,String> pickupDetails) {
      this.pickupDetails = pickupDetails;
    }

    public void unsetPickupDetails() {
      this.pickupDetails = null;
    }

    /** Returns true if field pickupDetails is set (has been assigned a value) and false otherwise */
    public boolean isSetPickupDetails() {
      return this.pickupDetails != null;
    }

    public void setPickupDetailsIsSet(boolean value) {
      if (!value) {
        this.pickupDetails = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case PROVIDER_ID:
        if (value == null) {
          unsetProviderId();
        } else {
          setProviderId((Long)value);
        }
        break;

      case PICKUP_DETAILS:
        if (value == null) {
          unsetPickupDetails();
        } else {
          setPickupDetails((Map<String,String>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case PROVIDER_ID:
        return Long.valueOf(getProviderId());

      case PICKUP_DETAILS:
        return getPickupDetails();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case PROVIDER_ID:
        return isSetProviderId();
      case PICKUP_DETAILS:
        return isSetPickupDetails();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof markDoasAsPickedUp_args)
        return this.equals((markDoasAsPickedUp_args)that);
      return false;
    }

    public boolean equals(markDoasAsPickedUp_args that) {
      if (that == null)
        return false;

      boolean this_present_providerId = true;
      boolean that_present_providerId = true;
      if (this_present_providerId || that_present_providerId) {
        if (!(this_present_providerId && that_present_providerId))
          return false;
        if (this.providerId != that.providerId)
          return false;
      }

      boolean this_present_pickupDetails = true && this.isSetPickupDetails();
      boolean that_present_pickupDetails = true && that.isSetPickupDetails();
      if (this_present_pickupDetails || that_present_pickupDetails) {
        if (!(this_present_pickupDetails && that_present_pickupDetails))
          return false;
        if (!this.pickupDetails.equals(that.pickupDetails))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(markDoasAsPickedUp_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      markDoasAsPickedUp_args typedOther = (markDoasAsPickedUp_args)other;

      lastComparison = Boolean.valueOf(isSetProviderId()).compareTo(typedOther.isSetProviderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetProviderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.providerId, typedOther.providerId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetPickupDetails()).compareTo(typedOther.isSetPickupDetails());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetPickupDetails()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.pickupDetails, typedOther.pickupDetails);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // PROVIDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.providerId = iprot.readI64();
              setProviderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // PICKUP_DETAILS
            if (field.type == org.apache.thrift.protocol.TType.MAP) {
              {
                org.apache.thrift.protocol.TMap _map247 = iprot.readMapBegin();
                this.pickupDetails = new HashMap<String,String>(2*_map247.size);
                for (int _i248 = 0; _i248 < _map247.size; ++_i248)
                {
                  String _key249; // required
                  String _val250; // required
                  _key249 = iprot.readString();
                  _val250 = iprot.readString();
                  this.pickupDetails.put(_key249, _val250);
                }
                iprot.readMapEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(PROVIDER_ID_FIELD_DESC);
      oprot.writeI64(this.providerId);
      oprot.writeFieldEnd();
      if (this.pickupDetails != null) {
        oprot.writeFieldBegin(PICKUP_DETAILS_FIELD_DESC);
        {
          oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, this.pickupDetails.size()));
          for (Map.Entry<String, String> _iter251 : this.pickupDetails.entrySet())
          {
            oprot.writeString(_iter251.getKey());
            oprot.writeString(_iter251.getValue());
          }
          oprot.writeMapEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("markDoasAsPickedUp_args(");
      boolean first = true;

      sb.append("providerId:");
      sb.append(this.providerId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("pickupDetails:");
      if (this.pickupDetails == null) {
        sb.append("null");
      } else {
        sb.append(this.pickupDetails);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class markDoasAsPickedUp_result implements org.apache.thrift.TBase<markDoasAsPickedUp_result, markDoasAsPickedUp_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("markDoasAsPickedUp_result");



    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
;

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(markDoasAsPickedUp_result.class, metaDataMap);
    }

    public markDoasAsPickedUp_result() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public markDoasAsPickedUp_result(markDoasAsPickedUp_result other) {
    }

    public markDoasAsPickedUp_result deepCopy() {
      return new markDoasAsPickedUp_result(this);
    }

    @Override
    public void clear() {
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof markDoasAsPickedUp_result)
        return this.equals((markDoasAsPickedUp_result)that);
      return false;
    }

    public boolean equals(markDoasAsPickedUp_result that) {
      if (that == null)
        return false;

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(markDoasAsPickedUp_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      markDoasAsPickedUp_result typedOther = (markDoasAsPickedUp_result)other;

      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("markDoasAsPickedUp_result(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getDoasNotPickedUp_args implements org.apache.thrift.TBase<getDoasNotPickedUp_args, getDoasNotPickedUp_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getDoasNotPickedUp_args");

    private static final org.apache.thrift.protocol.TField PROVIDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("providerId", org.apache.thrift.protocol.TType.I64, (short)1);

    private long providerId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      PROVIDER_ID((short)1, "providerId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // PROVIDER_ID
            return PROVIDER_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __PROVIDERID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.PROVIDER_ID, new org.apache.thrift.meta_data.FieldMetaData("providerId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getDoasNotPickedUp_args.class, metaDataMap);
    }

    public getDoasNotPickedUp_args() {
    }

    public getDoasNotPickedUp_args(
      long providerId)
    {
      this();
      this.providerId = providerId;
      setProviderIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getDoasNotPickedUp_args(getDoasNotPickedUp_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.providerId = other.providerId;
    }

    public getDoasNotPickedUp_args deepCopy() {
      return new getDoasNotPickedUp_args(this);
    }

    @Override
    public void clear() {
      setProviderIdIsSet(false);
      this.providerId = 0;
    }

    public long getProviderId() {
      return this.providerId;
    }

    public void setProviderId(long providerId) {
      this.providerId = providerId;
      setProviderIdIsSet(true);
    }

    public void unsetProviderId() {
      __isset_bit_vector.clear(__PROVIDERID_ISSET_ID);
    }

    /** Returns true if field providerId is set (has been assigned a value) and false otherwise */
    public boolean isSetProviderId() {
      return __isset_bit_vector.get(__PROVIDERID_ISSET_ID);
    }

    public void setProviderIdIsSet(boolean value) {
      __isset_bit_vector.set(__PROVIDERID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case PROVIDER_ID:
        if (value == null) {
          unsetProviderId();
        } else {
          setProviderId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case PROVIDER_ID:
        return Long.valueOf(getProviderId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case PROVIDER_ID:
        return isSetProviderId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getDoasNotPickedUp_args)
        return this.equals((getDoasNotPickedUp_args)that);
      return false;
    }

    public boolean equals(getDoasNotPickedUp_args that) {
      if (that == null)
        return false;

      boolean this_present_providerId = true;
      boolean that_present_providerId = true;
      if (this_present_providerId || that_present_providerId) {
        if (!(this_present_providerId && that_present_providerId))
          return false;
        if (this.providerId != that.providerId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getDoasNotPickedUp_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getDoasNotPickedUp_args typedOther = (getDoasNotPickedUp_args)other;

      lastComparison = Boolean.valueOf(isSetProviderId()).compareTo(typedOther.isSetProviderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetProviderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.providerId, typedOther.providerId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // PROVIDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.providerId = iprot.readI64();
              setProviderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(PROVIDER_ID_FIELD_DESC);
      oprot.writeI64(this.providerId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getDoasNotPickedUp_args(");
      boolean first = true;

      sb.append("providerId:");
      sb.append(this.providerId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getDoasNotPickedUp_result implements org.apache.thrift.TBase<getDoasNotPickedUp_result, getDoasNotPickedUp_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getDoasNotPickedUp_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);

    private List<Order> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Order.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getDoasNotPickedUp_result.class, metaDataMap);
    }

    public getDoasNotPickedUp_result() {
    }

    public getDoasNotPickedUp_result(
      List<Order> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getDoasNotPickedUp_result(getDoasNotPickedUp_result other) {
      if (other.isSetSuccess()) {
        List<Order> __this__success = new ArrayList<Order>();
        for (Order other_element : other.success) {
          __this__success.add(new Order(other_element));
        }
        this.success = __this__success;
      }
    }

    public getDoasNotPickedUp_result deepCopy() {
      return new getDoasNotPickedUp_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<Order> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(Order elem) {
      if (this.success == null) {
        this.success = new ArrayList<Order>();
      }
      this.success.add(elem);
    }

    public List<Order> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<Order> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<Order>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getDoasNotPickedUp_result)
        return this.equals((getDoasNotPickedUp_result)that);
      return false;
    }

    public boolean equals(getDoasNotPickedUp_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getDoasNotPickedUp_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getDoasNotPickedUp_result typedOther = (getDoasNotPickedUp_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list252 = iprot.readListBegin();
                this.success = new ArrayList<Order>(_list252.size);
                for (int _i253 = 0; _i253 < _list252.size; ++_i253)
                {
                  Order _elem254; // required
                  _elem254 = new Order();
                  _elem254.read(iprot);
                  this.success.add(_elem254);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (Order _iter255 : this.success)
          {
            _iter255.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getDoasNotPickedUp_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class markReturnOrdersAsPickedUp_args implements org.apache.thrift.TBase<markReturnOrdersAsPickedUp_args, markReturnOrdersAsPickedUp_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("markReturnOrdersAsPickedUp_args");

    private static final org.apache.thrift.protocol.TField PROVIDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("providerId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField PICKUP_DETAILS_FIELD_DESC = new org.apache.thrift.protocol.TField("pickupDetails", org.apache.thrift.protocol.TType.MAP, (short)2);

    private long providerId; // required
    private Map<String,String> pickupDetails; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      PROVIDER_ID((short)1, "providerId"),
      PICKUP_DETAILS((short)2, "pickupDetails");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // PROVIDER_ID
            return PROVIDER_ID;
          case 2: // PICKUP_DETAILS
            return PICKUP_DETAILS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __PROVIDERID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.PROVIDER_ID, new org.apache.thrift.meta_data.FieldMetaData("providerId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.PICKUP_DETAILS, new org.apache.thrift.meta_data.FieldMetaData("pickupDetails", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING), 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(markReturnOrdersAsPickedUp_args.class, metaDataMap);
    }

    public markReturnOrdersAsPickedUp_args() {
    }

    public markReturnOrdersAsPickedUp_args(
      long providerId,
      Map<String,String> pickupDetails)
    {
      this();
      this.providerId = providerId;
      setProviderIdIsSet(true);
      this.pickupDetails = pickupDetails;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public markReturnOrdersAsPickedUp_args(markReturnOrdersAsPickedUp_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.providerId = other.providerId;
      if (other.isSetPickupDetails()) {
        Map<String,String> __this__pickupDetails = new HashMap<String,String>();
        for (Map.Entry<String, String> other_element : other.pickupDetails.entrySet()) {

          String other_element_key = other_element.getKey();
          String other_element_value = other_element.getValue();

          String __this__pickupDetails_copy_key = other_element_key;

          String __this__pickupDetails_copy_value = other_element_value;

          __this__pickupDetails.put(__this__pickupDetails_copy_key, __this__pickupDetails_copy_value);
        }
        this.pickupDetails = __this__pickupDetails;
      }
    }

    public markReturnOrdersAsPickedUp_args deepCopy() {
      return new markReturnOrdersAsPickedUp_args(this);
    }

    @Override
    public void clear() {
      setProviderIdIsSet(false);
      this.providerId = 0;
      this.pickupDetails = null;
    }

    public long getProviderId() {
      return this.providerId;
    }

    public void setProviderId(long providerId) {
      this.providerId = providerId;
      setProviderIdIsSet(true);
    }

    public void unsetProviderId() {
      __isset_bit_vector.clear(__PROVIDERID_ISSET_ID);
    }

    /** Returns true if field providerId is set (has been assigned a value) and false otherwise */
    public boolean isSetProviderId() {
      return __isset_bit_vector.get(__PROVIDERID_ISSET_ID);
    }

    public void setProviderIdIsSet(boolean value) {
      __isset_bit_vector.set(__PROVIDERID_ISSET_ID, value);
    }

    public int getPickupDetailsSize() {
      return (this.pickupDetails == null) ? 0 : this.pickupDetails.size();
    }

    public void putToPickupDetails(String key, String val) {
      if (this.pickupDetails == null) {
        this.pickupDetails = new HashMap<String,String>();
      }
      this.pickupDetails.put(key, val);
    }

    public Map<String,String> getPickupDetails() {
      return this.pickupDetails;
    }

    public void setPickupDetails(Map<String,String> pickupDetails) {
      this.pickupDetails = pickupDetails;
    }

    public void unsetPickupDetails() {
      this.pickupDetails = null;
    }

    /** Returns true if field pickupDetails is set (has been assigned a value) and false otherwise */
    public boolean isSetPickupDetails() {
      return this.pickupDetails != null;
    }

    public void setPickupDetailsIsSet(boolean value) {
      if (!value) {
        this.pickupDetails = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case PROVIDER_ID:
        if (value == null) {
          unsetProviderId();
        } else {
          setProviderId((Long)value);
        }
        break;

      case PICKUP_DETAILS:
        if (value == null) {
          unsetPickupDetails();
        } else {
          setPickupDetails((Map<String,String>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case PROVIDER_ID:
        return Long.valueOf(getProviderId());

      case PICKUP_DETAILS:
        return getPickupDetails();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case PROVIDER_ID:
        return isSetProviderId();
      case PICKUP_DETAILS:
        return isSetPickupDetails();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof markReturnOrdersAsPickedUp_args)
        return this.equals((markReturnOrdersAsPickedUp_args)that);
      return false;
    }

    public boolean equals(markReturnOrdersAsPickedUp_args that) {
      if (that == null)
        return false;

      boolean this_present_providerId = true;
      boolean that_present_providerId = true;
      if (this_present_providerId || that_present_providerId) {
        if (!(this_present_providerId && that_present_providerId))
          return false;
        if (this.providerId != that.providerId)
          return false;
      }

      boolean this_present_pickupDetails = true && this.isSetPickupDetails();
      boolean that_present_pickupDetails = true && that.isSetPickupDetails();
      if (this_present_pickupDetails || that_present_pickupDetails) {
        if (!(this_present_pickupDetails && that_present_pickupDetails))
          return false;
        if (!this.pickupDetails.equals(that.pickupDetails))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(markReturnOrdersAsPickedUp_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      markReturnOrdersAsPickedUp_args typedOther = (markReturnOrdersAsPickedUp_args)other;

      lastComparison = Boolean.valueOf(isSetProviderId()).compareTo(typedOther.isSetProviderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetProviderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.providerId, typedOther.providerId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetPickupDetails()).compareTo(typedOther.isSetPickupDetails());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetPickupDetails()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.pickupDetails, typedOther.pickupDetails);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // PROVIDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.providerId = iprot.readI64();
              setProviderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // PICKUP_DETAILS
            if (field.type == org.apache.thrift.protocol.TType.MAP) {
              {
                org.apache.thrift.protocol.TMap _map256 = iprot.readMapBegin();
                this.pickupDetails = new HashMap<String,String>(2*_map256.size);
                for (int _i257 = 0; _i257 < _map256.size; ++_i257)
                {
                  String _key258; // required
                  String _val259; // required
                  _key258 = iprot.readString();
                  _val259 = iprot.readString();
                  this.pickupDetails.put(_key258, _val259);
                }
                iprot.readMapEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(PROVIDER_ID_FIELD_DESC);
      oprot.writeI64(this.providerId);
      oprot.writeFieldEnd();
      if (this.pickupDetails != null) {
        oprot.writeFieldBegin(PICKUP_DETAILS_FIELD_DESC);
        {
          oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, this.pickupDetails.size()));
          for (Map.Entry<String, String> _iter260 : this.pickupDetails.entrySet())
          {
            oprot.writeString(_iter260.getKey());
            oprot.writeString(_iter260.getValue());
          }
          oprot.writeMapEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("markReturnOrdersAsPickedUp_args(");
      boolean first = true;

      sb.append("providerId:");
      sb.append(this.providerId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("pickupDetails:");
      if (this.pickupDetails == null) {
        sb.append("null");
      } else {
        sb.append(this.pickupDetails);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class markReturnOrdersAsPickedUp_result implements org.apache.thrift.TBase<markReturnOrdersAsPickedUp_result, markReturnOrdersAsPickedUp_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("markReturnOrdersAsPickedUp_result");



    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
;

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(markReturnOrdersAsPickedUp_result.class, metaDataMap);
    }

    public markReturnOrdersAsPickedUp_result() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public markReturnOrdersAsPickedUp_result(markReturnOrdersAsPickedUp_result other) {
    }

    public markReturnOrdersAsPickedUp_result deepCopy() {
      return new markReturnOrdersAsPickedUp_result(this);
    }

    @Override
    public void clear() {
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof markReturnOrdersAsPickedUp_result)
        return this.equals((markReturnOrdersAsPickedUp_result)that);
      return false;
    }

    public boolean equals(markReturnOrdersAsPickedUp_result that) {
      if (that == null)
        return false;

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(markReturnOrdersAsPickedUp_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      markReturnOrdersAsPickedUp_result typedOther = (markReturnOrdersAsPickedUp_result)other;

      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("markReturnOrdersAsPickedUp_result(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getReturnOrdersNotPickedUp_args implements org.apache.thrift.TBase<getReturnOrdersNotPickedUp_args, getReturnOrdersNotPickedUp_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getReturnOrdersNotPickedUp_args");

    private static final org.apache.thrift.protocol.TField PROVIDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("providerId", org.apache.thrift.protocol.TType.I64, (short)1);

    private long providerId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      PROVIDER_ID((short)1, "providerId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // PROVIDER_ID
            return PROVIDER_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __PROVIDERID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.PROVIDER_ID, new org.apache.thrift.meta_data.FieldMetaData("providerId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getReturnOrdersNotPickedUp_args.class, metaDataMap);
    }

    public getReturnOrdersNotPickedUp_args() {
    }

    public getReturnOrdersNotPickedUp_args(
      long providerId)
    {
      this();
      this.providerId = providerId;
      setProviderIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getReturnOrdersNotPickedUp_args(getReturnOrdersNotPickedUp_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.providerId = other.providerId;
    }

    public getReturnOrdersNotPickedUp_args deepCopy() {
      return new getReturnOrdersNotPickedUp_args(this);
    }

    @Override
    public void clear() {
      setProviderIdIsSet(false);
      this.providerId = 0;
    }

    public long getProviderId() {
      return this.providerId;
    }

    public void setProviderId(long providerId) {
      this.providerId = providerId;
      setProviderIdIsSet(true);
    }

    public void unsetProviderId() {
      __isset_bit_vector.clear(__PROVIDERID_ISSET_ID);
    }

    /** Returns true if field providerId is set (has been assigned a value) and false otherwise */
    public boolean isSetProviderId() {
      return __isset_bit_vector.get(__PROVIDERID_ISSET_ID);
    }

    public void setProviderIdIsSet(boolean value) {
      __isset_bit_vector.set(__PROVIDERID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case PROVIDER_ID:
        if (value == null) {
          unsetProviderId();
        } else {
          setProviderId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case PROVIDER_ID:
        return Long.valueOf(getProviderId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case PROVIDER_ID:
        return isSetProviderId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getReturnOrdersNotPickedUp_args)
        return this.equals((getReturnOrdersNotPickedUp_args)that);
      return false;
    }

    public boolean equals(getReturnOrdersNotPickedUp_args that) {
      if (that == null)
        return false;

      boolean this_present_providerId = true;
      boolean that_present_providerId = true;
      if (this_present_providerId || that_present_providerId) {
        if (!(this_present_providerId && that_present_providerId))
          return false;
        if (this.providerId != that.providerId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getReturnOrdersNotPickedUp_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getReturnOrdersNotPickedUp_args typedOther = (getReturnOrdersNotPickedUp_args)other;

      lastComparison = Boolean.valueOf(isSetProviderId()).compareTo(typedOther.isSetProviderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetProviderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.providerId, typedOther.providerId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // PROVIDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.providerId = iprot.readI64();
              setProviderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(PROVIDER_ID_FIELD_DESC);
      oprot.writeI64(this.providerId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getReturnOrdersNotPickedUp_args(");
      boolean first = true;

      sb.append("providerId:");
      sb.append(this.providerId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getReturnOrdersNotPickedUp_result implements org.apache.thrift.TBase<getReturnOrdersNotPickedUp_result, getReturnOrdersNotPickedUp_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getReturnOrdersNotPickedUp_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);

    private List<Order> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Order.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getReturnOrdersNotPickedUp_result.class, metaDataMap);
    }

    public getReturnOrdersNotPickedUp_result() {
    }

    public getReturnOrdersNotPickedUp_result(
      List<Order> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getReturnOrdersNotPickedUp_result(getReturnOrdersNotPickedUp_result other) {
      if (other.isSetSuccess()) {
        List<Order> __this__success = new ArrayList<Order>();
        for (Order other_element : other.success) {
          __this__success.add(new Order(other_element));
        }
        this.success = __this__success;
      }
    }

    public getReturnOrdersNotPickedUp_result deepCopy() {
      return new getReturnOrdersNotPickedUp_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<Order> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(Order elem) {
      if (this.success == null) {
        this.success = new ArrayList<Order>();
      }
      this.success.add(elem);
    }

    public List<Order> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<Order> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<Order>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getReturnOrdersNotPickedUp_result)
        return this.equals((getReturnOrdersNotPickedUp_result)that);
      return false;
    }

    public boolean equals(getReturnOrdersNotPickedUp_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getReturnOrdersNotPickedUp_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getReturnOrdersNotPickedUp_result typedOther = (getReturnOrdersNotPickedUp_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list261 = iprot.readListBegin();
                this.success = new ArrayList<Order>(_list261.size);
                for (int _i262 = 0; _i262 < _list261.size; ++_i262)
                {
                  Order _elem263; // required
                  _elem263 = new Order();
                  _elem263.read(iprot);
                  this.success.add(_elem263);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (Order _iter264 : this.success)
          {
            _iter264.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getReturnOrdersNotPickedUp_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class receiveReturn_args implements org.apache.thrift.TBase<receiveReturn_args, receiveReturn_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("receiveReturn_args");

    private static final org.apache.thrift.protocol.TField ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("orderId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField RECEIVE_CONDITION_FIELD_DESC = new org.apache.thrift.protocol.TField("receiveCondition", org.apache.thrift.protocol.TType.I64, (short)2);
    private static final org.apache.thrift.protocol.TField RECEIVE_FREEBIE_FIELD_DESC = new org.apache.thrift.protocol.TField("receiveFreebie", org.apache.thrift.protocol.TType.BOOL, (short)3);
    private static final org.apache.thrift.protocol.TField SERIAL_NUMBERS_FIELD_DESC = new org.apache.thrift.protocol.TField("serialNumbers", org.apache.thrift.protocol.TType.STRING, (short)4);

    private long orderId; // required
    private long receiveCondition; // required
    private boolean receiveFreebie; // required
    private String serialNumbers; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ORDER_ID((short)1, "orderId"),
      RECEIVE_CONDITION((short)2, "receiveCondition"),
      RECEIVE_FREEBIE((short)3, "receiveFreebie"),
      SERIAL_NUMBERS((short)4, "serialNumbers");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ORDER_ID
            return ORDER_ID;
          case 2: // RECEIVE_CONDITION
            return RECEIVE_CONDITION;
          case 3: // RECEIVE_FREEBIE
            return RECEIVE_FREEBIE;
          case 4: // SERIAL_NUMBERS
            return SERIAL_NUMBERS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ORDERID_ISSET_ID = 0;
    private static final int __RECEIVECONDITION_ISSET_ID = 1;
    private static final int __RECEIVEFREEBIE_ISSET_ID = 2;
    private BitSet __isset_bit_vector = new BitSet(3);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("orderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.RECEIVE_CONDITION, new org.apache.thrift.meta_data.FieldMetaData("receiveCondition", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.RECEIVE_FREEBIE, new org.apache.thrift.meta_data.FieldMetaData("receiveFreebie", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      tmpMap.put(_Fields.SERIAL_NUMBERS, new org.apache.thrift.meta_data.FieldMetaData("serialNumbers", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(receiveReturn_args.class, metaDataMap);
    }

    public receiveReturn_args() {
    }

    public receiveReturn_args(
      long orderId,
      long receiveCondition,
      boolean receiveFreebie,
      String serialNumbers)
    {
      this();
      this.orderId = orderId;
      setOrderIdIsSet(true);
      this.receiveCondition = receiveCondition;
      setReceiveConditionIsSet(true);
      this.receiveFreebie = receiveFreebie;
      setReceiveFreebieIsSet(true);
      this.serialNumbers = serialNumbers;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public receiveReturn_args(receiveReturn_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.orderId = other.orderId;
      this.receiveCondition = other.receiveCondition;
      this.receiveFreebie = other.receiveFreebie;
      if (other.isSetSerialNumbers()) {
        this.serialNumbers = other.serialNumbers;
      }
    }

    public receiveReturn_args deepCopy() {
      return new receiveReturn_args(this);
    }

    @Override
    public void clear() {
      setOrderIdIsSet(false);
      this.orderId = 0;
      setReceiveConditionIsSet(false);
      this.receiveCondition = 0;
      setReceiveFreebieIsSet(false);
      this.receiveFreebie = false;
      this.serialNumbers = null;
    }

    public long getOrderId() {
      return this.orderId;
    }

    public void setOrderId(long orderId) {
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    public void unsetOrderId() {
      __isset_bit_vector.clear(__ORDERID_ISSET_ID);
    }

    /** Returns true if field orderId is set (has been assigned a value) and false otherwise */
    public boolean isSetOrderId() {
      return __isset_bit_vector.get(__ORDERID_ISSET_ID);
    }

    public void setOrderIdIsSet(boolean value) {
      __isset_bit_vector.set(__ORDERID_ISSET_ID, value);
    }

    public long getReceiveCondition() {
      return this.receiveCondition;
    }

    public void setReceiveCondition(long receiveCondition) {
      this.receiveCondition = receiveCondition;
      setReceiveConditionIsSet(true);
    }

    public void unsetReceiveCondition() {
      __isset_bit_vector.clear(__RECEIVECONDITION_ISSET_ID);
    }

    /** Returns true if field receiveCondition is set (has been assigned a value) and false otherwise */
    public boolean isSetReceiveCondition() {
      return __isset_bit_vector.get(__RECEIVECONDITION_ISSET_ID);
    }

    public void setReceiveConditionIsSet(boolean value) {
      __isset_bit_vector.set(__RECEIVECONDITION_ISSET_ID, value);
    }

    public boolean isReceiveFreebie() {
      return this.receiveFreebie;
    }

    public void setReceiveFreebie(boolean receiveFreebie) {
      this.receiveFreebie = receiveFreebie;
      setReceiveFreebieIsSet(true);
    }

    public void unsetReceiveFreebie() {
      __isset_bit_vector.clear(__RECEIVEFREEBIE_ISSET_ID);
    }

    /** Returns true if field receiveFreebie is set (has been assigned a value) and false otherwise */
    public boolean isSetReceiveFreebie() {
      return __isset_bit_vector.get(__RECEIVEFREEBIE_ISSET_ID);
    }

    public void setReceiveFreebieIsSet(boolean value) {
      __isset_bit_vector.set(__RECEIVEFREEBIE_ISSET_ID, value);
    }

    public String getSerialNumbers() {
      return this.serialNumbers;
    }

    public void setSerialNumbers(String serialNumbers) {
      this.serialNumbers = serialNumbers;
    }

    public void unsetSerialNumbers() {
      this.serialNumbers = null;
    }

    /** Returns true if field serialNumbers is set (has been assigned a value) and false otherwise */
    public boolean isSetSerialNumbers() {
      return this.serialNumbers != null;
    }

    public void setSerialNumbersIsSet(boolean value) {
      if (!value) {
        this.serialNumbers = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ORDER_ID:
        if (value == null) {
          unsetOrderId();
        } else {
          setOrderId((Long)value);
        }
        break;

      case RECEIVE_CONDITION:
        if (value == null) {
          unsetReceiveCondition();
        } else {
          setReceiveCondition((Long)value);
        }
        break;

      case RECEIVE_FREEBIE:
        if (value == null) {
          unsetReceiveFreebie();
        } else {
          setReceiveFreebie((Boolean)value);
        }
        break;

      case SERIAL_NUMBERS:
        if (value == null) {
          unsetSerialNumbers();
        } else {
          setSerialNumbers((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ORDER_ID:
        return Long.valueOf(getOrderId());

      case RECEIVE_CONDITION:
        return Long.valueOf(getReceiveCondition());

      case RECEIVE_FREEBIE:
        return Boolean.valueOf(isReceiveFreebie());

      case SERIAL_NUMBERS:
        return getSerialNumbers();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ORDER_ID:
        return isSetOrderId();
      case RECEIVE_CONDITION:
        return isSetReceiveCondition();
      case RECEIVE_FREEBIE:
        return isSetReceiveFreebie();
      case SERIAL_NUMBERS:
        return isSetSerialNumbers();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof receiveReturn_args)
        return this.equals((receiveReturn_args)that);
      return false;
    }

    public boolean equals(receiveReturn_args that) {
      if (that == null)
        return false;

      boolean this_present_orderId = true;
      boolean that_present_orderId = true;
      if (this_present_orderId || that_present_orderId) {
        if (!(this_present_orderId && that_present_orderId))
          return false;
        if (this.orderId != that.orderId)
          return false;
      }

      boolean this_present_receiveCondition = true;
      boolean that_present_receiveCondition = true;
      if (this_present_receiveCondition || that_present_receiveCondition) {
        if (!(this_present_receiveCondition && that_present_receiveCondition))
          return false;
        if (this.receiveCondition != that.receiveCondition)
          return false;
      }

      boolean this_present_receiveFreebie = true;
      boolean that_present_receiveFreebie = true;
      if (this_present_receiveFreebie || that_present_receiveFreebie) {
        if (!(this_present_receiveFreebie && that_present_receiveFreebie))
          return false;
        if (this.receiveFreebie != that.receiveFreebie)
          return false;
      }

      boolean this_present_serialNumbers = true && this.isSetSerialNumbers();
      boolean that_present_serialNumbers = true && that.isSetSerialNumbers();
      if (this_present_serialNumbers || that_present_serialNumbers) {
        if (!(this_present_serialNumbers && that_present_serialNumbers))
          return false;
        if (!this.serialNumbers.equals(that.serialNumbers))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(receiveReturn_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      receiveReturn_args typedOther = (receiveReturn_args)other;

      lastComparison = Boolean.valueOf(isSetOrderId()).compareTo(typedOther.isSetOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.orderId, typedOther.orderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetReceiveCondition()).compareTo(typedOther.isSetReceiveCondition());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetReceiveCondition()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.receiveCondition, typedOther.receiveCondition);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetReceiveFreebie()).compareTo(typedOther.isSetReceiveFreebie());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetReceiveFreebie()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.receiveFreebie, typedOther.receiveFreebie);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetSerialNumbers()).compareTo(typedOther.isSetSerialNumbers());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSerialNumbers()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.serialNumbers, typedOther.serialNumbers);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.orderId = iprot.readI64();
              setOrderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // RECEIVE_CONDITION
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.receiveCondition = iprot.readI64();
              setReceiveConditionIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // RECEIVE_FREEBIE
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.receiveFreebie = iprot.readBool();
              setReceiveFreebieIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 4: // SERIAL_NUMBERS
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.serialNumbers = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ORDER_ID_FIELD_DESC);
      oprot.writeI64(this.orderId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(RECEIVE_CONDITION_FIELD_DESC);
      oprot.writeI64(this.receiveCondition);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(RECEIVE_FREEBIE_FIELD_DESC);
      oprot.writeBool(this.receiveFreebie);
      oprot.writeFieldEnd();
      if (this.serialNumbers != null) {
        oprot.writeFieldBegin(SERIAL_NUMBERS_FIELD_DESC);
        oprot.writeString(this.serialNumbers);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("receiveReturn_args(");
      boolean first = true;

      sb.append("orderId:");
      sb.append(this.orderId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("receiveCondition:");
      sb.append(this.receiveCondition);
      first = false;
      if (!first) sb.append(", ");
      sb.append("receiveFreebie:");
      sb.append(this.receiveFreebie);
      first = false;
      if (!first) sb.append(", ");
      sb.append("serialNumbers:");
      if (this.serialNumbers == null) {
        sb.append("null");
      } else {
        sb.append(this.serialNumbers);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class receiveReturn_result implements org.apache.thrift.TBase<receiveReturn_result, receiveReturn_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("receiveReturn_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private boolean success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(receiveReturn_result.class, metaDataMap);
    }

    public receiveReturn_result() {
    }

    public receiveReturn_result(
      boolean success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public receiveReturn_result(receiveReturn_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public receiveReturn_result deepCopy() {
      return new receiveReturn_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = false;
      this.ex = null;
    }

    public boolean isSuccess() {
      return this.success;
    }

    public void setSuccess(boolean success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Boolean.valueOf(isSuccess());

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof receiveReturn_result)
        return this.equals((receiveReturn_result)that);
      return false;
    }

    public boolean equals(receiveReturn_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(receiveReturn_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      receiveReturn_result typedOther = (receiveReturn_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.success = iprot.readBool();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBool(this.success);
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("receiveReturn_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class validateDoa_args implements org.apache.thrift.TBase<validateDoa_args, validateDoa_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("validateDoa_args");

    private static final org.apache.thrift.protocol.TField ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("orderId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField IS_VALID_FIELD_DESC = new org.apache.thrift.protocol.TField("isValid", org.apache.thrift.protocol.TType.BOOL, (short)2);

    private long orderId; // required
    private boolean isValid; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ORDER_ID((short)1, "orderId"),
      IS_VALID((short)2, "isValid");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ORDER_ID
            return ORDER_ID;
          case 2: // IS_VALID
            return IS_VALID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ORDERID_ISSET_ID = 0;
    private static final int __ISVALID_ISSET_ID = 1;
    private BitSet __isset_bit_vector = new BitSet(2);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("orderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.IS_VALID, new org.apache.thrift.meta_data.FieldMetaData("isValid", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(validateDoa_args.class, metaDataMap);
    }

    public validateDoa_args() {
    }

    public validateDoa_args(
      long orderId,
      boolean isValid)
    {
      this();
      this.orderId = orderId;
      setOrderIdIsSet(true);
      this.isValid = isValid;
      setIsValidIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public validateDoa_args(validateDoa_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.orderId = other.orderId;
      this.isValid = other.isValid;
    }

    public validateDoa_args deepCopy() {
      return new validateDoa_args(this);
    }

    @Override
    public void clear() {
      setOrderIdIsSet(false);
      this.orderId = 0;
      setIsValidIsSet(false);
      this.isValid = false;
    }

    public long getOrderId() {
      return this.orderId;
    }

    public void setOrderId(long orderId) {
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    public void unsetOrderId() {
      __isset_bit_vector.clear(__ORDERID_ISSET_ID);
    }

    /** Returns true if field orderId is set (has been assigned a value) and false otherwise */
    public boolean isSetOrderId() {
      return __isset_bit_vector.get(__ORDERID_ISSET_ID);
    }

    public void setOrderIdIsSet(boolean value) {
      __isset_bit_vector.set(__ORDERID_ISSET_ID, value);
    }

    public boolean isIsValid() {
      return this.isValid;
    }

    public void setIsValid(boolean isValid) {
      this.isValid = isValid;
      setIsValidIsSet(true);
    }

    public void unsetIsValid() {
      __isset_bit_vector.clear(__ISVALID_ISSET_ID);
    }

    /** Returns true if field isValid is set (has been assigned a value) and false otherwise */
    public boolean isSetIsValid() {
      return __isset_bit_vector.get(__ISVALID_ISSET_ID);
    }

    public void setIsValidIsSet(boolean value) {
      __isset_bit_vector.set(__ISVALID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ORDER_ID:
        if (value == null) {
          unsetOrderId();
        } else {
          setOrderId((Long)value);
        }
        break;

      case IS_VALID:
        if (value == null) {
          unsetIsValid();
        } else {
          setIsValid((Boolean)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ORDER_ID:
        return Long.valueOf(getOrderId());

      case IS_VALID:
        return Boolean.valueOf(isIsValid());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ORDER_ID:
        return isSetOrderId();
      case IS_VALID:
        return isSetIsValid();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof validateDoa_args)
        return this.equals((validateDoa_args)that);
      return false;
    }

    public boolean equals(validateDoa_args that) {
      if (that == null)
        return false;

      boolean this_present_orderId = true;
      boolean that_present_orderId = true;
      if (this_present_orderId || that_present_orderId) {
        if (!(this_present_orderId && that_present_orderId))
          return false;
        if (this.orderId != that.orderId)
          return false;
      }

      boolean this_present_isValid = true;
      boolean that_present_isValid = true;
      if (this_present_isValid || that_present_isValid) {
        if (!(this_present_isValid && that_present_isValid))
          return false;
        if (this.isValid != that.isValid)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(validateDoa_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      validateDoa_args typedOther = (validateDoa_args)other;

      lastComparison = Boolean.valueOf(isSetOrderId()).compareTo(typedOther.isSetOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.orderId, typedOther.orderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetIsValid()).compareTo(typedOther.isSetIsValid());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetIsValid()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.isValid, typedOther.isValid);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.orderId = iprot.readI64();
              setOrderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // IS_VALID
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.isValid = iprot.readBool();
              setIsValidIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ORDER_ID_FIELD_DESC);
      oprot.writeI64(this.orderId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(IS_VALID_FIELD_DESC);
      oprot.writeBool(this.isValid);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("validateDoa_args(");
      boolean first = true;

      sb.append("orderId:");
      sb.append(this.orderId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("isValid:");
      sb.append(this.isValid);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class validateDoa_result implements org.apache.thrift.TBase<validateDoa_result, validateDoa_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("validateDoa_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private boolean success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(validateDoa_result.class, metaDataMap);
    }

    public validateDoa_result() {
    }

    public validateDoa_result(
      boolean success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public validateDoa_result(validateDoa_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public validateDoa_result deepCopy() {
      return new validateDoa_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = false;
      this.ex = null;
    }

    public boolean isSuccess() {
      return this.success;
    }

    public void setSuccess(boolean success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Boolean.valueOf(isSuccess());

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof validateDoa_result)
        return this.equals((validateDoa_result)that);
      return false;
    }

    public boolean equals(validateDoa_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(validateDoa_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      validateDoa_result typedOther = (validateDoa_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.success = iprot.readBool();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBool(this.success);
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("validateDoa_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class validateReturnProduct_args implements org.apache.thrift.TBase<validateReturnProduct_args, validateReturnProduct_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("validateReturnProduct_args");

    private static final org.apache.thrift.protocol.TField ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("orderId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField IS_USABLE_FIELD_DESC = new org.apache.thrift.protocol.TField("isUsable", org.apache.thrift.protocol.TType.BOOL, (short)2);

    private long orderId; // required
    private boolean isUsable; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ORDER_ID((short)1, "orderId"),
      IS_USABLE((short)2, "isUsable");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ORDER_ID
            return ORDER_ID;
          case 2: // IS_USABLE
            return IS_USABLE;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ORDERID_ISSET_ID = 0;
    private static final int __ISUSABLE_ISSET_ID = 1;
    private BitSet __isset_bit_vector = new BitSet(2);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("orderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.IS_USABLE, new org.apache.thrift.meta_data.FieldMetaData("isUsable", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(validateReturnProduct_args.class, metaDataMap);
    }

    public validateReturnProduct_args() {
    }

    public validateReturnProduct_args(
      long orderId,
      boolean isUsable)
    {
      this();
      this.orderId = orderId;
      setOrderIdIsSet(true);
      this.isUsable = isUsable;
      setIsUsableIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public validateReturnProduct_args(validateReturnProduct_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.orderId = other.orderId;
      this.isUsable = other.isUsable;
    }

    public validateReturnProduct_args deepCopy() {
      return new validateReturnProduct_args(this);
    }

    @Override
    public void clear() {
      setOrderIdIsSet(false);
      this.orderId = 0;
      setIsUsableIsSet(false);
      this.isUsable = false;
    }

    public long getOrderId() {
      return this.orderId;
    }

    public void setOrderId(long orderId) {
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    public void unsetOrderId() {
      __isset_bit_vector.clear(__ORDERID_ISSET_ID);
    }

    /** Returns true if field orderId is set (has been assigned a value) and false otherwise */
    public boolean isSetOrderId() {
      return __isset_bit_vector.get(__ORDERID_ISSET_ID);
    }

    public void setOrderIdIsSet(boolean value) {
      __isset_bit_vector.set(__ORDERID_ISSET_ID, value);
    }

    public boolean isIsUsable() {
      return this.isUsable;
    }

    public void setIsUsable(boolean isUsable) {
      this.isUsable = isUsable;
      setIsUsableIsSet(true);
    }

    public void unsetIsUsable() {
      __isset_bit_vector.clear(__ISUSABLE_ISSET_ID);
    }

    /** Returns true if field isUsable is set (has been assigned a value) and false otherwise */
    public boolean isSetIsUsable() {
      return __isset_bit_vector.get(__ISUSABLE_ISSET_ID);
    }

    public void setIsUsableIsSet(boolean value) {
      __isset_bit_vector.set(__ISUSABLE_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ORDER_ID:
        if (value == null) {
          unsetOrderId();
        } else {
          setOrderId((Long)value);
        }
        break;

      case IS_USABLE:
        if (value == null) {
          unsetIsUsable();
        } else {
          setIsUsable((Boolean)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ORDER_ID:
        return Long.valueOf(getOrderId());

      case IS_USABLE:
        return Boolean.valueOf(isIsUsable());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ORDER_ID:
        return isSetOrderId();
      case IS_USABLE:
        return isSetIsUsable();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof validateReturnProduct_args)
        return this.equals((validateReturnProduct_args)that);
      return false;
    }

    public boolean equals(validateReturnProduct_args that) {
      if (that == null)
        return false;

      boolean this_present_orderId = true;
      boolean that_present_orderId = true;
      if (this_present_orderId || that_present_orderId) {
        if (!(this_present_orderId && that_present_orderId))
          return false;
        if (this.orderId != that.orderId)
          return false;
      }

      boolean this_present_isUsable = true;
      boolean that_present_isUsable = true;
      if (this_present_isUsable || that_present_isUsable) {
        if (!(this_present_isUsable && that_present_isUsable))
          return false;
        if (this.isUsable != that.isUsable)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(validateReturnProduct_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      validateReturnProduct_args typedOther = (validateReturnProduct_args)other;

      lastComparison = Boolean.valueOf(isSetOrderId()).compareTo(typedOther.isSetOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.orderId, typedOther.orderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetIsUsable()).compareTo(typedOther.isSetIsUsable());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetIsUsable()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.isUsable, typedOther.isUsable);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.orderId = iprot.readI64();
              setOrderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // IS_USABLE
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.isUsable = iprot.readBool();
              setIsUsableIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ORDER_ID_FIELD_DESC);
      oprot.writeI64(this.orderId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(IS_USABLE_FIELD_DESC);
      oprot.writeBool(this.isUsable);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("validateReturnProduct_args(");
      boolean first = true;

      sb.append("orderId:");
      sb.append(this.orderId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("isUsable:");
      sb.append(this.isUsable);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class validateReturnProduct_result implements org.apache.thrift.TBase<validateReturnProduct_result, validateReturnProduct_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("validateReturnProduct_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private boolean success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(validateReturnProduct_result.class, metaDataMap);
    }

    public validateReturnProduct_result() {
    }

    public validateReturnProduct_result(
      boolean success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public validateReturnProduct_result(validateReturnProduct_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public validateReturnProduct_result deepCopy() {
      return new validateReturnProduct_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = false;
      this.ex = null;
    }

    public boolean isSuccess() {
      return this.success;
    }

    public void setSuccess(boolean success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Boolean.valueOf(isSuccess());

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof validateReturnProduct_result)
        return this.equals((validateReturnProduct_result)that);
      return false;
    }

    public boolean equals(validateReturnProduct_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(validateReturnProduct_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      validateReturnProduct_result typedOther = (validateReturnProduct_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.success = iprot.readBool();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBool(this.success);
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("validateReturnProduct_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class reshipOrder_args implements org.apache.thrift.TBase<reshipOrder_args, reshipOrder_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("reshipOrder_args");

    private static final org.apache.thrift.protocol.TField ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("orderId", org.apache.thrift.protocol.TType.I64, (short)1);

    private long orderId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ORDER_ID((short)1, "orderId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ORDER_ID
            return ORDER_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ORDERID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("orderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(reshipOrder_args.class, metaDataMap);
    }

    public reshipOrder_args() {
    }

    public reshipOrder_args(
      long orderId)
    {
      this();
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public reshipOrder_args(reshipOrder_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.orderId = other.orderId;
    }

    public reshipOrder_args deepCopy() {
      return new reshipOrder_args(this);
    }

    @Override
    public void clear() {
      setOrderIdIsSet(false);
      this.orderId = 0;
    }

    public long getOrderId() {
      return this.orderId;
    }

    public void setOrderId(long orderId) {
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    public void unsetOrderId() {
      __isset_bit_vector.clear(__ORDERID_ISSET_ID);
    }

    /** Returns true if field orderId is set (has been assigned a value) and false otherwise */
    public boolean isSetOrderId() {
      return __isset_bit_vector.get(__ORDERID_ISSET_ID);
    }

    public void setOrderIdIsSet(boolean value) {
      __isset_bit_vector.set(__ORDERID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ORDER_ID:
        if (value == null) {
          unsetOrderId();
        } else {
          setOrderId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ORDER_ID:
        return Long.valueOf(getOrderId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ORDER_ID:
        return isSetOrderId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof reshipOrder_args)
        return this.equals((reshipOrder_args)that);
      return false;
    }

    public boolean equals(reshipOrder_args that) {
      if (that == null)
        return false;

      boolean this_present_orderId = true;
      boolean that_present_orderId = true;
      if (this_present_orderId || that_present_orderId) {
        if (!(this_present_orderId && that_present_orderId))
          return false;
        if (this.orderId != that.orderId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(reshipOrder_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      reshipOrder_args typedOther = (reshipOrder_args)other;

      lastComparison = Boolean.valueOf(isSetOrderId()).compareTo(typedOther.isSetOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.orderId, typedOther.orderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.orderId = iprot.readI64();
              setOrderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ORDER_ID_FIELD_DESC);
      oprot.writeI64(this.orderId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("reshipOrder_args(");
      boolean first = true;

      sb.append("orderId:");
      sb.append(this.orderId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class reshipOrder_result implements org.apache.thrift.TBase<reshipOrder_result, reshipOrder_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("reshipOrder_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.I64, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private long success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(reshipOrder_result.class, metaDataMap);
    }

    public reshipOrder_result() {
    }

    public reshipOrder_result(
      long success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public reshipOrder_result(reshipOrder_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public reshipOrder_result deepCopy() {
      return new reshipOrder_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = 0;
      this.ex = null;
    }

    public long getSuccess() {
      return this.success;
    }

    public void setSuccess(long success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Long)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Long.valueOf(getSuccess());

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof reshipOrder_result)
        return this.equals((reshipOrder_result)that);
      return false;
    }

    public boolean equals(reshipOrder_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(reshipOrder_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      reshipOrder_result typedOther = (reshipOrder_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.success = iprot.readI64();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeI64(this.success);
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("reshipOrder_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class refundOrder_args implements org.apache.thrift.TBase<refundOrder_args, refundOrder_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("refundOrder_args");

    private static final org.apache.thrift.protocol.TField ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("orderId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField REFUNDED_BY_FIELD_DESC = new org.apache.thrift.protocol.TField("refundedBy", org.apache.thrift.protocol.TType.STRING, (short)2);
    private static final org.apache.thrift.protocol.TField REASON_FIELD_DESC = new org.apache.thrift.protocol.TField("reason", org.apache.thrift.protocol.TType.STRING, (short)3);

    private long orderId; // required
    private String refundedBy; // required
    private String reason; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ORDER_ID((short)1, "orderId"),
      REFUNDED_BY((short)2, "refundedBy"),
      REASON((short)3, "reason");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ORDER_ID
            return ORDER_ID;
          case 2: // REFUNDED_BY
            return REFUNDED_BY;
          case 3: // REASON
            return REASON;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ORDERID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("orderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.REFUNDED_BY, new org.apache.thrift.meta_data.FieldMetaData("refundedBy", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.REASON, new org.apache.thrift.meta_data.FieldMetaData("reason", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(refundOrder_args.class, metaDataMap);
    }

    public refundOrder_args() {
    }

    public refundOrder_args(
      long orderId,
      String refundedBy,
      String reason)
    {
      this();
      this.orderId = orderId;
      setOrderIdIsSet(true);
      this.refundedBy = refundedBy;
      this.reason = reason;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public refundOrder_args(refundOrder_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.orderId = other.orderId;
      if (other.isSetRefundedBy()) {
        this.refundedBy = other.refundedBy;
      }
      if (other.isSetReason()) {
        this.reason = other.reason;
      }
    }

    public refundOrder_args deepCopy() {
      return new refundOrder_args(this);
    }

    @Override
    public void clear() {
      setOrderIdIsSet(false);
      this.orderId = 0;
      this.refundedBy = null;
      this.reason = null;
    }

    public long getOrderId() {
      return this.orderId;
    }

    public void setOrderId(long orderId) {
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    public void unsetOrderId() {
      __isset_bit_vector.clear(__ORDERID_ISSET_ID);
    }

    /** Returns true if field orderId is set (has been assigned a value) and false otherwise */
    public boolean isSetOrderId() {
      return __isset_bit_vector.get(__ORDERID_ISSET_ID);
    }

    public void setOrderIdIsSet(boolean value) {
      __isset_bit_vector.set(__ORDERID_ISSET_ID, value);
    }

    public String getRefundedBy() {
      return this.refundedBy;
    }

    public void setRefundedBy(String refundedBy) {
      this.refundedBy = refundedBy;
    }

    public void unsetRefundedBy() {
      this.refundedBy = null;
    }

    /** Returns true if field refundedBy is set (has been assigned a value) and false otherwise */
    public boolean isSetRefundedBy() {
      return this.refundedBy != null;
    }

    public void setRefundedByIsSet(boolean value) {
      if (!value) {
        this.refundedBy = null;
      }
    }

    public String getReason() {
      return this.reason;
    }

    public void setReason(String reason) {
      this.reason = reason;
    }

    public void unsetReason() {
      this.reason = null;
    }

    /** Returns true if field reason is set (has been assigned a value) and false otherwise */
    public boolean isSetReason() {
      return this.reason != null;
    }

    public void setReasonIsSet(boolean value) {
      if (!value) {
        this.reason = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ORDER_ID:
        if (value == null) {
          unsetOrderId();
        } else {
          setOrderId((Long)value);
        }
        break;

      case REFUNDED_BY:
        if (value == null) {
          unsetRefundedBy();
        } else {
          setRefundedBy((String)value);
        }
        break;

      case REASON:
        if (value == null) {
          unsetReason();
        } else {
          setReason((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ORDER_ID:
        return Long.valueOf(getOrderId());

      case REFUNDED_BY:
        return getRefundedBy();

      case REASON:
        return getReason();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ORDER_ID:
        return isSetOrderId();
      case REFUNDED_BY:
        return isSetRefundedBy();
      case REASON:
        return isSetReason();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof refundOrder_args)
        return this.equals((refundOrder_args)that);
      return false;
    }

    public boolean equals(refundOrder_args that) {
      if (that == null)
        return false;

      boolean this_present_orderId = true;
      boolean that_present_orderId = true;
      if (this_present_orderId || that_present_orderId) {
        if (!(this_present_orderId && that_present_orderId))
          return false;
        if (this.orderId != that.orderId)
          return false;
      }

      boolean this_present_refundedBy = true && this.isSetRefundedBy();
      boolean that_present_refundedBy = true && that.isSetRefundedBy();
      if (this_present_refundedBy || that_present_refundedBy) {
        if (!(this_present_refundedBy && that_present_refundedBy))
          return false;
        if (!this.refundedBy.equals(that.refundedBy))
          return false;
      }

      boolean this_present_reason = true && this.isSetReason();
      boolean that_present_reason = true && that.isSetReason();
      if (this_present_reason || that_present_reason) {
        if (!(this_present_reason && that_present_reason))
          return false;
        if (!this.reason.equals(that.reason))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(refundOrder_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      refundOrder_args typedOther = (refundOrder_args)other;

      lastComparison = Boolean.valueOf(isSetOrderId()).compareTo(typedOther.isSetOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.orderId, typedOther.orderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetRefundedBy()).compareTo(typedOther.isSetRefundedBy());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetRefundedBy()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.refundedBy, typedOther.refundedBy);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetReason()).compareTo(typedOther.isSetReason());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetReason()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.reason, typedOther.reason);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.orderId = iprot.readI64();
              setOrderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // REFUNDED_BY
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.refundedBy = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // REASON
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.reason = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ORDER_ID_FIELD_DESC);
      oprot.writeI64(this.orderId);
      oprot.writeFieldEnd();
      if (this.refundedBy != null) {
        oprot.writeFieldBegin(REFUNDED_BY_FIELD_DESC);
        oprot.writeString(this.refundedBy);
        oprot.writeFieldEnd();
      }
      if (this.reason != null) {
        oprot.writeFieldBegin(REASON_FIELD_DESC);
        oprot.writeString(this.reason);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("refundOrder_args(");
      boolean first = true;

      sb.append("orderId:");
      sb.append(this.orderId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("refundedBy:");
      if (this.refundedBy == null) {
        sb.append("null");
      } else {
        sb.append(this.refundedBy);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("reason:");
      if (this.reason == null) {
        sb.append("null");
      } else {
        sb.append(this.reason);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class refundOrder_result implements org.apache.thrift.TBase<refundOrder_result, refundOrder_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("refundOrder_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private boolean success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(refundOrder_result.class, metaDataMap);
    }

    public refundOrder_result() {
    }

    public refundOrder_result(
      boolean success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public refundOrder_result(refundOrder_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public refundOrder_result deepCopy() {
      return new refundOrder_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = false;
      this.ex = null;
    }

    public boolean isSuccess() {
      return this.success;
    }

    public void setSuccess(boolean success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Boolean.valueOf(isSuccess());

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof refundOrder_result)
        return this.equals((refundOrder_result)that);
      return false;
    }

    public boolean equals(refundOrder_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(refundOrder_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      refundOrder_result typedOther = (refundOrder_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.success = iprot.readBool();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBool(this.success);
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("refundOrder_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getReturnOrders_args implements org.apache.thrift.TBase<getReturnOrders_args, getReturnOrders_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getReturnOrders_args");

    private static final org.apache.thrift.protocol.TField WAREHOUSE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("warehouseId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField FROM_DATE_FIELD_DESC = new org.apache.thrift.protocol.TField("fromDate", org.apache.thrift.protocol.TType.I64, (short)2);
    private static final org.apache.thrift.protocol.TField TO_DATE_FIELD_DESC = new org.apache.thrift.protocol.TField("toDate", org.apache.thrift.protocol.TType.I64, (short)3);

    private long warehouseId; // required
    private long fromDate; // required
    private long toDate; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      WAREHOUSE_ID((short)1, "warehouseId"),
      FROM_DATE((short)2, "fromDate"),
      TO_DATE((short)3, "toDate");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // WAREHOUSE_ID
            return WAREHOUSE_ID;
          case 2: // FROM_DATE
            return FROM_DATE;
          case 3: // TO_DATE
            return TO_DATE;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __WAREHOUSEID_ISSET_ID = 0;
    private static final int __FROMDATE_ISSET_ID = 1;
    private static final int __TODATE_ISSET_ID = 2;
    private BitSet __isset_bit_vector = new BitSet(3);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.WAREHOUSE_ID, new org.apache.thrift.meta_data.FieldMetaData("warehouseId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.FROM_DATE, new org.apache.thrift.meta_data.FieldMetaData("fromDate", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.TO_DATE, new org.apache.thrift.meta_data.FieldMetaData("toDate", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getReturnOrders_args.class, metaDataMap);
    }

    public getReturnOrders_args() {
    }

    public getReturnOrders_args(
      long warehouseId,
      long fromDate,
      long toDate)
    {
      this();
      this.warehouseId = warehouseId;
      setWarehouseIdIsSet(true);
      this.fromDate = fromDate;
      setFromDateIsSet(true);
      this.toDate = toDate;
      setToDateIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getReturnOrders_args(getReturnOrders_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.warehouseId = other.warehouseId;
      this.fromDate = other.fromDate;
      this.toDate = other.toDate;
    }

    public getReturnOrders_args deepCopy() {
      return new getReturnOrders_args(this);
    }

    @Override
    public void clear() {
      setWarehouseIdIsSet(false);
      this.warehouseId = 0;
      setFromDateIsSet(false);
      this.fromDate = 0;
      setToDateIsSet(false);
      this.toDate = 0;
    }

    public long getWarehouseId() {
      return this.warehouseId;
    }

    public void setWarehouseId(long warehouseId) {
      this.warehouseId = warehouseId;
      setWarehouseIdIsSet(true);
    }

    public void unsetWarehouseId() {
      __isset_bit_vector.clear(__WAREHOUSEID_ISSET_ID);
    }

    /** Returns true if field warehouseId is set (has been assigned a value) and false otherwise */
    public boolean isSetWarehouseId() {
      return __isset_bit_vector.get(__WAREHOUSEID_ISSET_ID);
    }

    public void setWarehouseIdIsSet(boolean value) {
      __isset_bit_vector.set(__WAREHOUSEID_ISSET_ID, value);
    }

    public long getFromDate() {
      return this.fromDate;
    }

    public void setFromDate(long fromDate) {
      this.fromDate = fromDate;
      setFromDateIsSet(true);
    }

    public void unsetFromDate() {
      __isset_bit_vector.clear(__FROMDATE_ISSET_ID);
    }

    /** Returns true if field fromDate is set (has been assigned a value) and false otherwise */
    public boolean isSetFromDate() {
      return __isset_bit_vector.get(__FROMDATE_ISSET_ID);
    }

    public void setFromDateIsSet(boolean value) {
      __isset_bit_vector.set(__FROMDATE_ISSET_ID, value);
    }

    public long getToDate() {
      return this.toDate;
    }

    public void setToDate(long toDate) {
      this.toDate = toDate;
      setToDateIsSet(true);
    }

    public void unsetToDate() {
      __isset_bit_vector.clear(__TODATE_ISSET_ID);
    }

    /** Returns true if field toDate is set (has been assigned a value) and false otherwise */
    public boolean isSetToDate() {
      return __isset_bit_vector.get(__TODATE_ISSET_ID);
    }

    public void setToDateIsSet(boolean value) {
      __isset_bit_vector.set(__TODATE_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case WAREHOUSE_ID:
        if (value == null) {
          unsetWarehouseId();
        } else {
          setWarehouseId((Long)value);
        }
        break;

      case FROM_DATE:
        if (value == null) {
          unsetFromDate();
        } else {
          setFromDate((Long)value);
        }
        break;

      case TO_DATE:
        if (value == null) {
          unsetToDate();
        } else {
          setToDate((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case WAREHOUSE_ID:
        return Long.valueOf(getWarehouseId());

      case FROM_DATE:
        return Long.valueOf(getFromDate());

      case TO_DATE:
        return Long.valueOf(getToDate());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case WAREHOUSE_ID:
        return isSetWarehouseId();
      case FROM_DATE:
        return isSetFromDate();
      case TO_DATE:
        return isSetToDate();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getReturnOrders_args)
        return this.equals((getReturnOrders_args)that);
      return false;
    }

    public boolean equals(getReturnOrders_args that) {
      if (that == null)
        return false;

      boolean this_present_warehouseId = true;
      boolean that_present_warehouseId = true;
      if (this_present_warehouseId || that_present_warehouseId) {
        if (!(this_present_warehouseId && that_present_warehouseId))
          return false;
        if (this.warehouseId != that.warehouseId)
          return false;
      }

      boolean this_present_fromDate = true;
      boolean that_present_fromDate = true;
      if (this_present_fromDate || that_present_fromDate) {
        if (!(this_present_fromDate && that_present_fromDate))
          return false;
        if (this.fromDate != that.fromDate)
          return false;
      }

      boolean this_present_toDate = true;
      boolean that_present_toDate = true;
      if (this_present_toDate || that_present_toDate) {
        if (!(this_present_toDate && that_present_toDate))
          return false;
        if (this.toDate != that.toDate)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getReturnOrders_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getReturnOrders_args typedOther = (getReturnOrders_args)other;

      lastComparison = Boolean.valueOf(isSetWarehouseId()).compareTo(typedOther.isSetWarehouseId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetWarehouseId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.warehouseId, typedOther.warehouseId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetFromDate()).compareTo(typedOther.isSetFromDate());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetFromDate()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.fromDate, typedOther.fromDate);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetToDate()).compareTo(typedOther.isSetToDate());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetToDate()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.toDate, typedOther.toDate);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // WAREHOUSE_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.warehouseId = iprot.readI64();
              setWarehouseIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // FROM_DATE
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.fromDate = iprot.readI64();
              setFromDateIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // TO_DATE
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.toDate = iprot.readI64();
              setToDateIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(WAREHOUSE_ID_FIELD_DESC);
      oprot.writeI64(this.warehouseId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(FROM_DATE_FIELD_DESC);
      oprot.writeI64(this.fromDate);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(TO_DATE_FIELD_DESC);
      oprot.writeI64(this.toDate);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getReturnOrders_args(");
      boolean first = true;

      sb.append("warehouseId:");
      sb.append(this.warehouseId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("fromDate:");
      sb.append(this.fromDate);
      first = false;
      if (!first) sb.append(", ");
      sb.append("toDate:");
      sb.append(this.toDate);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getReturnOrders_result implements org.apache.thrift.TBase<getReturnOrders_result, getReturnOrders_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getReturnOrders_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);

    private List<ReturnOrder> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, ReturnOrder.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getReturnOrders_result.class, metaDataMap);
    }

    public getReturnOrders_result() {
    }

    public getReturnOrders_result(
      List<ReturnOrder> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getReturnOrders_result(getReturnOrders_result other) {
      if (other.isSetSuccess()) {
        List<ReturnOrder> __this__success = new ArrayList<ReturnOrder>();
        for (ReturnOrder other_element : other.success) {
          __this__success.add(new ReturnOrder(other_element));
        }
        this.success = __this__success;
      }
    }

    public getReturnOrders_result deepCopy() {
      return new getReturnOrders_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<ReturnOrder> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(ReturnOrder elem) {
      if (this.success == null) {
        this.success = new ArrayList<ReturnOrder>();
      }
      this.success.add(elem);
    }

    public List<ReturnOrder> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<ReturnOrder> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<ReturnOrder>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getReturnOrders_result)
        return this.equals((getReturnOrders_result)that);
      return false;
    }

    public boolean equals(getReturnOrders_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getReturnOrders_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getReturnOrders_result typedOther = (getReturnOrders_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list265 = iprot.readListBegin();
                this.success = new ArrayList<ReturnOrder>(_list265.size);
                for (int _i266 = 0; _i266 < _list265.size; ++_i266)
                {
                  ReturnOrder _elem267; // required
                  _elem267 = new ReturnOrder();
                  _elem267.read(iprot);
                  this.success.add(_elem267);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (ReturnOrder _iter268 : this.success)
          {
            _iter268.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getReturnOrders_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getAllReturnOrders_args implements org.apache.thrift.TBase<getAllReturnOrders_args, getAllReturnOrders_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllReturnOrders_args");

    private static final org.apache.thrift.protocol.TField ONLY_NOT_PROCESSED_FIELD_DESC = new org.apache.thrift.protocol.TField("onlyNotProcessed", org.apache.thrift.protocol.TType.BOOL, (short)1);
    private static final org.apache.thrift.protocol.TField FROM_DATE_FIELD_DESC = new org.apache.thrift.protocol.TField("fromDate", org.apache.thrift.protocol.TType.I64, (short)2);
    private static final org.apache.thrift.protocol.TField TO_DATE_FIELD_DESC = new org.apache.thrift.protocol.TField("toDate", org.apache.thrift.protocol.TType.I64, (short)3);

    private boolean onlyNotProcessed; // required
    private long fromDate; // required
    private long toDate; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ONLY_NOT_PROCESSED((short)1, "onlyNotProcessed"),
      FROM_DATE((short)2, "fromDate"),
      TO_DATE((short)3, "toDate");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ONLY_NOT_PROCESSED
            return ONLY_NOT_PROCESSED;
          case 2: // FROM_DATE
            return FROM_DATE;
          case 3: // TO_DATE
            return TO_DATE;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ONLYNOTPROCESSED_ISSET_ID = 0;
    private static final int __FROMDATE_ISSET_ID = 1;
    private static final int __TODATE_ISSET_ID = 2;
    private BitSet __isset_bit_vector = new BitSet(3);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ONLY_NOT_PROCESSED, new org.apache.thrift.meta_data.FieldMetaData("onlyNotProcessed", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      tmpMap.put(_Fields.FROM_DATE, new org.apache.thrift.meta_data.FieldMetaData("fromDate", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.TO_DATE, new org.apache.thrift.meta_data.FieldMetaData("toDate", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAllReturnOrders_args.class, metaDataMap);
    }

    public getAllReturnOrders_args() {
    }

    public getAllReturnOrders_args(
      boolean onlyNotProcessed,
      long fromDate,
      long toDate)
    {
      this();
      this.onlyNotProcessed = onlyNotProcessed;
      setOnlyNotProcessedIsSet(true);
      this.fromDate = fromDate;
      setFromDateIsSet(true);
      this.toDate = toDate;
      setToDateIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getAllReturnOrders_args(getAllReturnOrders_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.onlyNotProcessed = other.onlyNotProcessed;
      this.fromDate = other.fromDate;
      this.toDate = other.toDate;
    }

    public getAllReturnOrders_args deepCopy() {
      return new getAllReturnOrders_args(this);
    }

    @Override
    public void clear() {
      setOnlyNotProcessedIsSet(false);
      this.onlyNotProcessed = false;
      setFromDateIsSet(false);
      this.fromDate = 0;
      setToDateIsSet(false);
      this.toDate = 0;
    }

    public boolean isOnlyNotProcessed() {
      return this.onlyNotProcessed;
    }

    public void setOnlyNotProcessed(boolean onlyNotProcessed) {
      this.onlyNotProcessed = onlyNotProcessed;
      setOnlyNotProcessedIsSet(true);
    }

    public void unsetOnlyNotProcessed() {
      __isset_bit_vector.clear(__ONLYNOTPROCESSED_ISSET_ID);
    }

    /** Returns true if field onlyNotProcessed is set (has been assigned a value) and false otherwise */
    public boolean isSetOnlyNotProcessed() {
      return __isset_bit_vector.get(__ONLYNOTPROCESSED_ISSET_ID);
    }

    public void setOnlyNotProcessedIsSet(boolean value) {
      __isset_bit_vector.set(__ONLYNOTPROCESSED_ISSET_ID, value);
    }

    public long getFromDate() {
      return this.fromDate;
    }

    public void setFromDate(long fromDate) {
      this.fromDate = fromDate;
      setFromDateIsSet(true);
    }

    public void unsetFromDate() {
      __isset_bit_vector.clear(__FROMDATE_ISSET_ID);
    }

    /** Returns true if field fromDate is set (has been assigned a value) and false otherwise */
    public boolean isSetFromDate() {
      return __isset_bit_vector.get(__FROMDATE_ISSET_ID);
    }

    public void setFromDateIsSet(boolean value) {
      __isset_bit_vector.set(__FROMDATE_ISSET_ID, value);
    }

    public long getToDate() {
      return this.toDate;
    }

    public void setToDate(long toDate) {
      this.toDate = toDate;
      setToDateIsSet(true);
    }

    public void unsetToDate() {
      __isset_bit_vector.clear(__TODATE_ISSET_ID);
    }

    /** Returns true if field toDate is set (has been assigned a value) and false otherwise */
    public boolean isSetToDate() {
      return __isset_bit_vector.get(__TODATE_ISSET_ID);
    }

    public void setToDateIsSet(boolean value) {
      __isset_bit_vector.set(__TODATE_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ONLY_NOT_PROCESSED:
        if (value == null) {
          unsetOnlyNotProcessed();
        } else {
          setOnlyNotProcessed((Boolean)value);
        }
        break;

      case FROM_DATE:
        if (value == null) {
          unsetFromDate();
        } else {
          setFromDate((Long)value);
        }
        break;

      case TO_DATE:
        if (value == null) {
          unsetToDate();
        } else {
          setToDate((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ONLY_NOT_PROCESSED:
        return Boolean.valueOf(isOnlyNotProcessed());

      case FROM_DATE:
        return Long.valueOf(getFromDate());

      case TO_DATE:
        return Long.valueOf(getToDate());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ONLY_NOT_PROCESSED:
        return isSetOnlyNotProcessed();
      case FROM_DATE:
        return isSetFromDate();
      case TO_DATE:
        return isSetToDate();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getAllReturnOrders_args)
        return this.equals((getAllReturnOrders_args)that);
      return false;
    }

    public boolean equals(getAllReturnOrders_args that) {
      if (that == null)
        return false;

      boolean this_present_onlyNotProcessed = true;
      boolean that_present_onlyNotProcessed = true;
      if (this_present_onlyNotProcessed || that_present_onlyNotProcessed) {
        if (!(this_present_onlyNotProcessed && that_present_onlyNotProcessed))
          return false;
        if (this.onlyNotProcessed != that.onlyNotProcessed)
          return false;
      }

      boolean this_present_fromDate = true;
      boolean that_present_fromDate = true;
      if (this_present_fromDate || that_present_fromDate) {
        if (!(this_present_fromDate && that_present_fromDate))
          return false;
        if (this.fromDate != that.fromDate)
          return false;
      }

      boolean this_present_toDate = true;
      boolean that_present_toDate = true;
      if (this_present_toDate || that_present_toDate) {
        if (!(this_present_toDate && that_present_toDate))
          return false;
        if (this.toDate != that.toDate)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getAllReturnOrders_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getAllReturnOrders_args typedOther = (getAllReturnOrders_args)other;

      lastComparison = Boolean.valueOf(isSetOnlyNotProcessed()).compareTo(typedOther.isSetOnlyNotProcessed());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOnlyNotProcessed()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.onlyNotProcessed, typedOther.onlyNotProcessed);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetFromDate()).compareTo(typedOther.isSetFromDate());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetFromDate()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.fromDate, typedOther.fromDate);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetToDate()).compareTo(typedOther.isSetToDate());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetToDate()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.toDate, typedOther.toDate);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ONLY_NOT_PROCESSED
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.onlyNotProcessed = iprot.readBool();
              setOnlyNotProcessedIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // FROM_DATE
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.fromDate = iprot.readI64();
              setFromDateIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // TO_DATE
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.toDate = iprot.readI64();
              setToDateIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ONLY_NOT_PROCESSED_FIELD_DESC);
      oprot.writeBool(this.onlyNotProcessed);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(FROM_DATE_FIELD_DESC);
      oprot.writeI64(this.fromDate);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(TO_DATE_FIELD_DESC);
      oprot.writeI64(this.toDate);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getAllReturnOrders_args(");
      boolean first = true;

      sb.append("onlyNotProcessed:");
      sb.append(this.onlyNotProcessed);
      first = false;
      if (!first) sb.append(", ");
      sb.append("fromDate:");
      sb.append(this.fromDate);
      first = false;
      if (!first) sb.append(", ");
      sb.append("toDate:");
      sb.append(this.toDate);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getAllReturnOrders_result implements org.apache.thrift.TBase<getAllReturnOrders_result, getAllReturnOrders_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllReturnOrders_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);

    private List<ReturnOrder> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, ReturnOrder.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAllReturnOrders_result.class, metaDataMap);
    }

    public getAllReturnOrders_result() {
    }

    public getAllReturnOrders_result(
      List<ReturnOrder> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getAllReturnOrders_result(getAllReturnOrders_result other) {
      if (other.isSetSuccess()) {
        List<ReturnOrder> __this__success = new ArrayList<ReturnOrder>();
        for (ReturnOrder other_element : other.success) {
          __this__success.add(new ReturnOrder(other_element));
        }
        this.success = __this__success;
      }
    }

    public getAllReturnOrders_result deepCopy() {
      return new getAllReturnOrders_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<ReturnOrder> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(ReturnOrder elem) {
      if (this.success == null) {
        this.success = new ArrayList<ReturnOrder>();
      }
      this.success.add(elem);
    }

    public List<ReturnOrder> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<ReturnOrder> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<ReturnOrder>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getAllReturnOrders_result)
        return this.equals((getAllReturnOrders_result)that);
      return false;
    }

    public boolean equals(getAllReturnOrders_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getAllReturnOrders_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getAllReturnOrders_result typedOther = (getAllReturnOrders_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list269 = iprot.readListBegin();
                this.success = new ArrayList<ReturnOrder>(_list269.size);
                for (int _i270 = 0; _i270 < _list269.size; ++_i270)
                {
                  ReturnOrder _elem271; // required
                  _elem271 = new ReturnOrder();
                  _elem271.read(iprot);
                  this.success.add(_elem271);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (ReturnOrder _iter272 : this.success)
          {
            _iter272.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getAllReturnOrders_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getReturnOrder_args implements org.apache.thrift.TBase<getReturnOrder_args, getReturnOrder_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getReturnOrder_args");

    private static final org.apache.thrift.protocol.TField ID_FIELD_DESC = new org.apache.thrift.protocol.TField("id", org.apache.thrift.protocol.TType.I64, (short)1);

    private long id; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ID((short)1, "id");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ID
            return ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ID, new org.apache.thrift.meta_data.FieldMetaData("id", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getReturnOrder_args.class, metaDataMap);
    }

    public getReturnOrder_args() {
    }

    public getReturnOrder_args(
      long id)
    {
      this();
      this.id = id;
      setIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getReturnOrder_args(getReturnOrder_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.id = other.id;
    }

    public getReturnOrder_args deepCopy() {
      return new getReturnOrder_args(this);
    }

    @Override
    public void clear() {
      setIdIsSet(false);
      this.id = 0;
    }

    public long getId() {
      return this.id;
    }

    public void setId(long id) {
      this.id = id;
      setIdIsSet(true);
    }

    public void unsetId() {
      __isset_bit_vector.clear(__ID_ISSET_ID);
    }

    /** Returns true if field id is set (has been assigned a value) and false otherwise */
    public boolean isSetId() {
      return __isset_bit_vector.get(__ID_ISSET_ID);
    }

    public void setIdIsSet(boolean value) {
      __isset_bit_vector.set(__ID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ID:
        if (value == null) {
          unsetId();
        } else {
          setId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ID:
        return Long.valueOf(getId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ID:
        return isSetId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getReturnOrder_args)
        return this.equals((getReturnOrder_args)that);
      return false;
    }

    public boolean equals(getReturnOrder_args that) {
      if (that == null)
        return false;

      boolean this_present_id = true;
      boolean that_present_id = true;
      if (this_present_id || that_present_id) {
        if (!(this_present_id && that_present_id))
          return false;
        if (this.id != that.id)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getReturnOrder_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getReturnOrder_args typedOther = (getReturnOrder_args)other;

      lastComparison = Boolean.valueOf(isSetId()).compareTo(typedOther.isSetId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.id, typedOther.id);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.id = iprot.readI64();
              setIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ID_FIELD_DESC);
      oprot.writeI64(this.id);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getReturnOrder_args(");
      boolean first = true;

      sb.append("id:");
      sb.append(this.id);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getReturnOrder_result implements org.apache.thrift.TBase<getReturnOrder_result, getReturnOrder_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getReturnOrder_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private ReturnOrder success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, ReturnOrder.class)));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getReturnOrder_result.class, metaDataMap);
    }

    public getReturnOrder_result() {
    }

    public getReturnOrder_result(
      ReturnOrder success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getReturnOrder_result(getReturnOrder_result other) {
      if (other.isSetSuccess()) {
        this.success = new ReturnOrder(other.success);
      }
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public getReturnOrder_result deepCopy() {
      return new getReturnOrder_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.ex = null;
    }

    public ReturnOrder getSuccess() {
      return this.success;
    }

    public void setSuccess(ReturnOrder success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((ReturnOrder)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getReturnOrder_result)
        return this.equals((getReturnOrder_result)that);
      return false;
    }

    public boolean equals(getReturnOrder_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getReturnOrder_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getReturnOrder_result typedOther = (getReturnOrder_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.success = new ReturnOrder();
              this.success.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        this.success.write(oprot);
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getReturnOrder_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class processReturn_args implements org.apache.thrift.TBase<processReturn_args, processReturn_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("processReturn_args");

    private static final org.apache.thrift.protocol.TField RETURN_ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("returnOrderId", org.apache.thrift.protocol.TType.I64, (short)1);

    private long returnOrderId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      RETURN_ORDER_ID((short)1, "returnOrderId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // RETURN_ORDER_ID
            return RETURN_ORDER_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __RETURNORDERID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.RETURN_ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("returnOrderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(processReturn_args.class, metaDataMap);
    }

    public processReturn_args() {
    }

    public processReturn_args(
      long returnOrderId)
    {
      this();
      this.returnOrderId = returnOrderId;
      setReturnOrderIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public processReturn_args(processReturn_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.returnOrderId = other.returnOrderId;
    }

    public processReturn_args deepCopy() {
      return new processReturn_args(this);
    }

    @Override
    public void clear() {
      setReturnOrderIdIsSet(false);
      this.returnOrderId = 0;
    }

    public long getReturnOrderId() {
      return this.returnOrderId;
    }

    public void setReturnOrderId(long returnOrderId) {
      this.returnOrderId = returnOrderId;
      setReturnOrderIdIsSet(true);
    }

    public void unsetReturnOrderId() {
      __isset_bit_vector.clear(__RETURNORDERID_ISSET_ID);
    }

    /** Returns true if field returnOrderId is set (has been assigned a value) and false otherwise */
    public boolean isSetReturnOrderId() {
      return __isset_bit_vector.get(__RETURNORDERID_ISSET_ID);
    }

    public void setReturnOrderIdIsSet(boolean value) {
      __isset_bit_vector.set(__RETURNORDERID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case RETURN_ORDER_ID:
        if (value == null) {
          unsetReturnOrderId();
        } else {
          setReturnOrderId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case RETURN_ORDER_ID:
        return Long.valueOf(getReturnOrderId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case RETURN_ORDER_ID:
        return isSetReturnOrderId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof processReturn_args)
        return this.equals((processReturn_args)that);
      return false;
    }

    public boolean equals(processReturn_args that) {
      if (that == null)
        return false;

      boolean this_present_returnOrderId = true;
      boolean that_present_returnOrderId = true;
      if (this_present_returnOrderId || that_present_returnOrderId) {
        if (!(this_present_returnOrderId && that_present_returnOrderId))
          return false;
        if (this.returnOrderId != that.returnOrderId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(processReturn_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      processReturn_args typedOther = (processReturn_args)other;

      lastComparison = Boolean.valueOf(isSetReturnOrderId()).compareTo(typedOther.isSetReturnOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetReturnOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.returnOrderId, typedOther.returnOrderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // RETURN_ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.returnOrderId = iprot.readI64();
              setReturnOrderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(RETURN_ORDER_ID_FIELD_DESC);
      oprot.writeI64(this.returnOrderId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("processReturn_args(");
      boolean first = true;

      sb.append("returnOrderId:");
      sb.append(this.returnOrderId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class processReturn_result implements org.apache.thrift.TBase<processReturn_result, processReturn_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("processReturn_result");

    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(processReturn_result.class, metaDataMap);
    }

    public processReturn_result() {
    }

    public processReturn_result(
      TransactionServiceException ex)
    {
      this();
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public processReturn_result(processReturn_result other) {
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public processReturn_result deepCopy() {
      return new processReturn_result(this);
    }

    @Override
    public void clear() {
      this.ex = null;
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof processReturn_result)
        return this.equals((processReturn_result)that);
      return false;
    }

    public boolean equals(processReturn_result that) {
      if (that == null)
        return false;

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(processReturn_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      processReturn_result typedOther = (processReturn_result)other;

      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("processReturn_result(");
      boolean first = true;

      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class updateWeight_args implements org.apache.thrift.TBase<updateWeight_args, updateWeight_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateWeight_args");

    private static final org.apache.thrift.protocol.TField ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("orderId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField WEIGHT_FIELD_DESC = new org.apache.thrift.protocol.TField("weight", org.apache.thrift.protocol.TType.DOUBLE, (short)2);

    private long orderId; // required
    private double weight; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ORDER_ID((short)1, "orderId"),
      WEIGHT((short)2, "weight");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ORDER_ID
            return ORDER_ID;
          case 2: // WEIGHT
            return WEIGHT;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ORDERID_ISSET_ID = 0;
    private static final int __WEIGHT_ISSET_ID = 1;
    private BitSet __isset_bit_vector = new BitSet(2);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("orderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.WEIGHT, new org.apache.thrift.meta_data.FieldMetaData("weight", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateWeight_args.class, metaDataMap);
    }

    public updateWeight_args() {
    }

    public updateWeight_args(
      long orderId,
      double weight)
    {
      this();
      this.orderId = orderId;
      setOrderIdIsSet(true);
      this.weight = weight;
      setWeightIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public updateWeight_args(updateWeight_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.orderId = other.orderId;
      this.weight = other.weight;
    }

    public updateWeight_args deepCopy() {
      return new updateWeight_args(this);
    }

    @Override
    public void clear() {
      setOrderIdIsSet(false);
      this.orderId = 0;
      setWeightIsSet(false);
      this.weight = 0.0;
    }

    public long getOrderId() {
      return this.orderId;
    }

    public void setOrderId(long orderId) {
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    public void unsetOrderId() {
      __isset_bit_vector.clear(__ORDERID_ISSET_ID);
    }

    /** Returns true if field orderId is set (has been assigned a value) and false otherwise */
    public boolean isSetOrderId() {
      return __isset_bit_vector.get(__ORDERID_ISSET_ID);
    }

    public void setOrderIdIsSet(boolean value) {
      __isset_bit_vector.set(__ORDERID_ISSET_ID, value);
    }

    public double getWeight() {
      return this.weight;
    }

    public void setWeight(double weight) {
      this.weight = weight;
      setWeightIsSet(true);
    }

    public void unsetWeight() {
      __isset_bit_vector.clear(__WEIGHT_ISSET_ID);
    }

    /** Returns true if field weight is set (has been assigned a value) and false otherwise */
    public boolean isSetWeight() {
      return __isset_bit_vector.get(__WEIGHT_ISSET_ID);
    }

    public void setWeightIsSet(boolean value) {
      __isset_bit_vector.set(__WEIGHT_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ORDER_ID:
        if (value == null) {
          unsetOrderId();
        } else {
          setOrderId((Long)value);
        }
        break;

      case WEIGHT:
        if (value == null) {
          unsetWeight();
        } else {
          setWeight((Double)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ORDER_ID:
        return Long.valueOf(getOrderId());

      case WEIGHT:
        return Double.valueOf(getWeight());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ORDER_ID:
        return isSetOrderId();
      case WEIGHT:
        return isSetWeight();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof updateWeight_args)
        return this.equals((updateWeight_args)that);
      return false;
    }

    public boolean equals(updateWeight_args that) {
      if (that == null)
        return false;

      boolean this_present_orderId = true;
      boolean that_present_orderId = true;
      if (this_present_orderId || that_present_orderId) {
        if (!(this_present_orderId && that_present_orderId))
          return false;
        if (this.orderId != that.orderId)
          return false;
      }

      boolean this_present_weight = true;
      boolean that_present_weight = true;
      if (this_present_weight || that_present_weight) {
        if (!(this_present_weight && that_present_weight))
          return false;
        if (this.weight != that.weight)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(updateWeight_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      updateWeight_args typedOther = (updateWeight_args)other;

      lastComparison = Boolean.valueOf(isSetOrderId()).compareTo(typedOther.isSetOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.orderId, typedOther.orderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetWeight()).compareTo(typedOther.isSetWeight());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetWeight()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.weight, typedOther.weight);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.orderId = iprot.readI64();
              setOrderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // WEIGHT
            if (field.type == org.apache.thrift.protocol.TType.DOUBLE) {
              this.weight = iprot.readDouble();
              setWeightIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ORDER_ID_FIELD_DESC);
      oprot.writeI64(this.orderId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(WEIGHT_FIELD_DESC);
      oprot.writeDouble(this.weight);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("updateWeight_args(");
      boolean first = true;

      sb.append("orderId:");
      sb.append(this.orderId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("weight:");
      sb.append(this.weight);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class updateWeight_result implements org.apache.thrift.TBase<updateWeight_result, updateWeight_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateWeight_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private Order success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Order.class)));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateWeight_result.class, metaDataMap);
    }

    public updateWeight_result() {
    }

    public updateWeight_result(
      Order success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public updateWeight_result(updateWeight_result other) {
      if (other.isSetSuccess()) {
        this.success = new Order(other.success);
      }
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public updateWeight_result deepCopy() {
      return new updateWeight_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.ex = null;
    }

    public Order getSuccess() {
      return this.success;
    }

    public void setSuccess(Order success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Order)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof updateWeight_result)
        return this.equals((updateWeight_result)that);
      return false;
    }

    public boolean equals(updateWeight_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(updateWeight_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      updateWeight_result typedOther = (updateWeight_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.success = new Order();
              this.success.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        this.success.write(oprot);
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("updateWeight_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class changeItem_args implements org.apache.thrift.TBase<changeItem_args, changeItem_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("changeItem_args");

    private static final org.apache.thrift.protocol.TField ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("orderId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField ITEM_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("itemId", org.apache.thrift.protocol.TType.I64, (short)2);

    private long orderId; // required
    private long itemId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ORDER_ID((short)1, "orderId"),
      ITEM_ID((short)2, "itemId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ORDER_ID
            return ORDER_ID;
          case 2: // ITEM_ID
            return ITEM_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ORDERID_ISSET_ID = 0;
    private static final int __ITEMID_ISSET_ID = 1;
    private BitSet __isset_bit_vector = new BitSet(2);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("orderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.ITEM_ID, new org.apache.thrift.meta_data.FieldMetaData("itemId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(changeItem_args.class, metaDataMap);
    }

    public changeItem_args() {
    }

    public changeItem_args(
      long orderId,
      long itemId)
    {
      this();
      this.orderId = orderId;
      setOrderIdIsSet(true);
      this.itemId = itemId;
      setItemIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public changeItem_args(changeItem_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.orderId = other.orderId;
      this.itemId = other.itemId;
    }

    public changeItem_args deepCopy() {
      return new changeItem_args(this);
    }

    @Override
    public void clear() {
      setOrderIdIsSet(false);
      this.orderId = 0;
      setItemIdIsSet(false);
      this.itemId = 0;
    }

    public long getOrderId() {
      return this.orderId;
    }

    public void setOrderId(long orderId) {
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    public void unsetOrderId() {
      __isset_bit_vector.clear(__ORDERID_ISSET_ID);
    }

    /** Returns true if field orderId is set (has been assigned a value) and false otherwise */
    public boolean isSetOrderId() {
      return __isset_bit_vector.get(__ORDERID_ISSET_ID);
    }

    public void setOrderIdIsSet(boolean value) {
      __isset_bit_vector.set(__ORDERID_ISSET_ID, value);
    }

    public long getItemId() {
      return this.itemId;
    }

    public void setItemId(long itemId) {
      this.itemId = itemId;
      setItemIdIsSet(true);
    }

    public void unsetItemId() {
      __isset_bit_vector.clear(__ITEMID_ISSET_ID);
    }

    /** Returns true if field itemId is set (has been assigned a value) and false otherwise */
    public boolean isSetItemId() {
      return __isset_bit_vector.get(__ITEMID_ISSET_ID);
    }

    public void setItemIdIsSet(boolean value) {
      __isset_bit_vector.set(__ITEMID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ORDER_ID:
        if (value == null) {
          unsetOrderId();
        } else {
          setOrderId((Long)value);
        }
        break;

      case ITEM_ID:
        if (value == null) {
          unsetItemId();
        } else {
          setItemId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ORDER_ID:
        return Long.valueOf(getOrderId());

      case ITEM_ID:
        return Long.valueOf(getItemId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ORDER_ID:
        return isSetOrderId();
      case ITEM_ID:
        return isSetItemId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof changeItem_args)
        return this.equals((changeItem_args)that);
      return false;
    }

    public boolean equals(changeItem_args that) {
      if (that == null)
        return false;

      boolean this_present_orderId = true;
      boolean that_present_orderId = true;
      if (this_present_orderId || that_present_orderId) {
        if (!(this_present_orderId && that_present_orderId))
          return false;
        if (this.orderId != that.orderId)
          return false;
      }

      boolean this_present_itemId = true;
      boolean that_present_itemId = true;
      if (this_present_itemId || that_present_itemId) {
        if (!(this_present_itemId && that_present_itemId))
          return false;
        if (this.itemId != that.itemId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(changeItem_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      changeItem_args typedOther = (changeItem_args)other;

      lastComparison = Boolean.valueOf(isSetOrderId()).compareTo(typedOther.isSetOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.orderId, typedOther.orderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetItemId()).compareTo(typedOther.isSetItemId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetItemId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.itemId, typedOther.itemId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.orderId = iprot.readI64();
              setOrderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // ITEM_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.itemId = iprot.readI64();
              setItemIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ORDER_ID_FIELD_DESC);
      oprot.writeI64(this.orderId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(ITEM_ID_FIELD_DESC);
      oprot.writeI64(this.itemId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("changeItem_args(");
      boolean first = true;

      sb.append("orderId:");
      sb.append(this.orderId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("itemId:");
      sb.append(this.itemId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class changeItem_result implements org.apache.thrift.TBase<changeItem_result, changeItem_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("changeItem_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private Order success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Order.class)));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(changeItem_result.class, metaDataMap);
    }

    public changeItem_result() {
    }

    public changeItem_result(
      Order success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public changeItem_result(changeItem_result other) {
      if (other.isSetSuccess()) {
        this.success = new Order(other.success);
      }
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public changeItem_result deepCopy() {
      return new changeItem_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.ex = null;
    }

    public Order getSuccess() {
      return this.success;
    }

    public void setSuccess(Order success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Order)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof changeItem_result)
        return this.equals((changeItem_result)that);
      return false;
    }

    public boolean equals(changeItem_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(changeItem_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      changeItem_result typedOther = (changeItem_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.success = new Order();
              this.success.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        this.success.write(oprot);
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("changeItem_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class changeCourierProvider_args implements org.apache.thrift.TBase<changeCourierProvider_args, changeCourierProvider_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("changeCourierProvider_args");

    private static final org.apache.thrift.protocol.TField ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("orderId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField PROVIDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("providerId", org.apache.thrift.protocol.TType.I64, (short)2);

    private long orderId; // required
    private long providerId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ORDER_ID((short)1, "orderId"),
      PROVIDER_ID((short)2, "providerId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ORDER_ID
            return ORDER_ID;
          case 2: // PROVIDER_ID
            return PROVIDER_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ORDERID_ISSET_ID = 0;
    private static final int __PROVIDERID_ISSET_ID = 1;
    private BitSet __isset_bit_vector = new BitSet(2);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("orderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.PROVIDER_ID, new org.apache.thrift.meta_data.FieldMetaData("providerId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(changeCourierProvider_args.class, metaDataMap);
    }

    public changeCourierProvider_args() {
    }

    public changeCourierProvider_args(
      long orderId,
      long providerId)
    {
      this();
      this.orderId = orderId;
      setOrderIdIsSet(true);
      this.providerId = providerId;
      setProviderIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public changeCourierProvider_args(changeCourierProvider_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.orderId = other.orderId;
      this.providerId = other.providerId;
    }

    public changeCourierProvider_args deepCopy() {
      return new changeCourierProvider_args(this);
    }

    @Override
    public void clear() {
      setOrderIdIsSet(false);
      this.orderId = 0;
      setProviderIdIsSet(false);
      this.providerId = 0;
    }

    public long getOrderId() {
      return this.orderId;
    }

    public void setOrderId(long orderId) {
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    public void unsetOrderId() {
      __isset_bit_vector.clear(__ORDERID_ISSET_ID);
    }

    /** Returns true if field orderId is set (has been assigned a value) and false otherwise */
    public boolean isSetOrderId() {
      return __isset_bit_vector.get(__ORDERID_ISSET_ID);
    }

    public void setOrderIdIsSet(boolean value) {
      __isset_bit_vector.set(__ORDERID_ISSET_ID, value);
    }

    public long getProviderId() {
      return this.providerId;
    }

    public void setProviderId(long providerId) {
      this.providerId = providerId;
      setProviderIdIsSet(true);
    }

    public void unsetProviderId() {
      __isset_bit_vector.clear(__PROVIDERID_ISSET_ID);
    }

    /** Returns true if field providerId is set (has been assigned a value) and false otherwise */
    public boolean isSetProviderId() {
      return __isset_bit_vector.get(__PROVIDERID_ISSET_ID);
    }

    public void setProviderIdIsSet(boolean value) {
      __isset_bit_vector.set(__PROVIDERID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ORDER_ID:
        if (value == null) {
          unsetOrderId();
        } else {
          setOrderId((Long)value);
        }
        break;

      case PROVIDER_ID:
        if (value == null) {
          unsetProviderId();
        } else {
          setProviderId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ORDER_ID:
        return Long.valueOf(getOrderId());

      case PROVIDER_ID:
        return Long.valueOf(getProviderId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ORDER_ID:
        return isSetOrderId();
      case PROVIDER_ID:
        return isSetProviderId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof changeCourierProvider_args)
        return this.equals((changeCourierProvider_args)that);
      return false;
    }

    public boolean equals(changeCourierProvider_args that) {
      if (that == null)
        return false;

      boolean this_present_orderId = true;
      boolean that_present_orderId = true;
      if (this_present_orderId || that_present_orderId) {
        if (!(this_present_orderId && that_present_orderId))
          return false;
        if (this.orderId != that.orderId)
          return false;
      }

      boolean this_present_providerId = true;
      boolean that_present_providerId = true;
      if (this_present_providerId || that_present_providerId) {
        if (!(this_present_providerId && that_present_providerId))
          return false;
        if (this.providerId != that.providerId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(changeCourierProvider_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      changeCourierProvider_args typedOther = (changeCourierProvider_args)other;

      lastComparison = Boolean.valueOf(isSetOrderId()).compareTo(typedOther.isSetOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.orderId, typedOther.orderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetProviderId()).compareTo(typedOther.isSetProviderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetProviderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.providerId, typedOther.providerId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.orderId = iprot.readI64();
              setOrderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // PROVIDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.providerId = iprot.readI64();
              setProviderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ORDER_ID_FIELD_DESC);
      oprot.writeI64(this.orderId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(PROVIDER_ID_FIELD_DESC);
      oprot.writeI64(this.providerId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("changeCourierProvider_args(");
      boolean first = true;

      sb.append("orderId:");
      sb.append(this.orderId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("providerId:");
      sb.append(this.providerId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class changeCourierProvider_result implements org.apache.thrift.TBase<changeCourierProvider_result, changeCourierProvider_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("changeCourierProvider_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private Order success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Order.class)));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(changeCourierProvider_result.class, metaDataMap);
    }

    public changeCourierProvider_result() {
    }

    public changeCourierProvider_result(
      Order success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public changeCourierProvider_result(changeCourierProvider_result other) {
      if (other.isSetSuccess()) {
        this.success = new Order(other.success);
      }
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public changeCourierProvider_result deepCopy() {
      return new changeCourierProvider_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.ex = null;
    }

    public Order getSuccess() {
      return this.success;
    }

    public void setSuccess(Order success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Order)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof changeCourierProvider_result)
        return this.equals((changeCourierProvider_result)that);
      return false;
    }

    public boolean equals(changeCourierProvider_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(changeCourierProvider_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      changeCourierProvider_result typedOther = (changeCourierProvider_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.success = new Order();
              this.success.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        this.success.write(oprot);
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("changeCourierProvider_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class shiftToWarehouse_args implements org.apache.thrift.TBase<shiftToWarehouse_args, shiftToWarehouse_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("shiftToWarehouse_args");

    private static final org.apache.thrift.protocol.TField ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("orderId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField WAREHOUSE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("warehouseId", org.apache.thrift.protocol.TType.I64, (short)2);

    private long orderId; // required
    private long warehouseId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ORDER_ID((short)1, "orderId"),
      WAREHOUSE_ID((short)2, "warehouseId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ORDER_ID
            return ORDER_ID;
          case 2: // WAREHOUSE_ID
            return WAREHOUSE_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ORDERID_ISSET_ID = 0;
    private static final int __WAREHOUSEID_ISSET_ID = 1;
    private BitSet __isset_bit_vector = new BitSet(2);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("orderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.WAREHOUSE_ID, new org.apache.thrift.meta_data.FieldMetaData("warehouseId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(shiftToWarehouse_args.class, metaDataMap);
    }

    public shiftToWarehouse_args() {
    }

    public shiftToWarehouse_args(
      long orderId,
      long warehouseId)
    {
      this();
      this.orderId = orderId;
      setOrderIdIsSet(true);
      this.warehouseId = warehouseId;
      setWarehouseIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public shiftToWarehouse_args(shiftToWarehouse_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.orderId = other.orderId;
      this.warehouseId = other.warehouseId;
    }

    public shiftToWarehouse_args deepCopy() {
      return new shiftToWarehouse_args(this);
    }

    @Override
    public void clear() {
      setOrderIdIsSet(false);
      this.orderId = 0;
      setWarehouseIdIsSet(false);
      this.warehouseId = 0;
    }

    public long getOrderId() {
      return this.orderId;
    }

    public void setOrderId(long orderId) {
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    public void unsetOrderId() {
      __isset_bit_vector.clear(__ORDERID_ISSET_ID);
    }

    /** Returns true if field orderId is set (has been assigned a value) and false otherwise */
    public boolean isSetOrderId() {
      return __isset_bit_vector.get(__ORDERID_ISSET_ID);
    }

    public void setOrderIdIsSet(boolean value) {
      __isset_bit_vector.set(__ORDERID_ISSET_ID, value);
    }

    public long getWarehouseId() {
      return this.warehouseId;
    }

    public void setWarehouseId(long warehouseId) {
      this.warehouseId = warehouseId;
      setWarehouseIdIsSet(true);
    }

    public void unsetWarehouseId() {
      __isset_bit_vector.clear(__WAREHOUSEID_ISSET_ID);
    }

    /** Returns true if field warehouseId is set (has been assigned a value) and false otherwise */
    public boolean isSetWarehouseId() {
      return __isset_bit_vector.get(__WAREHOUSEID_ISSET_ID);
    }

    public void setWarehouseIdIsSet(boolean value) {
      __isset_bit_vector.set(__WAREHOUSEID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ORDER_ID:
        if (value == null) {
          unsetOrderId();
        } else {
          setOrderId((Long)value);
        }
        break;

      case WAREHOUSE_ID:
        if (value == null) {
          unsetWarehouseId();
        } else {
          setWarehouseId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ORDER_ID:
        return Long.valueOf(getOrderId());

      case WAREHOUSE_ID:
        return Long.valueOf(getWarehouseId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ORDER_ID:
        return isSetOrderId();
      case WAREHOUSE_ID:
        return isSetWarehouseId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof shiftToWarehouse_args)
        return this.equals((shiftToWarehouse_args)that);
      return false;
    }

    public boolean equals(shiftToWarehouse_args that) {
      if (that == null)
        return false;

      boolean this_present_orderId = true;
      boolean that_present_orderId = true;
      if (this_present_orderId || that_present_orderId) {
        if (!(this_present_orderId && that_present_orderId))
          return false;
        if (this.orderId != that.orderId)
          return false;
      }

      boolean this_present_warehouseId = true;
      boolean that_present_warehouseId = true;
      if (this_present_warehouseId || that_present_warehouseId) {
        if (!(this_present_warehouseId && that_present_warehouseId))
          return false;
        if (this.warehouseId != that.warehouseId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(shiftToWarehouse_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      shiftToWarehouse_args typedOther = (shiftToWarehouse_args)other;

      lastComparison = Boolean.valueOf(isSetOrderId()).compareTo(typedOther.isSetOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.orderId, typedOther.orderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetWarehouseId()).compareTo(typedOther.isSetWarehouseId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetWarehouseId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.warehouseId, typedOther.warehouseId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.orderId = iprot.readI64();
              setOrderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // WAREHOUSE_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.warehouseId = iprot.readI64();
              setWarehouseIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ORDER_ID_FIELD_DESC);
      oprot.writeI64(this.orderId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(WAREHOUSE_ID_FIELD_DESC);
      oprot.writeI64(this.warehouseId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("shiftToWarehouse_args(");
      boolean first = true;

      sb.append("orderId:");
      sb.append(this.orderId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("warehouseId:");
      sb.append(this.warehouseId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class shiftToWarehouse_result implements org.apache.thrift.TBase<shiftToWarehouse_result, shiftToWarehouse_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("shiftToWarehouse_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private Order success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Order.class)));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(shiftToWarehouse_result.class, metaDataMap);
    }

    public shiftToWarehouse_result() {
    }

    public shiftToWarehouse_result(
      Order success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public shiftToWarehouse_result(shiftToWarehouse_result other) {
      if (other.isSetSuccess()) {
        this.success = new Order(other.success);
      }
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public shiftToWarehouse_result deepCopy() {
      return new shiftToWarehouse_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.ex = null;
    }

    public Order getSuccess() {
      return this.success;
    }

    public void setSuccess(Order success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Order)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof shiftToWarehouse_result)
        return this.equals((shiftToWarehouse_result)that);
      return false;
    }

    public boolean equals(shiftToWarehouse_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(shiftToWarehouse_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      shiftToWarehouse_result typedOther = (shiftToWarehouse_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.success = new Order();
              this.success.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        this.success.write(oprot);
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("shiftToWarehouse_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class addDelayReason_args implements org.apache.thrift.TBase<addDelayReason_args, addDelayReason_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addDelayReason_args");

    private static final org.apache.thrift.protocol.TField ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("orderId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField DELAY_REASON_FIELD_DESC = new org.apache.thrift.protocol.TField("delayReason", org.apache.thrift.protocol.TType.I32, (short)2);
    private static final org.apache.thrift.protocol.TField FURTHER_DELAY_FIELD_DESC = new org.apache.thrift.protocol.TField("furtherDelay", org.apache.thrift.protocol.TType.I64, (short)3);
    private static final org.apache.thrift.protocol.TField DELAY_REASON_TEXT_FIELD_DESC = new org.apache.thrift.protocol.TField("delayReasonText", org.apache.thrift.protocol.TType.STRING, (short)4);

    private long orderId; // required
    private DelayReason delayReason; // required
    private long furtherDelay; // required
    private String delayReasonText; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ORDER_ID((short)1, "orderId"),
      /**
       * 
       * @see DelayReason
       */
      DELAY_REASON((short)2, "delayReason"),
      FURTHER_DELAY((short)3, "furtherDelay"),
      DELAY_REASON_TEXT((short)4, "delayReasonText");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ORDER_ID
            return ORDER_ID;
          case 2: // DELAY_REASON
            return DELAY_REASON;
          case 3: // FURTHER_DELAY
            return FURTHER_DELAY;
          case 4: // DELAY_REASON_TEXT
            return DELAY_REASON_TEXT;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ORDERID_ISSET_ID = 0;
    private static final int __FURTHERDELAY_ISSET_ID = 1;
    private BitSet __isset_bit_vector = new BitSet(2);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("orderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.DELAY_REASON, new org.apache.thrift.meta_data.FieldMetaData("delayReason", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, DelayReason.class)));
      tmpMap.put(_Fields.FURTHER_DELAY, new org.apache.thrift.meta_data.FieldMetaData("furtherDelay", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.DELAY_REASON_TEXT, new org.apache.thrift.meta_data.FieldMetaData("delayReasonText", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(addDelayReason_args.class, metaDataMap);
    }

    public addDelayReason_args() {
    }

    public addDelayReason_args(
      long orderId,
      DelayReason delayReason,
      long furtherDelay,
      String delayReasonText)
    {
      this();
      this.orderId = orderId;
      setOrderIdIsSet(true);
      this.delayReason = delayReason;
      this.furtherDelay = furtherDelay;
      setFurtherDelayIsSet(true);
      this.delayReasonText = delayReasonText;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public addDelayReason_args(addDelayReason_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.orderId = other.orderId;
      if (other.isSetDelayReason()) {
        this.delayReason = other.delayReason;
      }
      this.furtherDelay = other.furtherDelay;
      if (other.isSetDelayReasonText()) {
        this.delayReasonText = other.delayReasonText;
      }
    }

    public addDelayReason_args deepCopy() {
      return new addDelayReason_args(this);
    }

    @Override
    public void clear() {
      setOrderIdIsSet(false);
      this.orderId = 0;
      this.delayReason = null;
      setFurtherDelayIsSet(false);
      this.furtherDelay = 0;
      this.delayReasonText = null;
    }

    public long getOrderId() {
      return this.orderId;
    }

    public void setOrderId(long orderId) {
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    public void unsetOrderId() {
      __isset_bit_vector.clear(__ORDERID_ISSET_ID);
    }

    /** Returns true if field orderId is set (has been assigned a value) and false otherwise */
    public boolean isSetOrderId() {
      return __isset_bit_vector.get(__ORDERID_ISSET_ID);
    }

    public void setOrderIdIsSet(boolean value) {
      __isset_bit_vector.set(__ORDERID_ISSET_ID, value);
    }

    /**
     * 
     * @see DelayReason
     */
    public DelayReason getDelayReason() {
      return this.delayReason;
    }

    /**
     * 
     * @see DelayReason
     */
    public void setDelayReason(DelayReason delayReason) {
      this.delayReason = delayReason;
    }

    public void unsetDelayReason() {
      this.delayReason = null;
    }

    /** Returns true if field delayReason is set (has been assigned a value) and false otherwise */
    public boolean isSetDelayReason() {
      return this.delayReason != null;
    }

    public void setDelayReasonIsSet(boolean value) {
      if (!value) {
        this.delayReason = null;
      }
    }

    public long getFurtherDelay() {
      return this.furtherDelay;
    }

    public void setFurtherDelay(long furtherDelay) {
      this.furtherDelay = furtherDelay;
      setFurtherDelayIsSet(true);
    }

    public void unsetFurtherDelay() {
      __isset_bit_vector.clear(__FURTHERDELAY_ISSET_ID);
    }

    /** Returns true if field furtherDelay is set (has been assigned a value) and false otherwise */
    public boolean isSetFurtherDelay() {
      return __isset_bit_vector.get(__FURTHERDELAY_ISSET_ID);
    }

    public void setFurtherDelayIsSet(boolean value) {
      __isset_bit_vector.set(__FURTHERDELAY_ISSET_ID, value);
    }

    public String getDelayReasonText() {
      return this.delayReasonText;
    }

    public void setDelayReasonText(String delayReasonText) {
      this.delayReasonText = delayReasonText;
    }

    public void unsetDelayReasonText() {
      this.delayReasonText = null;
    }

    /** Returns true if field delayReasonText is set (has been assigned a value) and false otherwise */
    public boolean isSetDelayReasonText() {
      return this.delayReasonText != null;
    }

    public void setDelayReasonTextIsSet(boolean value) {
      if (!value) {
        this.delayReasonText = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ORDER_ID:
        if (value == null) {
          unsetOrderId();
        } else {
          setOrderId((Long)value);
        }
        break;

      case DELAY_REASON:
        if (value == null) {
          unsetDelayReason();
        } else {
          setDelayReason((DelayReason)value);
        }
        break;

      case FURTHER_DELAY:
        if (value == null) {
          unsetFurtherDelay();
        } else {
          setFurtherDelay((Long)value);
        }
        break;

      case DELAY_REASON_TEXT:
        if (value == null) {
          unsetDelayReasonText();
        } else {
          setDelayReasonText((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ORDER_ID:
        return Long.valueOf(getOrderId());

      case DELAY_REASON:
        return getDelayReason();

      case FURTHER_DELAY:
        return Long.valueOf(getFurtherDelay());

      case DELAY_REASON_TEXT:
        return getDelayReasonText();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ORDER_ID:
        return isSetOrderId();
      case DELAY_REASON:
        return isSetDelayReason();
      case FURTHER_DELAY:
        return isSetFurtherDelay();
      case DELAY_REASON_TEXT:
        return isSetDelayReasonText();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof addDelayReason_args)
        return this.equals((addDelayReason_args)that);
      return false;
    }

    public boolean equals(addDelayReason_args that) {
      if (that == null)
        return false;

      boolean this_present_orderId = true;
      boolean that_present_orderId = true;
      if (this_present_orderId || that_present_orderId) {
        if (!(this_present_orderId && that_present_orderId))
          return false;
        if (this.orderId != that.orderId)
          return false;
      }

      boolean this_present_delayReason = true && this.isSetDelayReason();
      boolean that_present_delayReason = true && that.isSetDelayReason();
      if (this_present_delayReason || that_present_delayReason) {
        if (!(this_present_delayReason && that_present_delayReason))
          return false;
        if (!this.delayReason.equals(that.delayReason))
          return false;
      }

      boolean this_present_furtherDelay = true;
      boolean that_present_furtherDelay = true;
      if (this_present_furtherDelay || that_present_furtherDelay) {
        if (!(this_present_furtherDelay && that_present_furtherDelay))
          return false;
        if (this.furtherDelay != that.furtherDelay)
          return false;
      }

      boolean this_present_delayReasonText = true && this.isSetDelayReasonText();
      boolean that_present_delayReasonText = true && that.isSetDelayReasonText();
      if (this_present_delayReasonText || that_present_delayReasonText) {
        if (!(this_present_delayReasonText && that_present_delayReasonText))
          return false;
        if (!this.delayReasonText.equals(that.delayReasonText))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(addDelayReason_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      addDelayReason_args typedOther = (addDelayReason_args)other;

      lastComparison = Boolean.valueOf(isSetOrderId()).compareTo(typedOther.isSetOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.orderId, typedOther.orderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetDelayReason()).compareTo(typedOther.isSetDelayReason());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetDelayReason()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.delayReason, typedOther.delayReason);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetFurtherDelay()).compareTo(typedOther.isSetFurtherDelay());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetFurtherDelay()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.furtherDelay, typedOther.furtherDelay);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetDelayReasonText()).compareTo(typedOther.isSetDelayReasonText());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetDelayReasonText()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.delayReasonText, typedOther.delayReasonText);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.orderId = iprot.readI64();
              setOrderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // DELAY_REASON
            if (field.type == org.apache.thrift.protocol.TType.I32) {
              this.delayReason = DelayReason.findByValue(iprot.readI32());
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // FURTHER_DELAY
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.furtherDelay = iprot.readI64();
              setFurtherDelayIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 4: // DELAY_REASON_TEXT
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.delayReasonText = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ORDER_ID_FIELD_DESC);
      oprot.writeI64(this.orderId);
      oprot.writeFieldEnd();
      if (this.delayReason != null) {
        oprot.writeFieldBegin(DELAY_REASON_FIELD_DESC);
        oprot.writeI32(this.delayReason.getValue());
        oprot.writeFieldEnd();
      }
      oprot.writeFieldBegin(FURTHER_DELAY_FIELD_DESC);
      oprot.writeI64(this.furtherDelay);
      oprot.writeFieldEnd();
      if (this.delayReasonText != null) {
        oprot.writeFieldBegin(DELAY_REASON_TEXT_FIELD_DESC);
        oprot.writeString(this.delayReasonText);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("addDelayReason_args(");
      boolean first = true;

      sb.append("orderId:");
      sb.append(this.orderId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("delayReason:");
      if (this.delayReason == null) {
        sb.append("null");
      } else {
        sb.append(this.delayReason);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("furtherDelay:");
      sb.append(this.furtherDelay);
      first = false;
      if (!first) sb.append(", ");
      sb.append("delayReasonText:");
      if (this.delayReasonText == null) {
        sb.append("null");
      } else {
        sb.append(this.delayReasonText);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class addDelayReason_result implements org.apache.thrift.TBase<addDelayReason_result, addDelayReason_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addDelayReason_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private boolean success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(addDelayReason_result.class, metaDataMap);
    }

    public addDelayReason_result() {
    }

    public addDelayReason_result(
      boolean success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public addDelayReason_result(addDelayReason_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public addDelayReason_result deepCopy() {
      return new addDelayReason_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = false;
      this.ex = null;
    }

    public boolean isSuccess() {
      return this.success;
    }

    public void setSuccess(boolean success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Boolean.valueOf(isSuccess());

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof addDelayReason_result)
        return this.equals((addDelayReason_result)that);
      return false;
    }

    public boolean equals(addDelayReason_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(addDelayReason_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      addDelayReason_result typedOther = (addDelayReason_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.success = iprot.readBool();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBool(this.success);
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("addDelayReason_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class reconcileCodCollection_args implements org.apache.thrift.TBase<reconcileCodCollection_args, reconcileCodCollection_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("reconcileCodCollection_args");

    private static final org.apache.thrift.protocol.TField COLLECTED_AMOUNT_MAP_FIELD_DESC = new org.apache.thrift.protocol.TField("collectedAmountMap", org.apache.thrift.protocol.TType.MAP, (short)1);
    private static final org.apache.thrift.protocol.TField XFER_BY_FIELD_DESC = new org.apache.thrift.protocol.TField("xferBy", org.apache.thrift.protocol.TType.STRING, (short)2);
    private static final org.apache.thrift.protocol.TField XFER_TXN_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("xferTxnId", org.apache.thrift.protocol.TType.STRING, (short)3);
    private static final org.apache.thrift.protocol.TField XFER_DATE_FIELD_DESC = new org.apache.thrift.protocol.TField("xferDate", org.apache.thrift.protocol.TType.I64, (short)4);

    private Map<String,Double> collectedAmountMap; // required
    private String xferBy; // required
    private String xferTxnId; // required
    private long xferDate; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      COLLECTED_AMOUNT_MAP((short)1, "collectedAmountMap"),
      XFER_BY((short)2, "xferBy"),
      XFER_TXN_ID((short)3, "xferTxnId"),
      XFER_DATE((short)4, "xferDate");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // COLLECTED_AMOUNT_MAP
            return COLLECTED_AMOUNT_MAP;
          case 2: // XFER_BY
            return XFER_BY;
          case 3: // XFER_TXN_ID
            return XFER_TXN_ID;
          case 4: // XFER_DATE
            return XFER_DATE;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __XFERDATE_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.COLLECTED_AMOUNT_MAP, new org.apache.thrift.meta_data.FieldMetaData("collectedAmountMap", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING), 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE))));
      tmpMap.put(_Fields.XFER_BY, new org.apache.thrift.meta_data.FieldMetaData("xferBy", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.XFER_TXN_ID, new org.apache.thrift.meta_data.FieldMetaData("xferTxnId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.XFER_DATE, new org.apache.thrift.meta_data.FieldMetaData("xferDate", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(reconcileCodCollection_args.class, metaDataMap);
    }

    public reconcileCodCollection_args() {
    }

    public reconcileCodCollection_args(
      Map<String,Double> collectedAmountMap,
      String xferBy,
      String xferTxnId,
      long xferDate)
    {
      this();
      this.collectedAmountMap = collectedAmountMap;
      this.xferBy = xferBy;
      this.xferTxnId = xferTxnId;
      this.xferDate = xferDate;
      setXferDateIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public reconcileCodCollection_args(reconcileCodCollection_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      if (other.isSetCollectedAmountMap()) {
        Map<String,Double> __this__collectedAmountMap = new HashMap<String,Double>();
        for (Map.Entry<String, Double> other_element : other.collectedAmountMap.entrySet()) {

          String other_element_key = other_element.getKey();
          Double other_element_value = other_element.getValue();

          String __this__collectedAmountMap_copy_key = other_element_key;

          Double __this__collectedAmountMap_copy_value = other_element_value;

          __this__collectedAmountMap.put(__this__collectedAmountMap_copy_key, __this__collectedAmountMap_copy_value);
        }
        this.collectedAmountMap = __this__collectedAmountMap;
      }
      if (other.isSetXferBy()) {
        this.xferBy = other.xferBy;
      }
      if (other.isSetXferTxnId()) {
        this.xferTxnId = other.xferTxnId;
      }
      this.xferDate = other.xferDate;
    }

    public reconcileCodCollection_args deepCopy() {
      return new reconcileCodCollection_args(this);
    }

    @Override
    public void clear() {
      this.collectedAmountMap = null;
      this.xferBy = null;
      this.xferTxnId = null;
      setXferDateIsSet(false);
      this.xferDate = 0;
    }

    public int getCollectedAmountMapSize() {
      return (this.collectedAmountMap == null) ? 0 : this.collectedAmountMap.size();
    }

    public void putToCollectedAmountMap(String key, double val) {
      if (this.collectedAmountMap == null) {
        this.collectedAmountMap = new HashMap<String,Double>();
      }
      this.collectedAmountMap.put(key, val);
    }

    public Map<String,Double> getCollectedAmountMap() {
      return this.collectedAmountMap;
    }

    public void setCollectedAmountMap(Map<String,Double> collectedAmountMap) {
      this.collectedAmountMap = collectedAmountMap;
    }

    public void unsetCollectedAmountMap() {
      this.collectedAmountMap = null;
    }

    /** Returns true if field collectedAmountMap is set (has been assigned a value) and false otherwise */
    public boolean isSetCollectedAmountMap() {
      return this.collectedAmountMap != null;
    }

    public void setCollectedAmountMapIsSet(boolean value) {
      if (!value) {
        this.collectedAmountMap = null;
      }
    }

    public String getXferBy() {
      return this.xferBy;
    }

    public void setXferBy(String xferBy) {
      this.xferBy = xferBy;
    }

    public void unsetXferBy() {
      this.xferBy = null;
    }

    /** Returns true if field xferBy is set (has been assigned a value) and false otherwise */
    public boolean isSetXferBy() {
      return this.xferBy != null;
    }

    public void setXferByIsSet(boolean value) {
      if (!value) {
        this.xferBy = null;
      }
    }

    public String getXferTxnId() {
      return this.xferTxnId;
    }

    public void setXferTxnId(String xferTxnId) {
      this.xferTxnId = xferTxnId;
    }

    public void unsetXferTxnId() {
      this.xferTxnId = null;
    }

    /** Returns true if field xferTxnId is set (has been assigned a value) and false otherwise */
    public boolean isSetXferTxnId() {
      return this.xferTxnId != null;
    }

    public void setXferTxnIdIsSet(boolean value) {
      if (!value) {
        this.xferTxnId = null;
      }
    }

    public long getXferDate() {
      return this.xferDate;
    }

    public void setXferDate(long xferDate) {
      this.xferDate = xferDate;
      setXferDateIsSet(true);
    }

    public void unsetXferDate() {
      __isset_bit_vector.clear(__XFERDATE_ISSET_ID);
    }

    /** Returns true if field xferDate is set (has been assigned a value) and false otherwise */
    public boolean isSetXferDate() {
      return __isset_bit_vector.get(__XFERDATE_ISSET_ID);
    }

    public void setXferDateIsSet(boolean value) {
      __isset_bit_vector.set(__XFERDATE_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case COLLECTED_AMOUNT_MAP:
        if (value == null) {
          unsetCollectedAmountMap();
        } else {
          setCollectedAmountMap((Map<String,Double>)value);
        }
        break;

      case XFER_BY:
        if (value == null) {
          unsetXferBy();
        } else {
          setXferBy((String)value);
        }
        break;

      case XFER_TXN_ID:
        if (value == null) {
          unsetXferTxnId();
        } else {
          setXferTxnId((String)value);
        }
        break;

      case XFER_DATE:
        if (value == null) {
          unsetXferDate();
        } else {
          setXferDate((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case COLLECTED_AMOUNT_MAP:
        return getCollectedAmountMap();

      case XFER_BY:
        return getXferBy();

      case XFER_TXN_ID:
        return getXferTxnId();

      case XFER_DATE:
        return Long.valueOf(getXferDate());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case COLLECTED_AMOUNT_MAP:
        return isSetCollectedAmountMap();
      case XFER_BY:
        return isSetXferBy();
      case XFER_TXN_ID:
        return isSetXferTxnId();
      case XFER_DATE:
        return isSetXferDate();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof reconcileCodCollection_args)
        return this.equals((reconcileCodCollection_args)that);
      return false;
    }

    public boolean equals(reconcileCodCollection_args that) {
      if (that == null)
        return false;

      boolean this_present_collectedAmountMap = true && this.isSetCollectedAmountMap();
      boolean that_present_collectedAmountMap = true && that.isSetCollectedAmountMap();
      if (this_present_collectedAmountMap || that_present_collectedAmountMap) {
        if (!(this_present_collectedAmountMap && that_present_collectedAmountMap))
          return false;
        if (!this.collectedAmountMap.equals(that.collectedAmountMap))
          return false;
      }

      boolean this_present_xferBy = true && this.isSetXferBy();
      boolean that_present_xferBy = true && that.isSetXferBy();
      if (this_present_xferBy || that_present_xferBy) {
        if (!(this_present_xferBy && that_present_xferBy))
          return false;
        if (!this.xferBy.equals(that.xferBy))
          return false;
      }

      boolean this_present_xferTxnId = true && this.isSetXferTxnId();
      boolean that_present_xferTxnId = true && that.isSetXferTxnId();
      if (this_present_xferTxnId || that_present_xferTxnId) {
        if (!(this_present_xferTxnId && that_present_xferTxnId))
          return false;
        if (!this.xferTxnId.equals(that.xferTxnId))
          return false;
      }

      boolean this_present_xferDate = true;
      boolean that_present_xferDate = true;
      if (this_present_xferDate || that_present_xferDate) {
        if (!(this_present_xferDate && that_present_xferDate))
          return false;
        if (this.xferDate != that.xferDate)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(reconcileCodCollection_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      reconcileCodCollection_args typedOther = (reconcileCodCollection_args)other;

      lastComparison = Boolean.valueOf(isSetCollectedAmountMap()).compareTo(typedOther.isSetCollectedAmountMap());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetCollectedAmountMap()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.collectedAmountMap, typedOther.collectedAmountMap);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetXferBy()).compareTo(typedOther.isSetXferBy());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetXferBy()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.xferBy, typedOther.xferBy);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetXferTxnId()).compareTo(typedOther.isSetXferTxnId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetXferTxnId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.xferTxnId, typedOther.xferTxnId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetXferDate()).compareTo(typedOther.isSetXferDate());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetXferDate()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.xferDate, typedOther.xferDate);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // COLLECTED_AMOUNT_MAP
            if (field.type == org.apache.thrift.protocol.TType.MAP) {
              {
                org.apache.thrift.protocol.TMap _map273 = iprot.readMapBegin();
                this.collectedAmountMap = new HashMap<String,Double>(2*_map273.size);
                for (int _i274 = 0; _i274 < _map273.size; ++_i274)
                {
                  String _key275; // required
                  double _val276; // required
                  _key275 = iprot.readString();
                  _val276 = iprot.readDouble();
                  this.collectedAmountMap.put(_key275, _val276);
                }
                iprot.readMapEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // XFER_BY
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.xferBy = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // XFER_TXN_ID
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.xferTxnId = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 4: // XFER_DATE
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.xferDate = iprot.readI64();
              setXferDateIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.collectedAmountMap != null) {
        oprot.writeFieldBegin(COLLECTED_AMOUNT_MAP_FIELD_DESC);
        {
          oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.DOUBLE, this.collectedAmountMap.size()));
          for (Map.Entry<String, Double> _iter277 : this.collectedAmountMap.entrySet())
          {
            oprot.writeString(_iter277.getKey());
            oprot.writeDouble(_iter277.getValue());
          }
          oprot.writeMapEnd();
        }
        oprot.writeFieldEnd();
      }
      if (this.xferBy != null) {
        oprot.writeFieldBegin(XFER_BY_FIELD_DESC);
        oprot.writeString(this.xferBy);
        oprot.writeFieldEnd();
      }
      if (this.xferTxnId != null) {
        oprot.writeFieldBegin(XFER_TXN_ID_FIELD_DESC);
        oprot.writeString(this.xferTxnId);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldBegin(XFER_DATE_FIELD_DESC);
      oprot.writeI64(this.xferDate);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("reconcileCodCollection_args(");
      boolean first = true;

      sb.append("collectedAmountMap:");
      if (this.collectedAmountMap == null) {
        sb.append("null");
      } else {
        sb.append(this.collectedAmountMap);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("xferBy:");
      if (this.xferBy == null) {
        sb.append("null");
      } else {
        sb.append(this.xferBy);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("xferTxnId:");
      if (this.xferTxnId == null) {
        sb.append("null");
      } else {
        sb.append(this.xferTxnId);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("xferDate:");
      sb.append(this.xferDate);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class reconcileCodCollection_result implements org.apache.thrift.TBase<reconcileCodCollection_result, reconcileCodCollection_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("reconcileCodCollection_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.MAP, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private Map<String,String> success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING), 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(reconcileCodCollection_result.class, metaDataMap);
    }

    public reconcileCodCollection_result() {
    }

    public reconcileCodCollection_result(
      Map<String,String> success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public reconcileCodCollection_result(reconcileCodCollection_result other) {
      if (other.isSetSuccess()) {
        Map<String,String> __this__success = new HashMap<String,String>();
        for (Map.Entry<String, String> other_element : other.success.entrySet()) {

          String other_element_key = other_element.getKey();
          String other_element_value = other_element.getValue();

          String __this__success_copy_key = other_element_key;

          String __this__success_copy_value = other_element_value;

          __this__success.put(__this__success_copy_key, __this__success_copy_value);
        }
        this.success = __this__success;
      }
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public reconcileCodCollection_result deepCopy() {
      return new reconcileCodCollection_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.ex = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public void putToSuccess(String key, String val) {
      if (this.success == null) {
        this.success = new HashMap<String,String>();
      }
      this.success.put(key, val);
    }

    public Map<String,String> getSuccess() {
      return this.success;
    }

    public void setSuccess(Map<String,String> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Map<String,String>)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof reconcileCodCollection_result)
        return this.equals((reconcileCodCollection_result)that);
      return false;
    }

    public boolean equals(reconcileCodCollection_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(reconcileCodCollection_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      reconcileCodCollection_result typedOther = (reconcileCodCollection_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.MAP) {
              {
                org.apache.thrift.protocol.TMap _map278 = iprot.readMapBegin();
                this.success = new HashMap<String,String>(2*_map278.size);
                for (int _i279 = 0; _i279 < _map278.size; ++_i279)
                {
                  String _key280; // required
                  String _val281; // required
                  _key280 = iprot.readString();
                  _val281 = iprot.readString();
                  this.success.put(_key280, _val281);
                }
                iprot.readMapEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, this.success.size()));
          for (Map.Entry<String, String> _iter282 : this.success.entrySet())
          {
            oprot.writeString(_iter282.getKey());
            oprot.writeString(_iter282.getValue());
          }
          oprot.writeMapEnd();
        }
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("reconcileCodCollection_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getTransactionsRequiringExtraProcessing_args implements org.apache.thrift.TBase<getTransactionsRequiringExtraProcessing_args, getTransactionsRequiringExtraProcessing_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getTransactionsRequiringExtraProcessing_args");

    private static final org.apache.thrift.protocol.TField CATEGORY_FIELD_DESC = new org.apache.thrift.protocol.TField("category", org.apache.thrift.protocol.TType.I32, (short)1);

    private ExtraTransactionProcessingType category; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      /**
       * 
       * @see ExtraTransactionProcessingType
       */
      CATEGORY((short)1, "category");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // CATEGORY
            return CATEGORY;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.CATEGORY, new org.apache.thrift.meta_data.FieldMetaData("category", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, ExtraTransactionProcessingType.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getTransactionsRequiringExtraProcessing_args.class, metaDataMap);
    }

    public getTransactionsRequiringExtraProcessing_args() {
    }

    public getTransactionsRequiringExtraProcessing_args(
      ExtraTransactionProcessingType category)
    {
      this();
      this.category = category;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getTransactionsRequiringExtraProcessing_args(getTransactionsRequiringExtraProcessing_args other) {
      if (other.isSetCategory()) {
        this.category = other.category;
      }
    }

    public getTransactionsRequiringExtraProcessing_args deepCopy() {
      return new getTransactionsRequiringExtraProcessing_args(this);
    }

    @Override
    public void clear() {
      this.category = null;
    }

    /**
     * 
     * @see ExtraTransactionProcessingType
     */
    public ExtraTransactionProcessingType getCategory() {
      return this.category;
    }

    /**
     * 
     * @see ExtraTransactionProcessingType
     */
    public void setCategory(ExtraTransactionProcessingType category) {
      this.category = category;
    }

    public void unsetCategory() {
      this.category = null;
    }

    /** Returns true if field category is set (has been assigned a value) and false otherwise */
    public boolean isSetCategory() {
      return this.category != null;
    }

    public void setCategoryIsSet(boolean value) {
      if (!value) {
        this.category = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case CATEGORY:
        if (value == null) {
          unsetCategory();
        } else {
          setCategory((ExtraTransactionProcessingType)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case CATEGORY:
        return getCategory();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case CATEGORY:
        return isSetCategory();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getTransactionsRequiringExtraProcessing_args)
        return this.equals((getTransactionsRequiringExtraProcessing_args)that);
      return false;
    }

    public boolean equals(getTransactionsRequiringExtraProcessing_args that) {
      if (that == null)
        return false;

      boolean this_present_category = true && this.isSetCategory();
      boolean that_present_category = true && that.isSetCategory();
      if (this_present_category || that_present_category) {
        if (!(this_present_category && that_present_category))
          return false;
        if (!this.category.equals(that.category))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getTransactionsRequiringExtraProcessing_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getTransactionsRequiringExtraProcessing_args typedOther = (getTransactionsRequiringExtraProcessing_args)other;

      lastComparison = Boolean.valueOf(isSetCategory()).compareTo(typedOther.isSetCategory());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetCategory()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.category, typedOther.category);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // CATEGORY
            if (field.type == org.apache.thrift.protocol.TType.I32) {
              this.category = ExtraTransactionProcessingType.findByValue(iprot.readI32());
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.category != null) {
        oprot.writeFieldBegin(CATEGORY_FIELD_DESC);
        oprot.writeI32(this.category.getValue());
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getTransactionsRequiringExtraProcessing_args(");
      boolean first = true;

      sb.append("category:");
      if (this.category == null) {
        sb.append("null");
      } else {
        sb.append(this.category);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getTransactionsRequiringExtraProcessing_result implements org.apache.thrift.TBase<getTransactionsRequiringExtraProcessing_result, getTransactionsRequiringExtraProcessing_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getTransactionsRequiringExtraProcessing_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);

    private List<Long> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getTransactionsRequiringExtraProcessing_result.class, metaDataMap);
    }

    public getTransactionsRequiringExtraProcessing_result() {
    }

    public getTransactionsRequiringExtraProcessing_result(
      List<Long> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getTransactionsRequiringExtraProcessing_result(getTransactionsRequiringExtraProcessing_result other) {
      if (other.isSetSuccess()) {
        List<Long> __this__success = new ArrayList<Long>();
        for (Long other_element : other.success) {
          __this__success.add(other_element);
        }
        this.success = __this__success;
      }
    }

    public getTransactionsRequiringExtraProcessing_result deepCopy() {
      return new getTransactionsRequiringExtraProcessing_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<Long> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(long elem) {
      if (this.success == null) {
        this.success = new ArrayList<Long>();
      }
      this.success.add(elem);
    }

    public List<Long> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<Long> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<Long>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getTransactionsRequiringExtraProcessing_result)
        return this.equals((getTransactionsRequiringExtraProcessing_result)that);
      return false;
    }

    public boolean equals(getTransactionsRequiringExtraProcessing_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getTransactionsRequiringExtraProcessing_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getTransactionsRequiringExtraProcessing_result typedOther = (getTransactionsRequiringExtraProcessing_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list283 = iprot.readListBegin();
                this.success = new ArrayList<Long>(_list283.size);
                for (int _i284 = 0; _i284 < _list283.size; ++_i284)
                {
                  long _elem285; // required
                  _elem285 = iprot.readI64();
                  this.success.add(_elem285);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, this.success.size()));
          for (long _iter286 : this.success)
          {
            oprot.writeI64(_iter286);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getTransactionsRequiringExtraProcessing_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class markTransactionAsProcessed_args implements org.apache.thrift.TBase<markTransactionAsProcessed_args, markTransactionAsProcessed_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("markTransactionAsProcessed_args");

    private static final org.apache.thrift.protocol.TField TRANSACTION_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("transactionId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField CATEGORY_FIELD_DESC = new org.apache.thrift.protocol.TField("category", org.apache.thrift.protocol.TType.I32, (short)2);

    private long transactionId; // required
    private ExtraTransactionProcessingType category; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      TRANSACTION_ID((short)1, "transactionId"),
      /**
       * 
       * @see ExtraTransactionProcessingType
       */
      CATEGORY((short)2, "category");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // TRANSACTION_ID
            return TRANSACTION_ID;
          case 2: // CATEGORY
            return CATEGORY;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __TRANSACTIONID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.TRANSACTION_ID, new org.apache.thrift.meta_data.FieldMetaData("transactionId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.CATEGORY, new org.apache.thrift.meta_data.FieldMetaData("category", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, ExtraTransactionProcessingType.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(markTransactionAsProcessed_args.class, metaDataMap);
    }

    public markTransactionAsProcessed_args() {
    }

    public markTransactionAsProcessed_args(
      long transactionId,
      ExtraTransactionProcessingType category)
    {
      this();
      this.transactionId = transactionId;
      setTransactionIdIsSet(true);
      this.category = category;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public markTransactionAsProcessed_args(markTransactionAsProcessed_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.transactionId = other.transactionId;
      if (other.isSetCategory()) {
        this.category = other.category;
      }
    }

    public markTransactionAsProcessed_args deepCopy() {
      return new markTransactionAsProcessed_args(this);
    }

    @Override
    public void clear() {
      setTransactionIdIsSet(false);
      this.transactionId = 0;
      this.category = null;
    }

    public long getTransactionId() {
      return this.transactionId;
    }

    public void setTransactionId(long transactionId) {
      this.transactionId = transactionId;
      setTransactionIdIsSet(true);
    }

    public void unsetTransactionId() {
      __isset_bit_vector.clear(__TRANSACTIONID_ISSET_ID);
    }

    /** Returns true if field transactionId is set (has been assigned a value) and false otherwise */
    public boolean isSetTransactionId() {
      return __isset_bit_vector.get(__TRANSACTIONID_ISSET_ID);
    }

    public void setTransactionIdIsSet(boolean value) {
      __isset_bit_vector.set(__TRANSACTIONID_ISSET_ID, value);
    }

    /**
     * 
     * @see ExtraTransactionProcessingType
     */
    public ExtraTransactionProcessingType getCategory() {
      return this.category;
    }

    /**
     * 
     * @see ExtraTransactionProcessingType
     */
    public void setCategory(ExtraTransactionProcessingType category) {
      this.category = category;
    }

    public void unsetCategory() {
      this.category = null;
    }

    /** Returns true if field category is set (has been assigned a value) and false otherwise */
    public boolean isSetCategory() {
      return this.category != null;
    }

    public void setCategoryIsSet(boolean value) {
      if (!value) {
        this.category = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case TRANSACTION_ID:
        if (value == null) {
          unsetTransactionId();
        } else {
          setTransactionId((Long)value);
        }
        break;

      case CATEGORY:
        if (value == null) {
          unsetCategory();
        } else {
          setCategory((ExtraTransactionProcessingType)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case TRANSACTION_ID:
        return Long.valueOf(getTransactionId());

      case CATEGORY:
        return getCategory();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case TRANSACTION_ID:
        return isSetTransactionId();
      case CATEGORY:
        return isSetCategory();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof markTransactionAsProcessed_args)
        return this.equals((markTransactionAsProcessed_args)that);
      return false;
    }

    public boolean equals(markTransactionAsProcessed_args that) {
      if (that == null)
        return false;

      boolean this_present_transactionId = true;
      boolean that_present_transactionId = true;
      if (this_present_transactionId || that_present_transactionId) {
        if (!(this_present_transactionId && that_present_transactionId))
          return false;
        if (this.transactionId != that.transactionId)
          return false;
      }

      boolean this_present_category = true && this.isSetCategory();
      boolean that_present_category = true && that.isSetCategory();
      if (this_present_category || that_present_category) {
        if (!(this_present_category && that_present_category))
          return false;
        if (!this.category.equals(that.category))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(markTransactionAsProcessed_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      markTransactionAsProcessed_args typedOther = (markTransactionAsProcessed_args)other;

      lastComparison = Boolean.valueOf(isSetTransactionId()).compareTo(typedOther.isSetTransactionId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetTransactionId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.transactionId, typedOther.transactionId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetCategory()).compareTo(typedOther.isSetCategory());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetCategory()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.category, typedOther.category);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // TRANSACTION_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.transactionId = iprot.readI64();
              setTransactionIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // CATEGORY
            if (field.type == org.apache.thrift.protocol.TType.I32) {
              this.category = ExtraTransactionProcessingType.findByValue(iprot.readI32());
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(TRANSACTION_ID_FIELD_DESC);
      oprot.writeI64(this.transactionId);
      oprot.writeFieldEnd();
      if (this.category != null) {
        oprot.writeFieldBegin(CATEGORY_FIELD_DESC);
        oprot.writeI32(this.category.getValue());
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("markTransactionAsProcessed_args(");
      boolean first = true;

      sb.append("transactionId:");
      sb.append(this.transactionId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("category:");
      if (this.category == null) {
        sb.append("null");
      } else {
        sb.append(this.category);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class markTransactionAsProcessed_result implements org.apache.thrift.TBase<markTransactionAsProcessed_result, markTransactionAsProcessed_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("markTransactionAsProcessed_result");



    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
;

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(markTransactionAsProcessed_result.class, metaDataMap);
    }

    public markTransactionAsProcessed_result() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public markTransactionAsProcessed_result(markTransactionAsProcessed_result other) {
    }

    public markTransactionAsProcessed_result deepCopy() {
      return new markTransactionAsProcessed_result(this);
    }

    @Override
    public void clear() {
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof markTransactionAsProcessed_result)
        return this.equals((markTransactionAsProcessed_result)that);
      return false;
    }

    public boolean equals(markTransactionAsProcessed_result that) {
      if (that == null)
        return false;

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(markTransactionAsProcessed_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      markTransactionAsProcessed_result typedOther = (markTransactionAsProcessed_result)other;

      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("markTransactionAsProcessed_result(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getItemWiseRiskyOrdersCount_args implements org.apache.thrift.TBase<getItemWiseRiskyOrdersCount_args, getItemWiseRiskyOrdersCount_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getItemWiseRiskyOrdersCount_args");



    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
;

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getItemWiseRiskyOrdersCount_args.class, metaDataMap);
    }

    public getItemWiseRiskyOrdersCount_args() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getItemWiseRiskyOrdersCount_args(getItemWiseRiskyOrdersCount_args other) {
    }

    public getItemWiseRiskyOrdersCount_args deepCopy() {
      return new getItemWiseRiskyOrdersCount_args(this);
    }

    @Override
    public void clear() {
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getItemWiseRiskyOrdersCount_args)
        return this.equals((getItemWiseRiskyOrdersCount_args)that);
      return false;
    }

    public boolean equals(getItemWiseRiskyOrdersCount_args that) {
      if (that == null)
        return false;

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getItemWiseRiskyOrdersCount_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getItemWiseRiskyOrdersCount_args typedOther = (getItemWiseRiskyOrdersCount_args)other;

      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getItemWiseRiskyOrdersCount_args(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getItemWiseRiskyOrdersCount_result implements org.apache.thrift.TBase<getItemWiseRiskyOrdersCount_result, getItemWiseRiskyOrdersCount_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getItemWiseRiskyOrdersCount_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.MAP, (short)0);

    private Map<Long,Long> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64), 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getItemWiseRiskyOrdersCount_result.class, metaDataMap);
    }

    public getItemWiseRiskyOrdersCount_result() {
    }

    public getItemWiseRiskyOrdersCount_result(
      Map<Long,Long> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getItemWiseRiskyOrdersCount_result(getItemWiseRiskyOrdersCount_result other) {
      if (other.isSetSuccess()) {
        Map<Long,Long> __this__success = new HashMap<Long,Long>();
        for (Map.Entry<Long, Long> other_element : other.success.entrySet()) {

          Long other_element_key = other_element.getKey();
          Long other_element_value = other_element.getValue();

          Long __this__success_copy_key = other_element_key;

          Long __this__success_copy_value = other_element_value;

          __this__success.put(__this__success_copy_key, __this__success_copy_value);
        }
        this.success = __this__success;
      }
    }

    public getItemWiseRiskyOrdersCount_result deepCopy() {
      return new getItemWiseRiskyOrdersCount_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public void putToSuccess(long key, long val) {
      if (this.success == null) {
        this.success = new HashMap<Long,Long>();
      }
      this.success.put(key, val);
    }

    public Map<Long,Long> getSuccess() {
      return this.success;
    }

    public void setSuccess(Map<Long,Long> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Map<Long,Long>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getItemWiseRiskyOrdersCount_result)
        return this.equals((getItemWiseRiskyOrdersCount_result)that);
      return false;
    }

    public boolean equals(getItemWiseRiskyOrdersCount_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getItemWiseRiskyOrdersCount_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getItemWiseRiskyOrdersCount_result typedOther = (getItemWiseRiskyOrdersCount_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.MAP) {
              {
                org.apache.thrift.protocol.TMap _map287 = iprot.readMapBegin();
                this.success = new HashMap<Long,Long>(2*_map287.size);
                for (int _i288 = 0; _i288 < _map287.size; ++_i288)
                {
                  long _key289; // required
                  long _val290; // required
                  _key289 = iprot.readI64();
                  _val290 = iprot.readI64();
                  this.success.put(_key289, _val290);
                }
                iprot.readMapEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.I64, org.apache.thrift.protocol.TType.I64, this.success.size()));
          for (Map.Entry<Long, Long> _iter291 : this.success.entrySet())
          {
            oprot.writeI64(_iter291.getKey());
            oprot.writeI64(_iter291.getValue());
          }
          oprot.writeMapEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getItemWiseRiskyOrdersCount_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getOrdersForItemIds_args implements org.apache.thrift.TBase<getOrdersForItemIds_args, getOrdersForItemIds_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getOrdersForItemIds_args");

    private static final org.apache.thrift.protocol.TField ITEM_IDS_FIELD_DESC = new org.apache.thrift.protocol.TField("itemIds", org.apache.thrift.protocol.TType.LIST, (short)1);

    private List<Long> itemIds; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ITEM_IDS((short)1, "itemIds");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ITEM_IDS
            return ITEM_IDS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ITEM_IDS, new org.apache.thrift.meta_data.FieldMetaData("itemIds", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getOrdersForItemIds_args.class, metaDataMap);
    }

    public getOrdersForItemIds_args() {
    }

    public getOrdersForItemIds_args(
      List<Long> itemIds)
    {
      this();
      this.itemIds = itemIds;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getOrdersForItemIds_args(getOrdersForItemIds_args other) {
      if (other.isSetItemIds()) {
        List<Long> __this__itemIds = new ArrayList<Long>();
        for (Long other_element : other.itemIds) {
          __this__itemIds.add(other_element);
        }
        this.itemIds = __this__itemIds;
      }
    }

    public getOrdersForItemIds_args deepCopy() {
      return new getOrdersForItemIds_args(this);
    }

    @Override
    public void clear() {
      this.itemIds = null;
    }

    public int getItemIdsSize() {
      return (this.itemIds == null) ? 0 : this.itemIds.size();
    }

    public java.util.Iterator<Long> getItemIdsIterator() {
      return (this.itemIds == null) ? null : this.itemIds.iterator();
    }

    public void addToItemIds(long elem) {
      if (this.itemIds == null) {
        this.itemIds = new ArrayList<Long>();
      }
      this.itemIds.add(elem);
    }

    public List<Long> getItemIds() {
      return this.itemIds;
    }

    public void setItemIds(List<Long> itemIds) {
      this.itemIds = itemIds;
    }

    public void unsetItemIds() {
      this.itemIds = null;
    }

    /** Returns true if field itemIds is set (has been assigned a value) and false otherwise */
    public boolean isSetItemIds() {
      return this.itemIds != null;
    }

    public void setItemIdsIsSet(boolean value) {
      if (!value) {
        this.itemIds = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ITEM_IDS:
        if (value == null) {
          unsetItemIds();
        } else {
          setItemIds((List<Long>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ITEM_IDS:
        return getItemIds();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ITEM_IDS:
        return isSetItemIds();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getOrdersForItemIds_args)
        return this.equals((getOrdersForItemIds_args)that);
      return false;
    }

    public boolean equals(getOrdersForItemIds_args that) {
      if (that == null)
        return false;

      boolean this_present_itemIds = true && this.isSetItemIds();
      boolean that_present_itemIds = true && that.isSetItemIds();
      if (this_present_itemIds || that_present_itemIds) {
        if (!(this_present_itemIds && that_present_itemIds))
          return false;
        if (!this.itemIds.equals(that.itemIds))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getOrdersForItemIds_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getOrdersForItemIds_args typedOther = (getOrdersForItemIds_args)other;

      lastComparison = Boolean.valueOf(isSetItemIds()).compareTo(typedOther.isSetItemIds());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetItemIds()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.itemIds, typedOther.itemIds);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ITEM_IDS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list292 = iprot.readListBegin();
                this.itemIds = new ArrayList<Long>(_list292.size);
                for (int _i293 = 0; _i293 < _list292.size; ++_i293)
                {
                  long _elem294; // required
                  _elem294 = iprot.readI64();
                  this.itemIds.add(_elem294);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.itemIds != null) {
        oprot.writeFieldBegin(ITEM_IDS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, this.itemIds.size()));
          for (long _iter295 : this.itemIds)
          {
            oprot.writeI64(_iter295);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getOrdersForItemIds_args(");
      boolean first = true;

      sb.append("itemIds:");
      if (this.itemIds == null) {
        sb.append("null");
      } else {
        sb.append(this.itemIds);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getOrdersForItemIds_result implements org.apache.thrift.TBase<getOrdersForItemIds_result, getOrdersForItemIds_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getOrdersForItemIds_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);

    private List<Order> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Order.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getOrdersForItemIds_result.class, metaDataMap);
    }

    public getOrdersForItemIds_result() {
    }

    public getOrdersForItemIds_result(
      List<Order> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getOrdersForItemIds_result(getOrdersForItemIds_result other) {
      if (other.isSetSuccess()) {
        List<Order> __this__success = new ArrayList<Order>();
        for (Order other_element : other.success) {
          __this__success.add(new Order(other_element));
        }
        this.success = __this__success;
      }
    }

    public getOrdersForItemIds_result deepCopy() {
      return new getOrdersForItemIds_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<Order> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(Order elem) {
      if (this.success == null) {
        this.success = new ArrayList<Order>();
      }
      this.success.add(elem);
    }

    public List<Order> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<Order> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<Order>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getOrdersForItemIds_result)
        return this.equals((getOrdersForItemIds_result)that);
      return false;
    }

    public boolean equals(getOrdersForItemIds_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getOrdersForItemIds_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getOrdersForItemIds_result typedOther = (getOrdersForItemIds_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list296 = iprot.readListBegin();
                this.success = new ArrayList<Order>(_list296.size);
                for (int _i297 = 0; _i297 < _list296.size; ++_i297)
                {
                  Order _elem298; // required
                  _elem298 = new Order();
                  _elem298.read(iprot);
                  this.success.add(_elem298);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (Order _iter299 : this.success)
          {
            _iter299.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getOrdersForItemIds_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class markOrderCancellationRequestReceived_args implements org.apache.thrift.TBase<markOrderCancellationRequestReceived_args, markOrderCancellationRequestReceived_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("markOrderCancellationRequestReceived_args");

    private static final org.apache.thrift.protocol.TField ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("orderId", org.apache.thrift.protocol.TType.I64, (short)1);

    private long orderId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ORDER_ID((short)1, "orderId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ORDER_ID
            return ORDER_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ORDERID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("orderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(markOrderCancellationRequestReceived_args.class, metaDataMap);
    }

    public markOrderCancellationRequestReceived_args() {
    }

    public markOrderCancellationRequestReceived_args(
      long orderId)
    {
      this();
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public markOrderCancellationRequestReceived_args(markOrderCancellationRequestReceived_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.orderId = other.orderId;
    }

    public markOrderCancellationRequestReceived_args deepCopy() {
      return new markOrderCancellationRequestReceived_args(this);
    }

    @Override
    public void clear() {
      setOrderIdIsSet(false);
      this.orderId = 0;
    }

    public long getOrderId() {
      return this.orderId;
    }

    public void setOrderId(long orderId) {
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    public void unsetOrderId() {
      __isset_bit_vector.clear(__ORDERID_ISSET_ID);
    }

    /** Returns true if field orderId is set (has been assigned a value) and false otherwise */
    public boolean isSetOrderId() {
      return __isset_bit_vector.get(__ORDERID_ISSET_ID);
    }

    public void setOrderIdIsSet(boolean value) {
      __isset_bit_vector.set(__ORDERID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ORDER_ID:
        if (value == null) {
          unsetOrderId();
        } else {
          setOrderId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ORDER_ID:
        return Long.valueOf(getOrderId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ORDER_ID:
        return isSetOrderId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof markOrderCancellationRequestReceived_args)
        return this.equals((markOrderCancellationRequestReceived_args)that);
      return false;
    }

    public boolean equals(markOrderCancellationRequestReceived_args that) {
      if (that == null)
        return false;

      boolean this_present_orderId = true;
      boolean that_present_orderId = true;
      if (this_present_orderId || that_present_orderId) {
        if (!(this_present_orderId && that_present_orderId))
          return false;
        if (this.orderId != that.orderId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(markOrderCancellationRequestReceived_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      markOrderCancellationRequestReceived_args typedOther = (markOrderCancellationRequestReceived_args)other;

      lastComparison = Boolean.valueOf(isSetOrderId()).compareTo(typedOther.isSetOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.orderId, typedOther.orderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.orderId = iprot.readI64();
              setOrderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ORDER_ID_FIELD_DESC);
      oprot.writeI64(this.orderId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("markOrderCancellationRequestReceived_args(");
      boolean first = true;

      sb.append("orderId:");
      sb.append(this.orderId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class markOrderCancellationRequestReceived_result implements org.apache.thrift.TBase<markOrderCancellationRequestReceived_result, markOrderCancellationRequestReceived_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("markOrderCancellationRequestReceived_result");

    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(markOrderCancellationRequestReceived_result.class, metaDataMap);
    }

    public markOrderCancellationRequestReceived_result() {
    }

    public markOrderCancellationRequestReceived_result(
      TransactionServiceException ex)
    {
      this();
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public markOrderCancellationRequestReceived_result(markOrderCancellationRequestReceived_result other) {
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public markOrderCancellationRequestReceived_result deepCopy() {
      return new markOrderCancellationRequestReceived_result(this);
    }

    @Override
    public void clear() {
      this.ex = null;
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof markOrderCancellationRequestReceived_result)
        return this.equals((markOrderCancellationRequestReceived_result)that);
      return false;
    }

    public boolean equals(markOrderCancellationRequestReceived_result that) {
      if (that == null)
        return false;

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(markOrderCancellationRequestReceived_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      markOrderCancellationRequestReceived_result typedOther = (markOrderCancellationRequestReceived_result)other;

      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("markOrderCancellationRequestReceived_result(");
      boolean first = true;

      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class markOrderCancellationRequestConfirmed_args implements org.apache.thrift.TBase<markOrderCancellationRequestConfirmed_args, markOrderCancellationRequestConfirmed_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("markOrderCancellationRequestConfirmed_args");

    private static final org.apache.thrift.protocol.TField ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("orderId", org.apache.thrift.protocol.TType.I64, (short)1);

    private long orderId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ORDER_ID((short)1, "orderId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ORDER_ID
            return ORDER_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ORDERID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("orderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(markOrderCancellationRequestConfirmed_args.class, metaDataMap);
    }

    public markOrderCancellationRequestConfirmed_args() {
    }

    public markOrderCancellationRequestConfirmed_args(
      long orderId)
    {
      this();
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public markOrderCancellationRequestConfirmed_args(markOrderCancellationRequestConfirmed_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.orderId = other.orderId;
    }

    public markOrderCancellationRequestConfirmed_args deepCopy() {
      return new markOrderCancellationRequestConfirmed_args(this);
    }

    @Override
    public void clear() {
      setOrderIdIsSet(false);
      this.orderId = 0;
    }

    public long getOrderId() {
      return this.orderId;
    }

    public void setOrderId(long orderId) {
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    public void unsetOrderId() {
      __isset_bit_vector.clear(__ORDERID_ISSET_ID);
    }

    /** Returns true if field orderId is set (has been assigned a value) and false otherwise */
    public boolean isSetOrderId() {
      return __isset_bit_vector.get(__ORDERID_ISSET_ID);
    }

    public void setOrderIdIsSet(boolean value) {
      __isset_bit_vector.set(__ORDERID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ORDER_ID:
        if (value == null) {
          unsetOrderId();
        } else {
          setOrderId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ORDER_ID:
        return Long.valueOf(getOrderId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ORDER_ID:
        return isSetOrderId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof markOrderCancellationRequestConfirmed_args)
        return this.equals((markOrderCancellationRequestConfirmed_args)that);
      return false;
    }

    public boolean equals(markOrderCancellationRequestConfirmed_args that) {
      if (that == null)
        return false;

      boolean this_present_orderId = true;
      boolean that_present_orderId = true;
      if (this_present_orderId || that_present_orderId) {
        if (!(this_present_orderId && that_present_orderId))
          return false;
        if (this.orderId != that.orderId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(markOrderCancellationRequestConfirmed_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      markOrderCancellationRequestConfirmed_args typedOther = (markOrderCancellationRequestConfirmed_args)other;

      lastComparison = Boolean.valueOf(isSetOrderId()).compareTo(typedOther.isSetOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.orderId, typedOther.orderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.orderId = iprot.readI64();
              setOrderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ORDER_ID_FIELD_DESC);
      oprot.writeI64(this.orderId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("markOrderCancellationRequestConfirmed_args(");
      boolean first = true;

      sb.append("orderId:");
      sb.append(this.orderId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class markOrderCancellationRequestConfirmed_result implements org.apache.thrift.TBase<markOrderCancellationRequestConfirmed_result, markOrderCancellationRequestConfirmed_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("markOrderCancellationRequestConfirmed_result");

    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(markOrderCancellationRequestConfirmed_result.class, metaDataMap);
    }

    public markOrderCancellationRequestConfirmed_result() {
    }

    public markOrderCancellationRequestConfirmed_result(
      TransactionServiceException ex)
    {
      this();
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public markOrderCancellationRequestConfirmed_result(markOrderCancellationRequestConfirmed_result other) {
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public markOrderCancellationRequestConfirmed_result deepCopy() {
      return new markOrderCancellationRequestConfirmed_result(this);
    }

    @Override
    public void clear() {
      this.ex = null;
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof markOrderCancellationRequestConfirmed_result)
        return this.equals((markOrderCancellationRequestConfirmed_result)that);
      return false;
    }

    public boolean equals(markOrderCancellationRequestConfirmed_result that) {
      if (that == null)
        return false;

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(markOrderCancellationRequestConfirmed_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      markOrderCancellationRequestConfirmed_result typedOther = (markOrderCancellationRequestConfirmed_result)other;

      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("markOrderCancellationRequestConfirmed_result(");
      boolean first = true;

      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class markOrderCancellationRequestDenied_args implements org.apache.thrift.TBase<markOrderCancellationRequestDenied_args, markOrderCancellationRequestDenied_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("markOrderCancellationRequestDenied_args");

    private static final org.apache.thrift.protocol.TField ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("orderId", org.apache.thrift.protocol.TType.I64, (short)1);

    private long orderId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ORDER_ID((short)1, "orderId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ORDER_ID
            return ORDER_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ORDERID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("orderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(markOrderCancellationRequestDenied_args.class, metaDataMap);
    }

    public markOrderCancellationRequestDenied_args() {
    }

    public markOrderCancellationRequestDenied_args(
      long orderId)
    {
      this();
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public markOrderCancellationRequestDenied_args(markOrderCancellationRequestDenied_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.orderId = other.orderId;
    }

    public markOrderCancellationRequestDenied_args deepCopy() {
      return new markOrderCancellationRequestDenied_args(this);
    }

    @Override
    public void clear() {
      setOrderIdIsSet(false);
      this.orderId = 0;
    }

    public long getOrderId() {
      return this.orderId;
    }

    public void setOrderId(long orderId) {
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    public void unsetOrderId() {
      __isset_bit_vector.clear(__ORDERID_ISSET_ID);
    }

    /** Returns true if field orderId is set (has been assigned a value) and false otherwise */
    public boolean isSetOrderId() {
      return __isset_bit_vector.get(__ORDERID_ISSET_ID);
    }

    public void setOrderIdIsSet(boolean value) {
      __isset_bit_vector.set(__ORDERID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ORDER_ID:
        if (value == null) {
          unsetOrderId();
        } else {
          setOrderId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ORDER_ID:
        return Long.valueOf(getOrderId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ORDER_ID:
        return isSetOrderId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof markOrderCancellationRequestDenied_args)
        return this.equals((markOrderCancellationRequestDenied_args)that);
      return false;
    }

    public boolean equals(markOrderCancellationRequestDenied_args that) {
      if (that == null)
        return false;

      boolean this_present_orderId = true;
      boolean that_present_orderId = true;
      if (this_present_orderId || that_present_orderId) {
        if (!(this_present_orderId && that_present_orderId))
          return false;
        if (this.orderId != that.orderId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(markOrderCancellationRequestDenied_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      markOrderCancellationRequestDenied_args typedOther = (markOrderCancellationRequestDenied_args)other;

      lastComparison = Boolean.valueOf(isSetOrderId()).compareTo(typedOther.isSetOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.orderId, typedOther.orderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.orderId = iprot.readI64();
              setOrderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ORDER_ID_FIELD_DESC);
      oprot.writeI64(this.orderId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("markOrderCancellationRequestDenied_args(");
      boolean first = true;

      sb.append("orderId:");
      sb.append(this.orderId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class markOrderCancellationRequestDenied_result implements org.apache.thrift.TBase<markOrderCancellationRequestDenied_result, markOrderCancellationRequestDenied_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("markOrderCancellationRequestDenied_result");

    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(markOrderCancellationRequestDenied_result.class, metaDataMap);
    }

    public markOrderCancellationRequestDenied_result() {
    }

    public markOrderCancellationRequestDenied_result(
      TransactionServiceException ex)
    {
      this();
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public markOrderCancellationRequestDenied_result(markOrderCancellationRequestDenied_result other) {
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public markOrderCancellationRequestDenied_result deepCopy() {
      return new markOrderCancellationRequestDenied_result(this);
    }

    @Override
    public void clear() {
      this.ex = null;
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof markOrderCancellationRequestDenied_result)
        return this.equals((markOrderCancellationRequestDenied_result)that);
      return false;
    }

    public boolean equals(markOrderCancellationRequestDenied_result that) {
      if (that == null)
        return false;

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(markOrderCancellationRequestDenied_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      markOrderCancellationRequestDenied_result typedOther = (markOrderCancellationRequestDenied_result)other;

      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("markOrderCancellationRequestDenied_result(");
      boolean first = true;

      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class markTransactionAsPaymentFlagRemoved_args implements org.apache.thrift.TBase<markTransactionAsPaymentFlagRemoved_args, markTransactionAsPaymentFlagRemoved_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("markTransactionAsPaymentFlagRemoved_args");

    private static final org.apache.thrift.protocol.TField TRANSACTION_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("transactionId", org.apache.thrift.protocol.TType.I64, (short)1);

    private long transactionId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      TRANSACTION_ID((short)1, "transactionId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // TRANSACTION_ID
            return TRANSACTION_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __TRANSACTIONID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.TRANSACTION_ID, new org.apache.thrift.meta_data.FieldMetaData("transactionId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(markTransactionAsPaymentFlagRemoved_args.class, metaDataMap);
    }

    public markTransactionAsPaymentFlagRemoved_args() {
    }

    public markTransactionAsPaymentFlagRemoved_args(
      long transactionId)
    {
      this();
      this.transactionId = transactionId;
      setTransactionIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public markTransactionAsPaymentFlagRemoved_args(markTransactionAsPaymentFlagRemoved_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.transactionId = other.transactionId;
    }

    public markTransactionAsPaymentFlagRemoved_args deepCopy() {
      return new markTransactionAsPaymentFlagRemoved_args(this);
    }

    @Override
    public void clear() {
      setTransactionIdIsSet(false);
      this.transactionId = 0;
    }

    public long getTransactionId() {
      return this.transactionId;
    }

    public void setTransactionId(long transactionId) {
      this.transactionId = transactionId;
      setTransactionIdIsSet(true);
    }

    public void unsetTransactionId() {
      __isset_bit_vector.clear(__TRANSACTIONID_ISSET_ID);
    }

    /** Returns true if field transactionId is set (has been assigned a value) and false otherwise */
    public boolean isSetTransactionId() {
      return __isset_bit_vector.get(__TRANSACTIONID_ISSET_ID);
    }

    public void setTransactionIdIsSet(boolean value) {
      __isset_bit_vector.set(__TRANSACTIONID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case TRANSACTION_ID:
        if (value == null) {
          unsetTransactionId();
        } else {
          setTransactionId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case TRANSACTION_ID:
        return Long.valueOf(getTransactionId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case TRANSACTION_ID:
        return isSetTransactionId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof markTransactionAsPaymentFlagRemoved_args)
        return this.equals((markTransactionAsPaymentFlagRemoved_args)that);
      return false;
    }

    public boolean equals(markTransactionAsPaymentFlagRemoved_args that) {
      if (that == null)
        return false;

      boolean this_present_transactionId = true;
      boolean that_present_transactionId = true;
      if (this_present_transactionId || that_present_transactionId) {
        if (!(this_present_transactionId && that_present_transactionId))
          return false;
        if (this.transactionId != that.transactionId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(markTransactionAsPaymentFlagRemoved_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      markTransactionAsPaymentFlagRemoved_args typedOther = (markTransactionAsPaymentFlagRemoved_args)other;

      lastComparison = Boolean.valueOf(isSetTransactionId()).compareTo(typedOther.isSetTransactionId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetTransactionId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.transactionId, typedOther.transactionId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // TRANSACTION_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.transactionId = iprot.readI64();
              setTransactionIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(TRANSACTION_ID_FIELD_DESC);
      oprot.writeI64(this.transactionId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("markTransactionAsPaymentFlagRemoved_args(");
      boolean first = true;

      sb.append("transactionId:");
      sb.append(this.transactionId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class markTransactionAsPaymentFlagRemoved_result implements org.apache.thrift.TBase<markTransactionAsPaymentFlagRemoved_result, markTransactionAsPaymentFlagRemoved_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("markTransactionAsPaymentFlagRemoved_result");

    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(markTransactionAsPaymentFlagRemoved_result.class, metaDataMap);
    }

    public markTransactionAsPaymentFlagRemoved_result() {
    }

    public markTransactionAsPaymentFlagRemoved_result(
      TransactionServiceException ex)
    {
      this();
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public markTransactionAsPaymentFlagRemoved_result(markTransactionAsPaymentFlagRemoved_result other) {
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public markTransactionAsPaymentFlagRemoved_result deepCopy() {
      return new markTransactionAsPaymentFlagRemoved_result(this);
    }

    @Override
    public void clear() {
      this.ex = null;
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof markTransactionAsPaymentFlagRemoved_result)
        return this.equals((markTransactionAsPaymentFlagRemoved_result)that);
      return false;
    }

    public boolean equals(markTransactionAsPaymentFlagRemoved_result that) {
      if (that == null)
        return false;

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(markTransactionAsPaymentFlagRemoved_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      markTransactionAsPaymentFlagRemoved_result typedOther = (markTransactionAsPaymentFlagRemoved_result)other;

      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("markTransactionAsPaymentFlagRemoved_result(");
      boolean first = true;

      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class refundTransaction_args implements org.apache.thrift.TBase<refundTransaction_args, refundTransaction_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("refundTransaction_args");

    private static final org.apache.thrift.protocol.TField TRANSACTION_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("transactionId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField REFUNDED_BY_FIELD_DESC = new org.apache.thrift.protocol.TField("refundedBy", org.apache.thrift.protocol.TType.STRING, (short)2);
    private static final org.apache.thrift.protocol.TField REASON_FIELD_DESC = new org.apache.thrift.protocol.TField("reason", org.apache.thrift.protocol.TType.STRING, (short)3);

    private long transactionId; // required
    private String refundedBy; // required
    private String reason; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      TRANSACTION_ID((short)1, "transactionId"),
      REFUNDED_BY((short)2, "refundedBy"),
      REASON((short)3, "reason");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // TRANSACTION_ID
            return TRANSACTION_ID;
          case 2: // REFUNDED_BY
            return REFUNDED_BY;
          case 3: // REASON
            return REASON;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __TRANSACTIONID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.TRANSACTION_ID, new org.apache.thrift.meta_data.FieldMetaData("transactionId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.REFUNDED_BY, new org.apache.thrift.meta_data.FieldMetaData("refundedBy", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.REASON, new org.apache.thrift.meta_data.FieldMetaData("reason", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(refundTransaction_args.class, metaDataMap);
    }

    public refundTransaction_args() {
    }

    public refundTransaction_args(
      long transactionId,
      String refundedBy,
      String reason)
    {
      this();
      this.transactionId = transactionId;
      setTransactionIdIsSet(true);
      this.refundedBy = refundedBy;
      this.reason = reason;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public refundTransaction_args(refundTransaction_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.transactionId = other.transactionId;
      if (other.isSetRefundedBy()) {
        this.refundedBy = other.refundedBy;
      }
      if (other.isSetReason()) {
        this.reason = other.reason;
      }
    }

    public refundTransaction_args deepCopy() {
      return new refundTransaction_args(this);
    }

    @Override
    public void clear() {
      setTransactionIdIsSet(false);
      this.transactionId = 0;
      this.refundedBy = null;
      this.reason = null;
    }

    public long getTransactionId() {
      return this.transactionId;
    }

    public void setTransactionId(long transactionId) {
      this.transactionId = transactionId;
      setTransactionIdIsSet(true);
    }

    public void unsetTransactionId() {
      __isset_bit_vector.clear(__TRANSACTIONID_ISSET_ID);
    }

    /** Returns true if field transactionId is set (has been assigned a value) and false otherwise */
    public boolean isSetTransactionId() {
      return __isset_bit_vector.get(__TRANSACTIONID_ISSET_ID);
    }

    public void setTransactionIdIsSet(boolean value) {
      __isset_bit_vector.set(__TRANSACTIONID_ISSET_ID, value);
    }

    public String getRefundedBy() {
      return this.refundedBy;
    }

    public void setRefundedBy(String refundedBy) {
      this.refundedBy = refundedBy;
    }

    public void unsetRefundedBy() {
      this.refundedBy = null;
    }

    /** Returns true if field refundedBy is set (has been assigned a value) and false otherwise */
    public boolean isSetRefundedBy() {
      return this.refundedBy != null;
    }

    public void setRefundedByIsSet(boolean value) {
      if (!value) {
        this.refundedBy = null;
      }
    }

    public String getReason() {
      return this.reason;
    }

    public void setReason(String reason) {
      this.reason = reason;
    }

    public void unsetReason() {
      this.reason = null;
    }

    /** Returns true if field reason is set (has been assigned a value) and false otherwise */
    public boolean isSetReason() {
      return this.reason != null;
    }

    public void setReasonIsSet(boolean value) {
      if (!value) {
        this.reason = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case TRANSACTION_ID:
        if (value == null) {
          unsetTransactionId();
        } else {
          setTransactionId((Long)value);
        }
        break;

      case REFUNDED_BY:
        if (value == null) {
          unsetRefundedBy();
        } else {
          setRefundedBy((String)value);
        }
        break;

      case REASON:
        if (value == null) {
          unsetReason();
        } else {
          setReason((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case TRANSACTION_ID:
        return Long.valueOf(getTransactionId());

      case REFUNDED_BY:
        return getRefundedBy();

      case REASON:
        return getReason();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case TRANSACTION_ID:
        return isSetTransactionId();
      case REFUNDED_BY:
        return isSetRefundedBy();
      case REASON:
        return isSetReason();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof refundTransaction_args)
        return this.equals((refundTransaction_args)that);
      return false;
    }

    public boolean equals(refundTransaction_args that) {
      if (that == null)
        return false;

      boolean this_present_transactionId = true;
      boolean that_present_transactionId = true;
      if (this_present_transactionId || that_present_transactionId) {
        if (!(this_present_transactionId && that_present_transactionId))
          return false;
        if (this.transactionId != that.transactionId)
          return false;
      }

      boolean this_present_refundedBy = true && this.isSetRefundedBy();
      boolean that_present_refundedBy = true && that.isSetRefundedBy();
      if (this_present_refundedBy || that_present_refundedBy) {
        if (!(this_present_refundedBy && that_present_refundedBy))
          return false;
        if (!this.refundedBy.equals(that.refundedBy))
          return false;
      }

      boolean this_present_reason = true && this.isSetReason();
      boolean that_present_reason = true && that.isSetReason();
      if (this_present_reason || that_present_reason) {
        if (!(this_present_reason && that_present_reason))
          return false;
        if (!this.reason.equals(that.reason))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(refundTransaction_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      refundTransaction_args typedOther = (refundTransaction_args)other;

      lastComparison = Boolean.valueOf(isSetTransactionId()).compareTo(typedOther.isSetTransactionId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetTransactionId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.transactionId, typedOther.transactionId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetRefundedBy()).compareTo(typedOther.isSetRefundedBy());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetRefundedBy()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.refundedBy, typedOther.refundedBy);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetReason()).compareTo(typedOther.isSetReason());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetReason()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.reason, typedOther.reason);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // TRANSACTION_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.transactionId = iprot.readI64();
              setTransactionIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // REFUNDED_BY
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.refundedBy = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // REASON
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.reason = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(TRANSACTION_ID_FIELD_DESC);
      oprot.writeI64(this.transactionId);
      oprot.writeFieldEnd();
      if (this.refundedBy != null) {
        oprot.writeFieldBegin(REFUNDED_BY_FIELD_DESC);
        oprot.writeString(this.refundedBy);
        oprot.writeFieldEnd();
      }
      if (this.reason != null) {
        oprot.writeFieldBegin(REASON_FIELD_DESC);
        oprot.writeString(this.reason);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("refundTransaction_args(");
      boolean first = true;

      sb.append("transactionId:");
      sb.append(this.transactionId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("refundedBy:");
      if (this.refundedBy == null) {
        sb.append("null");
      } else {
        sb.append(this.refundedBy);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("reason:");
      if (this.reason == null) {
        sb.append("null");
      } else {
        sb.append(this.reason);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class refundTransaction_result implements org.apache.thrift.TBase<refundTransaction_result, refundTransaction_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("refundTransaction_result");

    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(refundTransaction_result.class, metaDataMap);
    }

    public refundTransaction_result() {
    }

    public refundTransaction_result(
      TransactionServiceException ex)
    {
      this();
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public refundTransaction_result(refundTransaction_result other) {
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public refundTransaction_result deepCopy() {
      return new refundTransaction_result(this);
    }

    @Override
    public void clear() {
      this.ex = null;
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof refundTransaction_result)
        return this.equals((refundTransaction_result)that);
      return false;
    }

    public boolean equals(refundTransaction_result that) {
      if (that == null)
        return false;

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(refundTransaction_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      refundTransaction_result typedOther = (refundTransaction_result)other;

      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("refundTransaction_result(");
      boolean first = true;

      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class updateShipmentAddress_args implements org.apache.thrift.TBase<updateShipmentAddress_args, updateShipmentAddress_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateShipmentAddress_args");

    private static final org.apache.thrift.protocol.TField ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("orderId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField ADDRESS_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("addressId", org.apache.thrift.protocol.TType.I64, (short)2);

    private long orderId; // required
    private long addressId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ORDER_ID((short)1, "orderId"),
      ADDRESS_ID((short)2, "addressId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ORDER_ID
            return ORDER_ID;
          case 2: // ADDRESS_ID
            return ADDRESS_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ORDERID_ISSET_ID = 0;
    private static final int __ADDRESSID_ISSET_ID = 1;
    private BitSet __isset_bit_vector = new BitSet(2);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("orderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.ADDRESS_ID, new org.apache.thrift.meta_data.FieldMetaData("addressId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateShipmentAddress_args.class, metaDataMap);
    }

    public updateShipmentAddress_args() {
    }

    public updateShipmentAddress_args(
      long orderId,
      long addressId)
    {
      this();
      this.orderId = orderId;
      setOrderIdIsSet(true);
      this.addressId = addressId;
      setAddressIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public updateShipmentAddress_args(updateShipmentAddress_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.orderId = other.orderId;
      this.addressId = other.addressId;
    }

    public updateShipmentAddress_args deepCopy() {
      return new updateShipmentAddress_args(this);
    }

    @Override
    public void clear() {
      setOrderIdIsSet(false);
      this.orderId = 0;
      setAddressIdIsSet(false);
      this.addressId = 0;
    }

    public long getOrderId() {
      return this.orderId;
    }

    public void setOrderId(long orderId) {
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    public void unsetOrderId() {
      __isset_bit_vector.clear(__ORDERID_ISSET_ID);
    }

    /** Returns true if field orderId is set (has been assigned a value) and false otherwise */
    public boolean isSetOrderId() {
      return __isset_bit_vector.get(__ORDERID_ISSET_ID);
    }

    public void setOrderIdIsSet(boolean value) {
      __isset_bit_vector.set(__ORDERID_ISSET_ID, value);
    }

    public long getAddressId() {
      return this.addressId;
    }

    public void setAddressId(long addressId) {
      this.addressId = addressId;
      setAddressIdIsSet(true);
    }

    public void unsetAddressId() {
      __isset_bit_vector.clear(__ADDRESSID_ISSET_ID);
    }

    /** Returns true if field addressId is set (has been assigned a value) and false otherwise */
    public boolean isSetAddressId() {
      return __isset_bit_vector.get(__ADDRESSID_ISSET_ID);
    }

    public void setAddressIdIsSet(boolean value) {
      __isset_bit_vector.set(__ADDRESSID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ORDER_ID:
        if (value == null) {
          unsetOrderId();
        } else {
          setOrderId((Long)value);
        }
        break;

      case ADDRESS_ID:
        if (value == null) {
          unsetAddressId();
        } else {
          setAddressId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ORDER_ID:
        return Long.valueOf(getOrderId());

      case ADDRESS_ID:
        return Long.valueOf(getAddressId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ORDER_ID:
        return isSetOrderId();
      case ADDRESS_ID:
        return isSetAddressId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof updateShipmentAddress_args)
        return this.equals((updateShipmentAddress_args)that);
      return false;
    }

    public boolean equals(updateShipmentAddress_args that) {
      if (that == null)
        return false;

      boolean this_present_orderId = true;
      boolean that_present_orderId = true;
      if (this_present_orderId || that_present_orderId) {
        if (!(this_present_orderId && that_present_orderId))
          return false;
        if (this.orderId != that.orderId)
          return false;
      }

      boolean this_present_addressId = true;
      boolean that_present_addressId = true;
      if (this_present_addressId || that_present_addressId) {
        if (!(this_present_addressId && that_present_addressId))
          return false;
        if (this.addressId != that.addressId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(updateShipmentAddress_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      updateShipmentAddress_args typedOther = (updateShipmentAddress_args)other;

      lastComparison = Boolean.valueOf(isSetOrderId()).compareTo(typedOther.isSetOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.orderId, typedOther.orderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetAddressId()).compareTo(typedOther.isSetAddressId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetAddressId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.addressId, typedOther.addressId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.orderId = iprot.readI64();
              setOrderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // ADDRESS_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.addressId = iprot.readI64();
              setAddressIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ORDER_ID_FIELD_DESC);
      oprot.writeI64(this.orderId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(ADDRESS_ID_FIELD_DESC);
      oprot.writeI64(this.addressId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("updateShipmentAddress_args(");
      boolean first = true;

      sb.append("orderId:");
      sb.append(this.orderId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("addressId:");
      sb.append(this.addressId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class updateShipmentAddress_result implements org.apache.thrift.TBase<updateShipmentAddress_result, updateShipmentAddress_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateShipmentAddress_result");

    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateShipmentAddress_result.class, metaDataMap);
    }

    public updateShipmentAddress_result() {
    }

    public updateShipmentAddress_result(
      TransactionServiceException ex)
    {
      this();
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public updateShipmentAddress_result(updateShipmentAddress_result other) {
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public updateShipmentAddress_result deepCopy() {
      return new updateShipmentAddress_result(this);
    }

    @Override
    public void clear() {
      this.ex = null;
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof updateShipmentAddress_result)
        return this.equals((updateShipmentAddress_result)that);
      return false;
    }

    public boolean equals(updateShipmentAddress_result that) {
      if (that == null)
        return false;

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(updateShipmentAddress_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      updateShipmentAddress_result typedOther = (updateShipmentAddress_result)other;

      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("updateShipmentAddress_result(");
      boolean first = true;

      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class acceptOrdersForItemId_args implements org.apache.thrift.TBase<acceptOrdersForItemId_args, acceptOrdersForItemId_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("acceptOrdersForItemId_args");

    private static final org.apache.thrift.protocol.TField ITEM_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("itemId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField INVENTORY_FIELD_DESC = new org.apache.thrift.protocol.TField("inventory", org.apache.thrift.protocol.TType.I64, (short)2);

    private long itemId; // required
    private long inventory; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ITEM_ID((short)1, "itemId"),
      INVENTORY((short)2, "inventory");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ITEM_ID
            return ITEM_ID;
          case 2: // INVENTORY
            return INVENTORY;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ITEMID_ISSET_ID = 0;
    private static final int __INVENTORY_ISSET_ID = 1;
    private BitSet __isset_bit_vector = new BitSet(2);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ITEM_ID, new org.apache.thrift.meta_data.FieldMetaData("itemId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.INVENTORY, new org.apache.thrift.meta_data.FieldMetaData("inventory", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(acceptOrdersForItemId_args.class, metaDataMap);
    }

    public acceptOrdersForItemId_args() {
    }

    public acceptOrdersForItemId_args(
      long itemId,
      long inventory)
    {
      this();
      this.itemId = itemId;
      setItemIdIsSet(true);
      this.inventory = inventory;
      setInventoryIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public acceptOrdersForItemId_args(acceptOrdersForItemId_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.itemId = other.itemId;
      this.inventory = other.inventory;
    }

    public acceptOrdersForItemId_args deepCopy() {
      return new acceptOrdersForItemId_args(this);
    }

    @Override
    public void clear() {
      setItemIdIsSet(false);
      this.itemId = 0;
      setInventoryIsSet(false);
      this.inventory = 0;
    }

    public long getItemId() {
      return this.itemId;
    }

    public void setItemId(long itemId) {
      this.itemId = itemId;
      setItemIdIsSet(true);
    }

    public void unsetItemId() {
      __isset_bit_vector.clear(__ITEMID_ISSET_ID);
    }

    /** Returns true if field itemId is set (has been assigned a value) and false otherwise */
    public boolean isSetItemId() {
      return __isset_bit_vector.get(__ITEMID_ISSET_ID);
    }

    public void setItemIdIsSet(boolean value) {
      __isset_bit_vector.set(__ITEMID_ISSET_ID, value);
    }

    public long getInventory() {
      return this.inventory;
    }

    public void setInventory(long inventory) {
      this.inventory = inventory;
      setInventoryIsSet(true);
    }

    public void unsetInventory() {
      __isset_bit_vector.clear(__INVENTORY_ISSET_ID);
    }

    /** Returns true if field inventory is set (has been assigned a value) and false otherwise */
    public boolean isSetInventory() {
      return __isset_bit_vector.get(__INVENTORY_ISSET_ID);
    }

    public void setInventoryIsSet(boolean value) {
      __isset_bit_vector.set(__INVENTORY_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ITEM_ID:
        if (value == null) {
          unsetItemId();
        } else {
          setItemId((Long)value);
        }
        break;

      case INVENTORY:
        if (value == null) {
          unsetInventory();
        } else {
          setInventory((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ITEM_ID:
        return Long.valueOf(getItemId());

      case INVENTORY:
        return Long.valueOf(getInventory());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ITEM_ID:
        return isSetItemId();
      case INVENTORY:
        return isSetInventory();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof acceptOrdersForItemId_args)
        return this.equals((acceptOrdersForItemId_args)that);
      return false;
    }

    public boolean equals(acceptOrdersForItemId_args that) {
      if (that == null)
        return false;

      boolean this_present_itemId = true;
      boolean that_present_itemId = true;
      if (this_present_itemId || that_present_itemId) {
        if (!(this_present_itemId && that_present_itemId))
          return false;
        if (this.itemId != that.itemId)
          return false;
      }

      boolean this_present_inventory = true;
      boolean that_present_inventory = true;
      if (this_present_inventory || that_present_inventory) {
        if (!(this_present_inventory && that_present_inventory))
          return false;
        if (this.inventory != that.inventory)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(acceptOrdersForItemId_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      acceptOrdersForItemId_args typedOther = (acceptOrdersForItemId_args)other;

      lastComparison = Boolean.valueOf(isSetItemId()).compareTo(typedOther.isSetItemId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetItemId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.itemId, typedOther.itemId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetInventory()).compareTo(typedOther.isSetInventory());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetInventory()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.inventory, typedOther.inventory);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ITEM_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.itemId = iprot.readI64();
              setItemIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // INVENTORY
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.inventory = iprot.readI64();
              setInventoryIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ITEM_ID_FIELD_DESC);
      oprot.writeI64(this.itemId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(INVENTORY_FIELD_DESC);
      oprot.writeI64(this.inventory);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("acceptOrdersForItemId_args(");
      boolean first = true;

      sb.append("itemId:");
      sb.append(this.itemId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("inventory:");
      sb.append(this.inventory);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class acceptOrdersForItemId_result implements org.apache.thrift.TBase<acceptOrdersForItemId_result, acceptOrdersForItemId_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("acceptOrdersForItemId_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private boolean success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(acceptOrdersForItemId_result.class, metaDataMap);
    }

    public acceptOrdersForItemId_result() {
    }

    public acceptOrdersForItemId_result(
      boolean success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public acceptOrdersForItemId_result(acceptOrdersForItemId_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public acceptOrdersForItemId_result deepCopy() {
      return new acceptOrdersForItemId_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = false;
      this.ex = null;
    }

    public boolean isSuccess() {
      return this.success;
    }

    public void setSuccess(boolean success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Boolean.valueOf(isSuccess());

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof acceptOrdersForItemId_result)
        return this.equals((acceptOrdersForItemId_result)that);
      return false;
    }

    public boolean equals(acceptOrdersForItemId_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(acceptOrdersForItemId_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      acceptOrdersForItemId_result typedOther = (acceptOrdersForItemId_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.success = iprot.readBool();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBool(this.success);
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("acceptOrdersForItemId_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class markOrdersAsPORaised_args implements org.apache.thrift.TBase<markOrdersAsPORaised_args, markOrdersAsPORaised_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("markOrdersAsPORaised_args");

    private static final org.apache.thrift.protocol.TField VENDOR_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("vendorId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField ITEM_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("itemId", org.apache.thrift.protocol.TType.I64, (short)2);
    private static final org.apache.thrift.protocol.TField QUANTITY_FIELD_DESC = new org.apache.thrift.protocol.TField("quantity", org.apache.thrift.protocol.TType.I64, (short)3);
    private static final org.apache.thrift.protocol.TField ESTIMATE_FIELD_DESC = new org.apache.thrift.protocol.TField("estimate", org.apache.thrift.protocol.TType.I64, (short)4);
    private static final org.apache.thrift.protocol.TField IS_REMINDER_FIELD_DESC = new org.apache.thrift.protocol.TField("isReminder", org.apache.thrift.protocol.TType.BOOL, (short)5);

    private long vendorId; // required
    private long itemId; // required
    private long quantity; // required
    private long estimate; // required
    private boolean isReminder; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      VENDOR_ID((short)1, "vendorId"),
      ITEM_ID((short)2, "itemId"),
      QUANTITY((short)3, "quantity"),
      ESTIMATE((short)4, "estimate"),
      IS_REMINDER((short)5, "isReminder");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // VENDOR_ID
            return VENDOR_ID;
          case 2: // ITEM_ID
            return ITEM_ID;
          case 3: // QUANTITY
            return QUANTITY;
          case 4: // ESTIMATE
            return ESTIMATE;
          case 5: // IS_REMINDER
            return IS_REMINDER;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __VENDORID_ISSET_ID = 0;
    private static final int __ITEMID_ISSET_ID = 1;
    private static final int __QUANTITY_ISSET_ID = 2;
    private static final int __ESTIMATE_ISSET_ID = 3;
    private static final int __ISREMINDER_ISSET_ID = 4;
    private BitSet __isset_bit_vector = new BitSet(5);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.VENDOR_ID, new org.apache.thrift.meta_data.FieldMetaData("vendorId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.ITEM_ID, new org.apache.thrift.meta_data.FieldMetaData("itemId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.QUANTITY, new org.apache.thrift.meta_data.FieldMetaData("quantity", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.ESTIMATE, new org.apache.thrift.meta_data.FieldMetaData("estimate", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.IS_REMINDER, new org.apache.thrift.meta_data.FieldMetaData("isReminder", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(markOrdersAsPORaised_args.class, metaDataMap);
    }

    public markOrdersAsPORaised_args() {
    }

    public markOrdersAsPORaised_args(
      long vendorId,
      long itemId,
      long quantity,
      long estimate,
      boolean isReminder)
    {
      this();
      this.vendorId = vendorId;
      setVendorIdIsSet(true);
      this.itemId = itemId;
      setItemIdIsSet(true);
      this.quantity = quantity;
      setQuantityIsSet(true);
      this.estimate = estimate;
      setEstimateIsSet(true);
      this.isReminder = isReminder;
      setIsReminderIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public markOrdersAsPORaised_args(markOrdersAsPORaised_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.vendorId = other.vendorId;
      this.itemId = other.itemId;
      this.quantity = other.quantity;
      this.estimate = other.estimate;
      this.isReminder = other.isReminder;
    }

    public markOrdersAsPORaised_args deepCopy() {
      return new markOrdersAsPORaised_args(this);
    }

    @Override
    public void clear() {
      setVendorIdIsSet(false);
      this.vendorId = 0;
      setItemIdIsSet(false);
      this.itemId = 0;
      setQuantityIsSet(false);
      this.quantity = 0;
      setEstimateIsSet(false);
      this.estimate = 0;
      setIsReminderIsSet(false);
      this.isReminder = false;
    }

    public long getVendorId() {
      return this.vendorId;
    }

    public void setVendorId(long vendorId) {
      this.vendorId = vendorId;
      setVendorIdIsSet(true);
    }

    public void unsetVendorId() {
      __isset_bit_vector.clear(__VENDORID_ISSET_ID);
    }

    /** Returns true if field vendorId is set (has been assigned a value) and false otherwise */
    public boolean isSetVendorId() {
      return __isset_bit_vector.get(__VENDORID_ISSET_ID);
    }

    public void setVendorIdIsSet(boolean value) {
      __isset_bit_vector.set(__VENDORID_ISSET_ID, value);
    }

    public long getItemId() {
      return this.itemId;
    }

    public void setItemId(long itemId) {
      this.itemId = itemId;
      setItemIdIsSet(true);
    }

    public void unsetItemId() {
      __isset_bit_vector.clear(__ITEMID_ISSET_ID);
    }

    /** Returns true if field itemId is set (has been assigned a value) and false otherwise */
    public boolean isSetItemId() {
      return __isset_bit_vector.get(__ITEMID_ISSET_ID);
    }

    public void setItemIdIsSet(boolean value) {
      __isset_bit_vector.set(__ITEMID_ISSET_ID, value);
    }

    public long getQuantity() {
      return this.quantity;
    }

    public void setQuantity(long quantity) {
      this.quantity = quantity;
      setQuantityIsSet(true);
    }

    public void unsetQuantity() {
      __isset_bit_vector.clear(__QUANTITY_ISSET_ID);
    }

    /** Returns true if field quantity is set (has been assigned a value) and false otherwise */
    public boolean isSetQuantity() {
      return __isset_bit_vector.get(__QUANTITY_ISSET_ID);
    }

    public void setQuantityIsSet(boolean value) {
      __isset_bit_vector.set(__QUANTITY_ISSET_ID, value);
    }

    public long getEstimate() {
      return this.estimate;
    }

    public void setEstimate(long estimate) {
      this.estimate = estimate;
      setEstimateIsSet(true);
    }

    public void unsetEstimate() {
      __isset_bit_vector.clear(__ESTIMATE_ISSET_ID);
    }

    /** Returns true if field estimate is set (has been assigned a value) and false otherwise */
    public boolean isSetEstimate() {
      return __isset_bit_vector.get(__ESTIMATE_ISSET_ID);
    }

    public void setEstimateIsSet(boolean value) {
      __isset_bit_vector.set(__ESTIMATE_ISSET_ID, value);
    }

    public boolean isIsReminder() {
      return this.isReminder;
    }

    public void setIsReminder(boolean isReminder) {
      this.isReminder = isReminder;
      setIsReminderIsSet(true);
    }

    public void unsetIsReminder() {
      __isset_bit_vector.clear(__ISREMINDER_ISSET_ID);
    }

    /** Returns true if field isReminder is set (has been assigned a value) and false otherwise */
    public boolean isSetIsReminder() {
      return __isset_bit_vector.get(__ISREMINDER_ISSET_ID);
    }

    public void setIsReminderIsSet(boolean value) {
      __isset_bit_vector.set(__ISREMINDER_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case VENDOR_ID:
        if (value == null) {
          unsetVendorId();
        } else {
          setVendorId((Long)value);
        }
        break;

      case ITEM_ID:
        if (value == null) {
          unsetItemId();
        } else {
          setItemId((Long)value);
        }
        break;

      case QUANTITY:
        if (value == null) {
          unsetQuantity();
        } else {
          setQuantity((Long)value);
        }
        break;

      case ESTIMATE:
        if (value == null) {
          unsetEstimate();
        } else {
          setEstimate((Long)value);
        }
        break;

      case IS_REMINDER:
        if (value == null) {
          unsetIsReminder();
        } else {
          setIsReminder((Boolean)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case VENDOR_ID:
        return Long.valueOf(getVendorId());

      case ITEM_ID:
        return Long.valueOf(getItemId());

      case QUANTITY:
        return Long.valueOf(getQuantity());

      case ESTIMATE:
        return Long.valueOf(getEstimate());

      case IS_REMINDER:
        return Boolean.valueOf(isIsReminder());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case VENDOR_ID:
        return isSetVendorId();
      case ITEM_ID:
        return isSetItemId();
      case QUANTITY:
        return isSetQuantity();
      case ESTIMATE:
        return isSetEstimate();
      case IS_REMINDER:
        return isSetIsReminder();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof markOrdersAsPORaised_args)
        return this.equals((markOrdersAsPORaised_args)that);
      return false;
    }

    public boolean equals(markOrdersAsPORaised_args that) {
      if (that == null)
        return false;

      boolean this_present_vendorId = true;
      boolean that_present_vendorId = true;
      if (this_present_vendorId || that_present_vendorId) {
        if (!(this_present_vendorId && that_present_vendorId))
          return false;
        if (this.vendorId != that.vendorId)
          return false;
      }

      boolean this_present_itemId = true;
      boolean that_present_itemId = true;
      if (this_present_itemId || that_present_itemId) {
        if (!(this_present_itemId && that_present_itemId))
          return false;
        if (this.itemId != that.itemId)
          return false;
      }

      boolean this_present_quantity = true;
      boolean that_present_quantity = true;
      if (this_present_quantity || that_present_quantity) {
        if (!(this_present_quantity && that_present_quantity))
          return false;
        if (this.quantity != that.quantity)
          return false;
      }

      boolean this_present_estimate = true;
      boolean that_present_estimate = true;
      if (this_present_estimate || that_present_estimate) {
        if (!(this_present_estimate && that_present_estimate))
          return false;
        if (this.estimate != that.estimate)
          return false;
      }

      boolean this_present_isReminder = true;
      boolean that_present_isReminder = true;
      if (this_present_isReminder || that_present_isReminder) {
        if (!(this_present_isReminder && that_present_isReminder))
          return false;
        if (this.isReminder != that.isReminder)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(markOrdersAsPORaised_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      markOrdersAsPORaised_args typedOther = (markOrdersAsPORaised_args)other;

      lastComparison = Boolean.valueOf(isSetVendorId()).compareTo(typedOther.isSetVendorId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetVendorId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.vendorId, typedOther.vendorId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetItemId()).compareTo(typedOther.isSetItemId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetItemId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.itemId, typedOther.itemId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetQuantity()).compareTo(typedOther.isSetQuantity());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetQuantity()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.quantity, typedOther.quantity);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEstimate()).compareTo(typedOther.isSetEstimate());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEstimate()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.estimate, typedOther.estimate);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetIsReminder()).compareTo(typedOther.isSetIsReminder());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetIsReminder()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.isReminder, typedOther.isReminder);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // VENDOR_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.vendorId = iprot.readI64();
              setVendorIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // ITEM_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.itemId = iprot.readI64();
              setItemIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // QUANTITY
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.quantity = iprot.readI64();
              setQuantityIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 4: // ESTIMATE
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.estimate = iprot.readI64();
              setEstimateIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 5: // IS_REMINDER
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.isReminder = iprot.readBool();
              setIsReminderIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(VENDOR_ID_FIELD_DESC);
      oprot.writeI64(this.vendorId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(ITEM_ID_FIELD_DESC);
      oprot.writeI64(this.itemId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(QUANTITY_FIELD_DESC);
      oprot.writeI64(this.quantity);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(ESTIMATE_FIELD_DESC);
      oprot.writeI64(this.estimate);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(IS_REMINDER_FIELD_DESC);
      oprot.writeBool(this.isReminder);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("markOrdersAsPORaised_args(");
      boolean first = true;

      sb.append("vendorId:");
      sb.append(this.vendorId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("itemId:");
      sb.append(this.itemId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("quantity:");
      sb.append(this.quantity);
      first = false;
      if (!first) sb.append(", ");
      sb.append("estimate:");
      sb.append(this.estimate);
      first = false;
      if (!first) sb.append(", ");
      sb.append("isReminder:");
      sb.append(this.isReminder);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class markOrdersAsPORaised_result implements org.apache.thrift.TBase<markOrdersAsPORaised_result, markOrdersAsPORaised_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("markOrdersAsPORaised_result");

    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(markOrdersAsPORaised_result.class, metaDataMap);
    }

    public markOrdersAsPORaised_result() {
    }

    public markOrdersAsPORaised_result(
      TransactionServiceException ex)
    {
      this();
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public markOrdersAsPORaised_result(markOrdersAsPORaised_result other) {
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public markOrdersAsPORaised_result deepCopy() {
      return new markOrdersAsPORaised_result(this);
    }

    @Override
    public void clear() {
      this.ex = null;
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof markOrdersAsPORaised_result)
        return this.equals((markOrdersAsPORaised_result)that);
      return false;
    }

    public boolean equals(markOrdersAsPORaised_result that) {
      if (that == null)
        return false;

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(markOrdersAsPORaised_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      markOrdersAsPORaised_result typedOther = (markOrdersAsPORaised_result)other;

      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("markOrdersAsPORaised_result(");
      boolean first = true;

      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class markOrdersAsReversalInitiated_args implements org.apache.thrift.TBase<markOrdersAsReversalInitiated_args, markOrdersAsReversalInitiated_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("markOrdersAsReversalInitiated_args");

    private static final org.apache.thrift.protocol.TField VENDOR_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("vendorId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField ITEM_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("itemId", org.apache.thrift.protocol.TType.I64, (short)2);
    private static final org.apache.thrift.protocol.TField QUANTITY_FIELD_DESC = new org.apache.thrift.protocol.TField("quantity", org.apache.thrift.protocol.TType.I64, (short)3);
    private static final org.apache.thrift.protocol.TField ESTIMATE_FIELD_DESC = new org.apache.thrift.protocol.TField("estimate", org.apache.thrift.protocol.TType.I64, (short)4);
    private static final org.apache.thrift.protocol.TField IS_REMINDER_FIELD_DESC = new org.apache.thrift.protocol.TField("isReminder", org.apache.thrift.protocol.TType.BOOL, (short)5);

    private long vendorId; // required
    private long itemId; // required
    private long quantity; // required
    private long estimate; // required
    private boolean isReminder; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      VENDOR_ID((short)1, "vendorId"),
      ITEM_ID((short)2, "itemId"),
      QUANTITY((short)3, "quantity"),
      ESTIMATE((short)4, "estimate"),
      IS_REMINDER((short)5, "isReminder");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // VENDOR_ID
            return VENDOR_ID;
          case 2: // ITEM_ID
            return ITEM_ID;
          case 3: // QUANTITY
            return QUANTITY;
          case 4: // ESTIMATE
            return ESTIMATE;
          case 5: // IS_REMINDER
            return IS_REMINDER;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __VENDORID_ISSET_ID = 0;
    private static final int __ITEMID_ISSET_ID = 1;
    private static final int __QUANTITY_ISSET_ID = 2;
    private static final int __ESTIMATE_ISSET_ID = 3;
    private static final int __ISREMINDER_ISSET_ID = 4;
    private BitSet __isset_bit_vector = new BitSet(5);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.VENDOR_ID, new org.apache.thrift.meta_data.FieldMetaData("vendorId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.ITEM_ID, new org.apache.thrift.meta_data.FieldMetaData("itemId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.QUANTITY, new org.apache.thrift.meta_data.FieldMetaData("quantity", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.ESTIMATE, new org.apache.thrift.meta_data.FieldMetaData("estimate", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.IS_REMINDER, new org.apache.thrift.meta_data.FieldMetaData("isReminder", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(markOrdersAsReversalInitiated_args.class, metaDataMap);
    }

    public markOrdersAsReversalInitiated_args() {
    }

    public markOrdersAsReversalInitiated_args(
      long vendorId,
      long itemId,
      long quantity,
      long estimate,
      boolean isReminder)
    {
      this();
      this.vendorId = vendorId;
      setVendorIdIsSet(true);
      this.itemId = itemId;
      setItemIdIsSet(true);
      this.quantity = quantity;
      setQuantityIsSet(true);
      this.estimate = estimate;
      setEstimateIsSet(true);
      this.isReminder = isReminder;
      setIsReminderIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public markOrdersAsReversalInitiated_args(markOrdersAsReversalInitiated_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.vendorId = other.vendorId;
      this.itemId = other.itemId;
      this.quantity = other.quantity;
      this.estimate = other.estimate;
      this.isReminder = other.isReminder;
    }

    public markOrdersAsReversalInitiated_args deepCopy() {
      return new markOrdersAsReversalInitiated_args(this);
    }

    @Override
    public void clear() {
      setVendorIdIsSet(false);
      this.vendorId = 0;
      setItemIdIsSet(false);
      this.itemId = 0;
      setQuantityIsSet(false);
      this.quantity = 0;
      setEstimateIsSet(false);
      this.estimate = 0;
      setIsReminderIsSet(false);
      this.isReminder = false;
    }

    public long getVendorId() {
      return this.vendorId;
    }

    public void setVendorId(long vendorId) {
      this.vendorId = vendorId;
      setVendorIdIsSet(true);
    }

    public void unsetVendorId() {
      __isset_bit_vector.clear(__VENDORID_ISSET_ID);
    }

    /** Returns true if field vendorId is set (has been assigned a value) and false otherwise */
    public boolean isSetVendorId() {
      return __isset_bit_vector.get(__VENDORID_ISSET_ID);
    }

    public void setVendorIdIsSet(boolean value) {
      __isset_bit_vector.set(__VENDORID_ISSET_ID, value);
    }

    public long getItemId() {
      return this.itemId;
    }

    public void setItemId(long itemId) {
      this.itemId = itemId;
      setItemIdIsSet(true);
    }

    public void unsetItemId() {
      __isset_bit_vector.clear(__ITEMID_ISSET_ID);
    }

    /** Returns true if field itemId is set (has been assigned a value) and false otherwise */
    public boolean isSetItemId() {
      return __isset_bit_vector.get(__ITEMID_ISSET_ID);
    }

    public void setItemIdIsSet(boolean value) {
      __isset_bit_vector.set(__ITEMID_ISSET_ID, value);
    }

    public long getQuantity() {
      return this.quantity;
    }

    public void setQuantity(long quantity) {
      this.quantity = quantity;
      setQuantityIsSet(true);
    }

    public void unsetQuantity() {
      __isset_bit_vector.clear(__QUANTITY_ISSET_ID);
    }

    /** Returns true if field quantity is set (has been assigned a value) and false otherwise */
    public boolean isSetQuantity() {
      return __isset_bit_vector.get(__QUANTITY_ISSET_ID);
    }

    public void setQuantityIsSet(boolean value) {
      __isset_bit_vector.set(__QUANTITY_ISSET_ID, value);
    }

    public long getEstimate() {
      return this.estimate;
    }

    public void setEstimate(long estimate) {
      this.estimate = estimate;
      setEstimateIsSet(true);
    }

    public void unsetEstimate() {
      __isset_bit_vector.clear(__ESTIMATE_ISSET_ID);
    }

    /** Returns true if field estimate is set (has been assigned a value) and false otherwise */
    public boolean isSetEstimate() {
      return __isset_bit_vector.get(__ESTIMATE_ISSET_ID);
    }

    public void setEstimateIsSet(boolean value) {
      __isset_bit_vector.set(__ESTIMATE_ISSET_ID, value);
    }

    public boolean isIsReminder() {
      return this.isReminder;
    }

    public void setIsReminder(boolean isReminder) {
      this.isReminder = isReminder;
      setIsReminderIsSet(true);
    }

    public void unsetIsReminder() {
      __isset_bit_vector.clear(__ISREMINDER_ISSET_ID);
    }

    /** Returns true if field isReminder is set (has been assigned a value) and false otherwise */
    public boolean isSetIsReminder() {
      return __isset_bit_vector.get(__ISREMINDER_ISSET_ID);
    }

    public void setIsReminderIsSet(boolean value) {
      __isset_bit_vector.set(__ISREMINDER_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case VENDOR_ID:
        if (value == null) {
          unsetVendorId();
        } else {
          setVendorId((Long)value);
        }
        break;

      case ITEM_ID:
        if (value == null) {
          unsetItemId();
        } else {
          setItemId((Long)value);
        }
        break;

      case QUANTITY:
        if (value == null) {
          unsetQuantity();
        } else {
          setQuantity((Long)value);
        }
        break;

      case ESTIMATE:
        if (value == null) {
          unsetEstimate();
        } else {
          setEstimate((Long)value);
        }
        break;

      case IS_REMINDER:
        if (value == null) {
          unsetIsReminder();
        } else {
          setIsReminder((Boolean)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case VENDOR_ID:
        return Long.valueOf(getVendorId());

      case ITEM_ID:
        return Long.valueOf(getItemId());

      case QUANTITY:
        return Long.valueOf(getQuantity());

      case ESTIMATE:
        return Long.valueOf(getEstimate());

      case IS_REMINDER:
        return Boolean.valueOf(isIsReminder());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case VENDOR_ID:
        return isSetVendorId();
      case ITEM_ID:
        return isSetItemId();
      case QUANTITY:
        return isSetQuantity();
      case ESTIMATE:
        return isSetEstimate();
      case IS_REMINDER:
        return isSetIsReminder();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof markOrdersAsReversalInitiated_args)
        return this.equals((markOrdersAsReversalInitiated_args)that);
      return false;
    }

    public boolean equals(markOrdersAsReversalInitiated_args that) {
      if (that == null)
        return false;

      boolean this_present_vendorId = true;
      boolean that_present_vendorId = true;
      if (this_present_vendorId || that_present_vendorId) {
        if (!(this_present_vendorId && that_present_vendorId))
          return false;
        if (this.vendorId != that.vendorId)
          return false;
      }

      boolean this_present_itemId = true;
      boolean that_present_itemId = true;
      if (this_present_itemId || that_present_itemId) {
        if (!(this_present_itemId && that_present_itemId))
          return false;
        if (this.itemId != that.itemId)
          return false;
      }

      boolean this_present_quantity = true;
      boolean that_present_quantity = true;
      if (this_present_quantity || that_present_quantity) {
        if (!(this_present_quantity && that_present_quantity))
          return false;
        if (this.quantity != that.quantity)
          return false;
      }

      boolean this_present_estimate = true;
      boolean that_present_estimate = true;
      if (this_present_estimate || that_present_estimate) {
        if (!(this_present_estimate && that_present_estimate))
          return false;
        if (this.estimate != that.estimate)
          return false;
      }

      boolean this_present_isReminder = true;
      boolean that_present_isReminder = true;
      if (this_present_isReminder || that_present_isReminder) {
        if (!(this_present_isReminder && that_present_isReminder))
          return false;
        if (this.isReminder != that.isReminder)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(markOrdersAsReversalInitiated_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      markOrdersAsReversalInitiated_args typedOther = (markOrdersAsReversalInitiated_args)other;

      lastComparison = Boolean.valueOf(isSetVendorId()).compareTo(typedOther.isSetVendorId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetVendorId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.vendorId, typedOther.vendorId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetItemId()).compareTo(typedOther.isSetItemId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetItemId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.itemId, typedOther.itemId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetQuantity()).compareTo(typedOther.isSetQuantity());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetQuantity()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.quantity, typedOther.quantity);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEstimate()).compareTo(typedOther.isSetEstimate());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEstimate()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.estimate, typedOther.estimate);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetIsReminder()).compareTo(typedOther.isSetIsReminder());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetIsReminder()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.isReminder, typedOther.isReminder);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // VENDOR_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.vendorId = iprot.readI64();
              setVendorIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // ITEM_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.itemId = iprot.readI64();
              setItemIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // QUANTITY
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.quantity = iprot.readI64();
              setQuantityIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 4: // ESTIMATE
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.estimate = iprot.readI64();
              setEstimateIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 5: // IS_REMINDER
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.isReminder = iprot.readBool();
              setIsReminderIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(VENDOR_ID_FIELD_DESC);
      oprot.writeI64(this.vendorId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(ITEM_ID_FIELD_DESC);
      oprot.writeI64(this.itemId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(QUANTITY_FIELD_DESC);
      oprot.writeI64(this.quantity);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(ESTIMATE_FIELD_DESC);
      oprot.writeI64(this.estimate);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(IS_REMINDER_FIELD_DESC);
      oprot.writeBool(this.isReminder);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("markOrdersAsReversalInitiated_args(");
      boolean first = true;

      sb.append("vendorId:");
      sb.append(this.vendorId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("itemId:");
      sb.append(this.itemId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("quantity:");
      sb.append(this.quantity);
      first = false;
      if (!first) sb.append(", ");
      sb.append("estimate:");
      sb.append(this.estimate);
      first = false;
      if (!first) sb.append(", ");
      sb.append("isReminder:");
      sb.append(this.isReminder);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class markOrdersAsReversalInitiated_result implements org.apache.thrift.TBase<markOrdersAsReversalInitiated_result, markOrdersAsReversalInitiated_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("markOrdersAsReversalInitiated_result");

    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(markOrdersAsReversalInitiated_result.class, metaDataMap);
    }

    public markOrdersAsReversalInitiated_result() {
    }

    public markOrdersAsReversalInitiated_result(
      TransactionServiceException ex)
    {
      this();
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public markOrdersAsReversalInitiated_result(markOrdersAsReversalInitiated_result other) {
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public markOrdersAsReversalInitiated_result deepCopy() {
      return new markOrdersAsReversalInitiated_result(this);
    }

    @Override
    public void clear() {
      this.ex = null;
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof markOrdersAsReversalInitiated_result)
        return this.equals((markOrdersAsReversalInitiated_result)that);
      return false;
    }

    public boolean equals(markOrdersAsReversalInitiated_result that) {
      if (that == null)
        return false;

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(markOrdersAsReversalInitiated_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      markOrdersAsReversalInitiated_result typedOther = (markOrdersAsReversalInitiated_result)other;

      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("markOrdersAsReversalInitiated_result(");
      boolean first = true;

      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class markOrdersAsNotAvailabke_args implements org.apache.thrift.TBase<markOrdersAsNotAvailabke_args, markOrdersAsNotAvailabke_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("markOrdersAsNotAvailabke_args");

    private static final org.apache.thrift.protocol.TField VENDOR_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("vendorId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField ITEM_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("itemId", org.apache.thrift.protocol.TType.I64, (short)2);
    private static final org.apache.thrift.protocol.TField QUANTITY_FIELD_DESC = new org.apache.thrift.protocol.TField("quantity", org.apache.thrift.protocol.TType.I64, (short)3);
    private static final org.apache.thrift.protocol.TField ESTIMATE_FIELD_DESC = new org.apache.thrift.protocol.TField("estimate", org.apache.thrift.protocol.TType.I64, (short)4);
    private static final org.apache.thrift.protocol.TField IS_REMINDER_FIELD_DESC = new org.apache.thrift.protocol.TField("isReminder", org.apache.thrift.protocol.TType.BOOL, (short)5);

    private long vendorId; // required
    private long itemId; // required
    private long quantity; // required
    private long estimate; // required
    private boolean isReminder; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      VENDOR_ID((short)1, "vendorId"),
      ITEM_ID((short)2, "itemId"),
      QUANTITY((short)3, "quantity"),
      ESTIMATE((short)4, "estimate"),
      IS_REMINDER((short)5, "isReminder");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // VENDOR_ID
            return VENDOR_ID;
          case 2: // ITEM_ID
            return ITEM_ID;
          case 3: // QUANTITY
            return QUANTITY;
          case 4: // ESTIMATE
            return ESTIMATE;
          case 5: // IS_REMINDER
            return IS_REMINDER;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __VENDORID_ISSET_ID = 0;
    private static final int __ITEMID_ISSET_ID = 1;
    private static final int __QUANTITY_ISSET_ID = 2;
    private static final int __ESTIMATE_ISSET_ID = 3;
    private static final int __ISREMINDER_ISSET_ID = 4;
    private BitSet __isset_bit_vector = new BitSet(5);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.VENDOR_ID, new org.apache.thrift.meta_data.FieldMetaData("vendorId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.ITEM_ID, new org.apache.thrift.meta_data.FieldMetaData("itemId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.QUANTITY, new org.apache.thrift.meta_data.FieldMetaData("quantity", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.ESTIMATE, new org.apache.thrift.meta_data.FieldMetaData("estimate", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.IS_REMINDER, new org.apache.thrift.meta_data.FieldMetaData("isReminder", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(markOrdersAsNotAvailabke_args.class, metaDataMap);
    }

    public markOrdersAsNotAvailabke_args() {
    }

    public markOrdersAsNotAvailabke_args(
      long vendorId,
      long itemId,
      long quantity,
      long estimate,
      boolean isReminder)
    {
      this();
      this.vendorId = vendorId;
      setVendorIdIsSet(true);
      this.itemId = itemId;
      setItemIdIsSet(true);
      this.quantity = quantity;
      setQuantityIsSet(true);
      this.estimate = estimate;
      setEstimateIsSet(true);
      this.isReminder = isReminder;
      setIsReminderIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public markOrdersAsNotAvailabke_args(markOrdersAsNotAvailabke_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.vendorId = other.vendorId;
      this.itemId = other.itemId;
      this.quantity = other.quantity;
      this.estimate = other.estimate;
      this.isReminder = other.isReminder;
    }

    public markOrdersAsNotAvailabke_args deepCopy() {
      return new markOrdersAsNotAvailabke_args(this);
    }

    @Override
    public void clear() {
      setVendorIdIsSet(false);
      this.vendorId = 0;
      setItemIdIsSet(false);
      this.itemId = 0;
      setQuantityIsSet(false);
      this.quantity = 0;
      setEstimateIsSet(false);
      this.estimate = 0;
      setIsReminderIsSet(false);
      this.isReminder = false;
    }

    public long getVendorId() {
      return this.vendorId;
    }

    public void setVendorId(long vendorId) {
      this.vendorId = vendorId;
      setVendorIdIsSet(true);
    }

    public void unsetVendorId() {
      __isset_bit_vector.clear(__VENDORID_ISSET_ID);
    }

    /** Returns true if field vendorId is set (has been assigned a value) and false otherwise */
    public boolean isSetVendorId() {
      return __isset_bit_vector.get(__VENDORID_ISSET_ID);
    }

    public void setVendorIdIsSet(boolean value) {
      __isset_bit_vector.set(__VENDORID_ISSET_ID, value);
    }

    public long getItemId() {
      return this.itemId;
    }

    public void setItemId(long itemId) {
      this.itemId = itemId;
      setItemIdIsSet(true);
    }

    public void unsetItemId() {
      __isset_bit_vector.clear(__ITEMID_ISSET_ID);
    }

    /** Returns true if field itemId is set (has been assigned a value) and false otherwise */
    public boolean isSetItemId() {
      return __isset_bit_vector.get(__ITEMID_ISSET_ID);
    }

    public void setItemIdIsSet(boolean value) {
      __isset_bit_vector.set(__ITEMID_ISSET_ID, value);
    }

    public long getQuantity() {
      return this.quantity;
    }

    public void setQuantity(long quantity) {
      this.quantity = quantity;
      setQuantityIsSet(true);
    }

    public void unsetQuantity() {
      __isset_bit_vector.clear(__QUANTITY_ISSET_ID);
    }

    /** Returns true if field quantity is set (has been assigned a value) and false otherwise */
    public boolean isSetQuantity() {
      return __isset_bit_vector.get(__QUANTITY_ISSET_ID);
    }

    public void setQuantityIsSet(boolean value) {
      __isset_bit_vector.set(__QUANTITY_ISSET_ID, value);
    }

    public long getEstimate() {
      return this.estimate;
    }

    public void setEstimate(long estimate) {
      this.estimate = estimate;
      setEstimateIsSet(true);
    }

    public void unsetEstimate() {
      __isset_bit_vector.clear(__ESTIMATE_ISSET_ID);
    }

    /** Returns true if field estimate is set (has been assigned a value) and false otherwise */
    public boolean isSetEstimate() {
      return __isset_bit_vector.get(__ESTIMATE_ISSET_ID);
    }

    public void setEstimateIsSet(boolean value) {
      __isset_bit_vector.set(__ESTIMATE_ISSET_ID, value);
    }

    public boolean isIsReminder() {
      return this.isReminder;
    }

    public void setIsReminder(boolean isReminder) {
      this.isReminder = isReminder;
      setIsReminderIsSet(true);
    }

    public void unsetIsReminder() {
      __isset_bit_vector.clear(__ISREMINDER_ISSET_ID);
    }

    /** Returns true if field isReminder is set (has been assigned a value) and false otherwise */
    public boolean isSetIsReminder() {
      return __isset_bit_vector.get(__ISREMINDER_ISSET_ID);
    }

    public void setIsReminderIsSet(boolean value) {
      __isset_bit_vector.set(__ISREMINDER_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case VENDOR_ID:
        if (value == null) {
          unsetVendorId();
        } else {
          setVendorId((Long)value);
        }
        break;

      case ITEM_ID:
        if (value == null) {
          unsetItemId();
        } else {
          setItemId((Long)value);
        }
        break;

      case QUANTITY:
        if (value == null) {
          unsetQuantity();
        } else {
          setQuantity((Long)value);
        }
        break;

      case ESTIMATE:
        if (value == null) {
          unsetEstimate();
        } else {
          setEstimate((Long)value);
        }
        break;

      case IS_REMINDER:
        if (value == null) {
          unsetIsReminder();
        } else {
          setIsReminder((Boolean)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case VENDOR_ID:
        return Long.valueOf(getVendorId());

      case ITEM_ID:
        return Long.valueOf(getItemId());

      case QUANTITY:
        return Long.valueOf(getQuantity());

      case ESTIMATE:
        return Long.valueOf(getEstimate());

      case IS_REMINDER:
        return Boolean.valueOf(isIsReminder());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case VENDOR_ID:
        return isSetVendorId();
      case ITEM_ID:
        return isSetItemId();
      case QUANTITY:
        return isSetQuantity();
      case ESTIMATE:
        return isSetEstimate();
      case IS_REMINDER:
        return isSetIsReminder();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof markOrdersAsNotAvailabke_args)
        return this.equals((markOrdersAsNotAvailabke_args)that);
      return false;
    }

    public boolean equals(markOrdersAsNotAvailabke_args that) {
      if (that == null)
        return false;

      boolean this_present_vendorId = true;
      boolean that_present_vendorId = true;
      if (this_present_vendorId || that_present_vendorId) {
        if (!(this_present_vendorId && that_present_vendorId))
          return false;
        if (this.vendorId != that.vendorId)
          return false;
      }

      boolean this_present_itemId = true;
      boolean that_present_itemId = true;
      if (this_present_itemId || that_present_itemId) {
        if (!(this_present_itemId && that_present_itemId))
          return false;
        if (this.itemId != that.itemId)
          return false;
      }

      boolean this_present_quantity = true;
      boolean that_present_quantity = true;
      if (this_present_quantity || that_present_quantity) {
        if (!(this_present_quantity && that_present_quantity))
          return false;
        if (this.quantity != that.quantity)
          return false;
      }

      boolean this_present_estimate = true;
      boolean that_present_estimate = true;
      if (this_present_estimate || that_present_estimate) {
        if (!(this_present_estimate && that_present_estimate))
          return false;
        if (this.estimate != that.estimate)
          return false;
      }

      boolean this_present_isReminder = true;
      boolean that_present_isReminder = true;
      if (this_present_isReminder || that_present_isReminder) {
        if (!(this_present_isReminder && that_present_isReminder))
          return false;
        if (this.isReminder != that.isReminder)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(markOrdersAsNotAvailabke_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      markOrdersAsNotAvailabke_args typedOther = (markOrdersAsNotAvailabke_args)other;

      lastComparison = Boolean.valueOf(isSetVendorId()).compareTo(typedOther.isSetVendorId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetVendorId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.vendorId, typedOther.vendorId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetItemId()).compareTo(typedOther.isSetItemId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetItemId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.itemId, typedOther.itemId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetQuantity()).compareTo(typedOther.isSetQuantity());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetQuantity()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.quantity, typedOther.quantity);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEstimate()).compareTo(typedOther.isSetEstimate());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEstimate()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.estimate, typedOther.estimate);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetIsReminder()).compareTo(typedOther.isSetIsReminder());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetIsReminder()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.isReminder, typedOther.isReminder);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // VENDOR_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.vendorId = iprot.readI64();
              setVendorIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // ITEM_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.itemId = iprot.readI64();
              setItemIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // QUANTITY
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.quantity = iprot.readI64();
              setQuantityIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 4: // ESTIMATE
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.estimate = iprot.readI64();
              setEstimateIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 5: // IS_REMINDER
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.isReminder = iprot.readBool();
              setIsReminderIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(VENDOR_ID_FIELD_DESC);
      oprot.writeI64(this.vendorId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(ITEM_ID_FIELD_DESC);
      oprot.writeI64(this.itemId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(QUANTITY_FIELD_DESC);
      oprot.writeI64(this.quantity);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(ESTIMATE_FIELD_DESC);
      oprot.writeI64(this.estimate);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(IS_REMINDER_FIELD_DESC);
      oprot.writeBool(this.isReminder);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("markOrdersAsNotAvailabke_args(");
      boolean first = true;

      sb.append("vendorId:");
      sb.append(this.vendorId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("itemId:");
      sb.append(this.itemId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("quantity:");
      sb.append(this.quantity);
      first = false;
      if (!first) sb.append(", ");
      sb.append("estimate:");
      sb.append(this.estimate);
      first = false;
      if (!first) sb.append(", ");
      sb.append("isReminder:");
      sb.append(this.isReminder);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class markOrdersAsNotAvailabke_result implements org.apache.thrift.TBase<markOrdersAsNotAvailabke_result, markOrdersAsNotAvailabke_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("markOrdersAsNotAvailabke_result");

    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(markOrdersAsNotAvailabke_result.class, metaDataMap);
    }

    public markOrdersAsNotAvailabke_result() {
    }

    public markOrdersAsNotAvailabke_result(
      TransactionServiceException ex)
    {
      this();
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public markOrdersAsNotAvailabke_result(markOrdersAsNotAvailabke_result other) {
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public markOrdersAsNotAvailabke_result deepCopy() {
      return new markOrdersAsNotAvailabke_result(this);
    }

    @Override
    public void clear() {
      this.ex = null;
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof markOrdersAsNotAvailabke_result)
        return this.equals((markOrdersAsNotAvailabke_result)that);
      return false;
    }

    public boolean equals(markOrdersAsNotAvailabke_result that) {
      if (that == null)
        return false;

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(markOrdersAsNotAvailabke_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      markOrdersAsNotAvailabke_result typedOther = (markOrdersAsNotAvailabke_result)other;

      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("markOrdersAsNotAvailabke_result(");
      boolean first = true;

      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class markOrdersAsTimeout_args implements org.apache.thrift.TBase<markOrdersAsTimeout_args, markOrdersAsTimeout_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("markOrdersAsTimeout_args");

    private static final org.apache.thrift.protocol.TField VENDOR_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("vendorId", org.apache.thrift.protocol.TType.I64, (short)1);

    private long vendorId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      VENDOR_ID((short)1, "vendorId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // VENDOR_ID
            return VENDOR_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __VENDORID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.VENDOR_ID, new org.apache.thrift.meta_data.FieldMetaData("vendorId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(markOrdersAsTimeout_args.class, metaDataMap);
    }

    public markOrdersAsTimeout_args() {
    }

    public markOrdersAsTimeout_args(
      long vendorId)
    {
      this();
      this.vendorId = vendorId;
      setVendorIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public markOrdersAsTimeout_args(markOrdersAsTimeout_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.vendorId = other.vendorId;
    }

    public markOrdersAsTimeout_args deepCopy() {
      return new markOrdersAsTimeout_args(this);
    }

    @Override
    public void clear() {
      setVendorIdIsSet(false);
      this.vendorId = 0;
    }

    public long getVendorId() {
      return this.vendorId;
    }

    public void setVendorId(long vendorId) {
      this.vendorId = vendorId;
      setVendorIdIsSet(true);
    }

    public void unsetVendorId() {
      __isset_bit_vector.clear(__VENDORID_ISSET_ID);
    }

    /** Returns true if field vendorId is set (has been assigned a value) and false otherwise */
    public boolean isSetVendorId() {
      return __isset_bit_vector.get(__VENDORID_ISSET_ID);
    }

    public void setVendorIdIsSet(boolean value) {
      __isset_bit_vector.set(__VENDORID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case VENDOR_ID:
        if (value == null) {
          unsetVendorId();
        } else {
          setVendorId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case VENDOR_ID:
        return Long.valueOf(getVendorId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case VENDOR_ID:
        return isSetVendorId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof markOrdersAsTimeout_args)
        return this.equals((markOrdersAsTimeout_args)that);
      return false;
    }

    public boolean equals(markOrdersAsTimeout_args that) {
      if (that == null)
        return false;

      boolean this_present_vendorId = true;
      boolean that_present_vendorId = true;
      if (this_present_vendorId || that_present_vendorId) {
        if (!(this_present_vendorId && that_present_vendorId))
          return false;
        if (this.vendorId != that.vendorId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(markOrdersAsTimeout_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      markOrdersAsTimeout_args typedOther = (markOrdersAsTimeout_args)other;

      lastComparison = Boolean.valueOf(isSetVendorId()).compareTo(typedOther.isSetVendorId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetVendorId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.vendorId, typedOther.vendorId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // VENDOR_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.vendorId = iprot.readI64();
              setVendorIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(VENDOR_ID_FIELD_DESC);
      oprot.writeI64(this.vendorId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("markOrdersAsTimeout_args(");
      boolean first = true;

      sb.append("vendorId:");
      sb.append(this.vendorId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class markOrdersAsTimeout_result implements org.apache.thrift.TBase<markOrdersAsTimeout_result, markOrdersAsTimeout_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("markOrdersAsTimeout_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.MAP, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private Map<Integer,TimeoutSummary> success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32), 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TimeoutSummary.class))));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(markOrdersAsTimeout_result.class, metaDataMap);
    }

    public markOrdersAsTimeout_result() {
    }

    public markOrdersAsTimeout_result(
      Map<Integer,TimeoutSummary> success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public markOrdersAsTimeout_result(markOrdersAsTimeout_result other) {
      if (other.isSetSuccess()) {
        Map<Integer,TimeoutSummary> __this__success = new HashMap<Integer,TimeoutSummary>();
        for (Map.Entry<Integer, TimeoutSummary> other_element : other.success.entrySet()) {

          Integer other_element_key = other_element.getKey();
          TimeoutSummary other_element_value = other_element.getValue();

          Integer __this__success_copy_key = other_element_key;

          TimeoutSummary __this__success_copy_value = new TimeoutSummary(other_element_value);

          __this__success.put(__this__success_copy_key, __this__success_copy_value);
        }
        this.success = __this__success;
      }
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public markOrdersAsTimeout_result deepCopy() {
      return new markOrdersAsTimeout_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.ex = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public void putToSuccess(int key, TimeoutSummary val) {
      if (this.success == null) {
        this.success = new HashMap<Integer,TimeoutSummary>();
      }
      this.success.put(key, val);
    }

    public Map<Integer,TimeoutSummary> getSuccess() {
      return this.success;
    }

    public void setSuccess(Map<Integer,TimeoutSummary> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Map<Integer,TimeoutSummary>)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof markOrdersAsTimeout_result)
        return this.equals((markOrdersAsTimeout_result)that);
      return false;
    }

    public boolean equals(markOrdersAsTimeout_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(markOrdersAsTimeout_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      markOrdersAsTimeout_result typedOther = (markOrdersAsTimeout_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.MAP) {
              {
                org.apache.thrift.protocol.TMap _map300 = iprot.readMapBegin();
                this.success = new HashMap<Integer,TimeoutSummary>(2*_map300.size);
                for (int _i301 = 0; _i301 < _map300.size; ++_i301)
                {
                  int _key302; // required
                  TimeoutSummary _val303; // required
                  _key302 = iprot.readI32();
                  _val303 = new TimeoutSummary();
                  _val303.read(iprot);
                  this.success.put(_key302, _val303);
                }
                iprot.readMapEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.I32, org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (Map.Entry<Integer, TimeoutSummary> _iter304 : this.success.entrySet())
          {
            oprot.writeI32(_iter304.getKey());
            _iter304.getValue().write(oprot);
          }
          oprot.writeMapEnd();
        }
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("markOrdersAsTimeout_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class markOrderAsLostInTransit_args implements org.apache.thrift.TBase<markOrderAsLostInTransit_args, markOrderAsLostInTransit_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("markOrderAsLostInTransit_args");

    private static final org.apache.thrift.protocol.TField ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("orderId", org.apache.thrift.protocol.TType.I64, (short)1);

    private long orderId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ORDER_ID((short)1, "orderId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ORDER_ID
            return ORDER_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ORDERID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("orderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(markOrderAsLostInTransit_args.class, metaDataMap);
    }

    public markOrderAsLostInTransit_args() {
    }

    public markOrderAsLostInTransit_args(
      long orderId)
    {
      this();
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public markOrderAsLostInTransit_args(markOrderAsLostInTransit_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.orderId = other.orderId;
    }

    public markOrderAsLostInTransit_args deepCopy() {
      return new markOrderAsLostInTransit_args(this);
    }

    @Override
    public void clear() {
      setOrderIdIsSet(false);
      this.orderId = 0;
    }

    public long getOrderId() {
      return this.orderId;
    }

    public void setOrderId(long orderId) {
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    public void unsetOrderId() {
      __isset_bit_vector.clear(__ORDERID_ISSET_ID);
    }

    /** Returns true if field orderId is set (has been assigned a value) and false otherwise */
    public boolean isSetOrderId() {
      return __isset_bit_vector.get(__ORDERID_ISSET_ID);
    }

    public void setOrderIdIsSet(boolean value) {
      __isset_bit_vector.set(__ORDERID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ORDER_ID:
        if (value == null) {
          unsetOrderId();
        } else {
          setOrderId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ORDER_ID:
        return Long.valueOf(getOrderId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ORDER_ID:
        return isSetOrderId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof markOrderAsLostInTransit_args)
        return this.equals((markOrderAsLostInTransit_args)that);
      return false;
    }

    public boolean equals(markOrderAsLostInTransit_args that) {
      if (that == null)
        return false;

      boolean this_present_orderId = true;
      boolean that_present_orderId = true;
      if (this_present_orderId || that_present_orderId) {
        if (!(this_present_orderId && that_present_orderId))
          return false;
        if (this.orderId != that.orderId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(markOrderAsLostInTransit_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      markOrderAsLostInTransit_args typedOther = (markOrderAsLostInTransit_args)other;

      lastComparison = Boolean.valueOf(isSetOrderId()).compareTo(typedOther.isSetOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.orderId, typedOther.orderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.orderId = iprot.readI64();
              setOrderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ORDER_ID_FIELD_DESC);
      oprot.writeI64(this.orderId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("markOrderAsLostInTransit_args(");
      boolean first = true;

      sb.append("orderId:");
      sb.append(this.orderId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class markOrderAsLostInTransit_result implements org.apache.thrift.TBase<markOrderAsLostInTransit_result, markOrderAsLostInTransit_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("markOrderAsLostInTransit_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private boolean success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(markOrderAsLostInTransit_result.class, metaDataMap);
    }

    public markOrderAsLostInTransit_result() {
    }

    public markOrderAsLostInTransit_result(
      boolean success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public markOrderAsLostInTransit_result(markOrderAsLostInTransit_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public markOrderAsLostInTransit_result deepCopy() {
      return new markOrderAsLostInTransit_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = false;
      this.ex = null;
    }

    public boolean isSuccess() {
      return this.success;
    }

    public void setSuccess(boolean success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Boolean.valueOf(isSuccess());

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof markOrderAsLostInTransit_result)
        return this.equals((markOrderAsLostInTransit_result)that);
      return false;
    }

    public boolean equals(markOrderAsLostInTransit_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(markOrderAsLostInTransit_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      markOrderAsLostInTransit_result typedOther = (markOrderAsLostInTransit_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.success = iprot.readBool();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBool(this.success);
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("markOrderAsLostInTransit_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getOrderForAwb_args implements org.apache.thrift.TBase<getOrderForAwb_args, getOrderForAwb_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getOrderForAwb_args");

    private static final org.apache.thrift.protocol.TField AWB_FIELD_DESC = new org.apache.thrift.protocol.TField("awb", org.apache.thrift.protocol.TType.STRING, (short)1);

    private String awb; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      AWB((short)1, "awb");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // AWB
            return AWB;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.AWB, new org.apache.thrift.meta_data.FieldMetaData("awb", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getOrderForAwb_args.class, metaDataMap);
    }

    public getOrderForAwb_args() {
    }

    public getOrderForAwb_args(
      String awb)
    {
      this();
      this.awb = awb;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getOrderForAwb_args(getOrderForAwb_args other) {
      if (other.isSetAwb()) {
        this.awb = other.awb;
      }
    }

    public getOrderForAwb_args deepCopy() {
      return new getOrderForAwb_args(this);
    }

    @Override
    public void clear() {
      this.awb = null;
    }

    public String getAwb() {
      return this.awb;
    }

    public void setAwb(String awb) {
      this.awb = awb;
    }

    public void unsetAwb() {
      this.awb = null;
    }

    /** Returns true if field awb is set (has been assigned a value) and false otherwise */
    public boolean isSetAwb() {
      return this.awb != null;
    }

    public void setAwbIsSet(boolean value) {
      if (!value) {
        this.awb = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case AWB:
        if (value == null) {
          unsetAwb();
        } else {
          setAwb((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case AWB:
        return getAwb();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case AWB:
        return isSetAwb();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getOrderForAwb_args)
        return this.equals((getOrderForAwb_args)that);
      return false;
    }

    public boolean equals(getOrderForAwb_args that) {
      if (that == null)
        return false;

      boolean this_present_awb = true && this.isSetAwb();
      boolean that_present_awb = true && that.isSetAwb();
      if (this_present_awb || that_present_awb) {
        if (!(this_present_awb && that_present_awb))
          return false;
        if (!this.awb.equals(that.awb))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getOrderForAwb_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getOrderForAwb_args typedOther = (getOrderForAwb_args)other;

      lastComparison = Boolean.valueOf(isSetAwb()).compareTo(typedOther.isSetAwb());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetAwb()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.awb, typedOther.awb);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // AWB
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.awb = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.awb != null) {
        oprot.writeFieldBegin(AWB_FIELD_DESC);
        oprot.writeString(this.awb);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getOrderForAwb_args(");
      boolean first = true;

      sb.append("awb:");
      if (this.awb == null) {
        sb.append("null");
      } else {
        sb.append(this.awb);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getOrderForAwb_result implements org.apache.thrift.TBase<getOrderForAwb_result, getOrderForAwb_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getOrderForAwb_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private List<Order> success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Order.class))));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getOrderForAwb_result.class, metaDataMap);
    }

    public getOrderForAwb_result() {
    }

    public getOrderForAwb_result(
      List<Order> success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getOrderForAwb_result(getOrderForAwb_result other) {
      if (other.isSetSuccess()) {
        List<Order> __this__success = new ArrayList<Order>();
        for (Order other_element : other.success) {
          __this__success.add(new Order(other_element));
        }
        this.success = __this__success;
      }
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public getOrderForAwb_result deepCopy() {
      return new getOrderForAwb_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.ex = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<Order> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(Order elem) {
      if (this.success == null) {
        this.success = new ArrayList<Order>();
      }
      this.success.add(elem);
    }

    public List<Order> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<Order> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<Order>)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getOrderForAwb_result)
        return this.equals((getOrderForAwb_result)that);
      return false;
    }

    public boolean equals(getOrderForAwb_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getOrderForAwb_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getOrderForAwb_result typedOther = (getOrderForAwb_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list305 = iprot.readListBegin();
                this.success = new ArrayList<Order>(_list305.size);
                for (int _i306 = 0; _i306 < _list305.size; ++_i306)
                {
                  Order _elem307; // required
                  _elem307 = new Order();
                  _elem307.read(iprot);
                  this.success.add(_elem307);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (Order _iter308 : this.success)
          {
            _iter308.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getOrderForAwb_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getOrdersForProviderForStatus_args implements org.apache.thrift.TBase<getOrdersForProviderForStatus_args, getOrdersForProviderForStatus_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getOrdersForProviderForStatus_args");

    private static final org.apache.thrift.protocol.TField LOGISTICS_PROVIDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("logistics_provider_id", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField ORDER_STATUS_LIST_FIELD_DESC = new org.apache.thrift.protocol.TField("order_status_list", org.apache.thrift.protocol.TType.LIST, (short)2);

    private long logistics_provider_id; // required
    private List<OrderStatus> order_status_list; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      LOGISTICS_PROVIDER_ID((short)1, "logistics_provider_id"),
      ORDER_STATUS_LIST((short)2, "order_status_list");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // LOGISTICS_PROVIDER_ID
            return LOGISTICS_PROVIDER_ID;
          case 2: // ORDER_STATUS_LIST
            return ORDER_STATUS_LIST;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __LOGISTICS_PROVIDER_ID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.LOGISTICS_PROVIDER_ID, new org.apache.thrift.meta_data.FieldMetaData("logistics_provider_id", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.ORDER_STATUS_LIST, new org.apache.thrift.meta_data.FieldMetaData("order_status_list", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, OrderStatus.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getOrdersForProviderForStatus_args.class, metaDataMap);
    }

    public getOrdersForProviderForStatus_args() {
    }

    public getOrdersForProviderForStatus_args(
      long logistics_provider_id,
      List<OrderStatus> order_status_list)
    {
      this();
      this.logistics_provider_id = logistics_provider_id;
      setLogistics_provider_idIsSet(true);
      this.order_status_list = order_status_list;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getOrdersForProviderForStatus_args(getOrdersForProviderForStatus_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.logistics_provider_id = other.logistics_provider_id;
      if (other.isSetOrder_status_list()) {
        List<OrderStatus> __this__order_status_list = new ArrayList<OrderStatus>();
        for (OrderStatus other_element : other.order_status_list) {
          __this__order_status_list.add(other_element);
        }
        this.order_status_list = __this__order_status_list;
      }
    }

    public getOrdersForProviderForStatus_args deepCopy() {
      return new getOrdersForProviderForStatus_args(this);
    }

    @Override
    public void clear() {
      setLogistics_provider_idIsSet(false);
      this.logistics_provider_id = 0;
      this.order_status_list = null;
    }

    public long getLogistics_provider_id() {
      return this.logistics_provider_id;
    }

    public void setLogistics_provider_id(long logistics_provider_id) {
      this.logistics_provider_id = logistics_provider_id;
      setLogistics_provider_idIsSet(true);
    }

    public void unsetLogistics_provider_id() {
      __isset_bit_vector.clear(__LOGISTICS_PROVIDER_ID_ISSET_ID);
    }

    /** Returns true if field logistics_provider_id is set (has been assigned a value) and false otherwise */
    public boolean isSetLogistics_provider_id() {
      return __isset_bit_vector.get(__LOGISTICS_PROVIDER_ID_ISSET_ID);
    }

    public void setLogistics_provider_idIsSet(boolean value) {
      __isset_bit_vector.set(__LOGISTICS_PROVIDER_ID_ISSET_ID, value);
    }

    public int getOrder_status_listSize() {
      return (this.order_status_list == null) ? 0 : this.order_status_list.size();
    }

    public java.util.Iterator<OrderStatus> getOrder_status_listIterator() {
      return (this.order_status_list == null) ? null : this.order_status_list.iterator();
    }

    public void addToOrder_status_list(OrderStatus elem) {
      if (this.order_status_list == null) {
        this.order_status_list = new ArrayList<OrderStatus>();
      }
      this.order_status_list.add(elem);
    }

    public List<OrderStatus> getOrder_status_list() {
      return this.order_status_list;
    }

    public void setOrder_status_list(List<OrderStatus> order_status_list) {
      this.order_status_list = order_status_list;
    }

    public void unsetOrder_status_list() {
      this.order_status_list = null;
    }

    /** Returns true if field order_status_list is set (has been assigned a value) and false otherwise */
    public boolean isSetOrder_status_list() {
      return this.order_status_list != null;
    }

    public void setOrder_status_listIsSet(boolean value) {
      if (!value) {
        this.order_status_list = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case LOGISTICS_PROVIDER_ID:
        if (value == null) {
          unsetLogistics_provider_id();
        } else {
          setLogistics_provider_id((Long)value);
        }
        break;

      case ORDER_STATUS_LIST:
        if (value == null) {
          unsetOrder_status_list();
        } else {
          setOrder_status_list((List<OrderStatus>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case LOGISTICS_PROVIDER_ID:
        return Long.valueOf(getLogistics_provider_id());

      case ORDER_STATUS_LIST:
        return getOrder_status_list();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case LOGISTICS_PROVIDER_ID:
        return isSetLogistics_provider_id();
      case ORDER_STATUS_LIST:
        return isSetOrder_status_list();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getOrdersForProviderForStatus_args)
        return this.equals((getOrdersForProviderForStatus_args)that);
      return false;
    }

    public boolean equals(getOrdersForProviderForStatus_args that) {
      if (that == null)
        return false;

      boolean this_present_logistics_provider_id = true;
      boolean that_present_logistics_provider_id = true;
      if (this_present_logistics_provider_id || that_present_logistics_provider_id) {
        if (!(this_present_logistics_provider_id && that_present_logistics_provider_id))
          return false;
        if (this.logistics_provider_id != that.logistics_provider_id)
          return false;
      }

      boolean this_present_order_status_list = true && this.isSetOrder_status_list();
      boolean that_present_order_status_list = true && that.isSetOrder_status_list();
      if (this_present_order_status_list || that_present_order_status_list) {
        if (!(this_present_order_status_list && that_present_order_status_list))
          return false;
        if (!this.order_status_list.equals(that.order_status_list))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getOrdersForProviderForStatus_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getOrdersForProviderForStatus_args typedOther = (getOrdersForProviderForStatus_args)other;

      lastComparison = Boolean.valueOf(isSetLogistics_provider_id()).compareTo(typedOther.isSetLogistics_provider_id());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetLogistics_provider_id()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.logistics_provider_id, typedOther.logistics_provider_id);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetOrder_status_list()).compareTo(typedOther.isSetOrder_status_list());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrder_status_list()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.order_status_list, typedOther.order_status_list);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // LOGISTICS_PROVIDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.logistics_provider_id = iprot.readI64();
              setLogistics_provider_idIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // ORDER_STATUS_LIST
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list309 = iprot.readListBegin();
                this.order_status_list = new ArrayList<OrderStatus>(_list309.size);
                for (int _i310 = 0; _i310 < _list309.size; ++_i310)
                {
                  OrderStatus _elem311; // required
                  _elem311 = OrderStatus.findByValue(iprot.readI32());
                  this.order_status_list.add(_elem311);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(LOGISTICS_PROVIDER_ID_FIELD_DESC);
      oprot.writeI64(this.logistics_provider_id);
      oprot.writeFieldEnd();
      if (this.order_status_list != null) {
        oprot.writeFieldBegin(ORDER_STATUS_LIST_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I32, this.order_status_list.size()));
          for (OrderStatus _iter312 : this.order_status_list)
          {
            oprot.writeI32(_iter312.getValue());
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getOrdersForProviderForStatus_args(");
      boolean first = true;

      sb.append("logistics_provider_id:");
      sb.append(this.logistics_provider_id);
      first = false;
      if (!first) sb.append(", ");
      sb.append("order_status_list:");
      if (this.order_status_list == null) {
        sb.append("null");
      } else {
        sb.append(this.order_status_list);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getOrdersForProviderForStatus_result implements org.apache.thrift.TBase<getOrdersForProviderForStatus_result, getOrdersForProviderForStatus_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getOrdersForProviderForStatus_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private List<Order> success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Order.class))));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getOrdersForProviderForStatus_result.class, metaDataMap);
    }

    public getOrdersForProviderForStatus_result() {
    }

    public getOrdersForProviderForStatus_result(
      List<Order> success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getOrdersForProviderForStatus_result(getOrdersForProviderForStatus_result other) {
      if (other.isSetSuccess()) {
        List<Order> __this__success = new ArrayList<Order>();
        for (Order other_element : other.success) {
          __this__success.add(new Order(other_element));
        }
        this.success = __this__success;
      }
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public getOrdersForProviderForStatus_result deepCopy() {
      return new getOrdersForProviderForStatus_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.ex = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<Order> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(Order elem) {
      if (this.success == null) {
        this.success = new ArrayList<Order>();
      }
      this.success.add(elem);
    }

    public List<Order> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<Order> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<Order>)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getOrdersForProviderForStatus_result)
        return this.equals((getOrdersForProviderForStatus_result)that);
      return false;
    }

    public boolean equals(getOrdersForProviderForStatus_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getOrdersForProviderForStatus_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getOrdersForProviderForStatus_result typedOther = (getOrdersForProviderForStatus_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list313 = iprot.readListBegin();
                this.success = new ArrayList<Order>(_list313.size);
                for (int _i314 = 0; _i314 < _list313.size; ++_i314)
                {
                  Order _elem315; // required
                  _elem315 = new Order();
                  _elem315.read(iprot);
                  this.success.add(_elem315);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (Order _iter316 : this.success)
          {
            _iter316.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getOrdersForProviderForStatus_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getBilledOrdersForVendor_args implements org.apache.thrift.TBase<getBilledOrdersForVendor_args, getBilledOrdersForVendor_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getBilledOrdersForVendor_args");

    private static final org.apache.thrift.protocol.TField VENDOR_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("vendorId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField BILLING_DATE_FROM_FIELD_DESC = new org.apache.thrift.protocol.TField("billingDateFrom", org.apache.thrift.protocol.TType.I64, (short)2);
    private static final org.apache.thrift.protocol.TField BILLING_DATE_TO_FIELD_DESC = new org.apache.thrift.protocol.TField("billingDateTo", org.apache.thrift.protocol.TType.I64, (short)3);

    private long vendorId; // required
    private long billingDateFrom; // required
    private long billingDateTo; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      VENDOR_ID((short)1, "vendorId"),
      BILLING_DATE_FROM((short)2, "billingDateFrom"),
      BILLING_DATE_TO((short)3, "billingDateTo");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // VENDOR_ID
            return VENDOR_ID;
          case 2: // BILLING_DATE_FROM
            return BILLING_DATE_FROM;
          case 3: // BILLING_DATE_TO
            return BILLING_DATE_TO;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __VENDORID_ISSET_ID = 0;
    private static final int __BILLINGDATEFROM_ISSET_ID = 1;
    private static final int __BILLINGDATETO_ISSET_ID = 2;
    private BitSet __isset_bit_vector = new BitSet(3);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.VENDOR_ID, new org.apache.thrift.meta_data.FieldMetaData("vendorId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.BILLING_DATE_FROM, new org.apache.thrift.meta_data.FieldMetaData("billingDateFrom", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.BILLING_DATE_TO, new org.apache.thrift.meta_data.FieldMetaData("billingDateTo", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getBilledOrdersForVendor_args.class, metaDataMap);
    }

    public getBilledOrdersForVendor_args() {
    }

    public getBilledOrdersForVendor_args(
      long vendorId,
      long billingDateFrom,
      long billingDateTo)
    {
      this();
      this.vendorId = vendorId;
      setVendorIdIsSet(true);
      this.billingDateFrom = billingDateFrom;
      setBillingDateFromIsSet(true);
      this.billingDateTo = billingDateTo;
      setBillingDateToIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getBilledOrdersForVendor_args(getBilledOrdersForVendor_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.vendorId = other.vendorId;
      this.billingDateFrom = other.billingDateFrom;
      this.billingDateTo = other.billingDateTo;
    }

    public getBilledOrdersForVendor_args deepCopy() {
      return new getBilledOrdersForVendor_args(this);
    }

    @Override
    public void clear() {
      setVendorIdIsSet(false);
      this.vendorId = 0;
      setBillingDateFromIsSet(false);
      this.billingDateFrom = 0;
      setBillingDateToIsSet(false);
      this.billingDateTo = 0;
    }

    public long getVendorId() {
      return this.vendorId;
    }

    public void setVendorId(long vendorId) {
      this.vendorId = vendorId;
      setVendorIdIsSet(true);
    }

    public void unsetVendorId() {
      __isset_bit_vector.clear(__VENDORID_ISSET_ID);
    }

    /** Returns true if field vendorId is set (has been assigned a value) and false otherwise */
    public boolean isSetVendorId() {
      return __isset_bit_vector.get(__VENDORID_ISSET_ID);
    }

    public void setVendorIdIsSet(boolean value) {
      __isset_bit_vector.set(__VENDORID_ISSET_ID, value);
    }

    public long getBillingDateFrom() {
      return this.billingDateFrom;
    }

    public void setBillingDateFrom(long billingDateFrom) {
      this.billingDateFrom = billingDateFrom;
      setBillingDateFromIsSet(true);
    }

    public void unsetBillingDateFrom() {
      __isset_bit_vector.clear(__BILLINGDATEFROM_ISSET_ID);
    }

    /** Returns true if field billingDateFrom is set (has been assigned a value) and false otherwise */
    public boolean isSetBillingDateFrom() {
      return __isset_bit_vector.get(__BILLINGDATEFROM_ISSET_ID);
    }

    public void setBillingDateFromIsSet(boolean value) {
      __isset_bit_vector.set(__BILLINGDATEFROM_ISSET_ID, value);
    }

    public long getBillingDateTo() {
      return this.billingDateTo;
    }

    public void setBillingDateTo(long billingDateTo) {
      this.billingDateTo = billingDateTo;
      setBillingDateToIsSet(true);
    }

    public void unsetBillingDateTo() {
      __isset_bit_vector.clear(__BILLINGDATETO_ISSET_ID);
    }

    /** Returns true if field billingDateTo is set (has been assigned a value) and false otherwise */
    public boolean isSetBillingDateTo() {
      return __isset_bit_vector.get(__BILLINGDATETO_ISSET_ID);
    }

    public void setBillingDateToIsSet(boolean value) {
      __isset_bit_vector.set(__BILLINGDATETO_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case VENDOR_ID:
        if (value == null) {
          unsetVendorId();
        } else {
          setVendorId((Long)value);
        }
        break;

      case BILLING_DATE_FROM:
        if (value == null) {
          unsetBillingDateFrom();
        } else {
          setBillingDateFrom((Long)value);
        }
        break;

      case BILLING_DATE_TO:
        if (value == null) {
          unsetBillingDateTo();
        } else {
          setBillingDateTo((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case VENDOR_ID:
        return Long.valueOf(getVendorId());

      case BILLING_DATE_FROM:
        return Long.valueOf(getBillingDateFrom());

      case BILLING_DATE_TO:
        return Long.valueOf(getBillingDateTo());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case VENDOR_ID:
        return isSetVendorId();
      case BILLING_DATE_FROM:
        return isSetBillingDateFrom();
      case BILLING_DATE_TO:
        return isSetBillingDateTo();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getBilledOrdersForVendor_args)
        return this.equals((getBilledOrdersForVendor_args)that);
      return false;
    }

    public boolean equals(getBilledOrdersForVendor_args that) {
      if (that == null)
        return false;

      boolean this_present_vendorId = true;
      boolean that_present_vendorId = true;
      if (this_present_vendorId || that_present_vendorId) {
        if (!(this_present_vendorId && that_present_vendorId))
          return false;
        if (this.vendorId != that.vendorId)
          return false;
      }

      boolean this_present_billingDateFrom = true;
      boolean that_present_billingDateFrom = true;
      if (this_present_billingDateFrom || that_present_billingDateFrom) {
        if (!(this_present_billingDateFrom && that_present_billingDateFrom))
          return false;
        if (this.billingDateFrom != that.billingDateFrom)
          return false;
      }

      boolean this_present_billingDateTo = true;
      boolean that_present_billingDateTo = true;
      if (this_present_billingDateTo || that_present_billingDateTo) {
        if (!(this_present_billingDateTo && that_present_billingDateTo))
          return false;
        if (this.billingDateTo != that.billingDateTo)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getBilledOrdersForVendor_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getBilledOrdersForVendor_args typedOther = (getBilledOrdersForVendor_args)other;

      lastComparison = Boolean.valueOf(isSetVendorId()).compareTo(typedOther.isSetVendorId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetVendorId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.vendorId, typedOther.vendorId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetBillingDateFrom()).compareTo(typedOther.isSetBillingDateFrom());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetBillingDateFrom()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.billingDateFrom, typedOther.billingDateFrom);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetBillingDateTo()).compareTo(typedOther.isSetBillingDateTo());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetBillingDateTo()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.billingDateTo, typedOther.billingDateTo);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // VENDOR_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.vendorId = iprot.readI64();
              setVendorIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // BILLING_DATE_FROM
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.billingDateFrom = iprot.readI64();
              setBillingDateFromIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // BILLING_DATE_TO
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.billingDateTo = iprot.readI64();
              setBillingDateToIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(VENDOR_ID_FIELD_DESC);
      oprot.writeI64(this.vendorId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(BILLING_DATE_FROM_FIELD_DESC);
      oprot.writeI64(this.billingDateFrom);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(BILLING_DATE_TO_FIELD_DESC);
      oprot.writeI64(this.billingDateTo);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getBilledOrdersForVendor_args(");
      boolean first = true;

      sb.append("vendorId:");
      sb.append(this.vendorId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("billingDateFrom:");
      sb.append(this.billingDateFrom);
      first = false;
      if (!first) sb.append(", ");
      sb.append("billingDateTo:");
      sb.append(this.billingDateTo);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getBilledOrdersForVendor_result implements org.apache.thrift.TBase<getBilledOrdersForVendor_result, getBilledOrdersForVendor_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getBilledOrdersForVendor_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private List<Order> success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Order.class))));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getBilledOrdersForVendor_result.class, metaDataMap);
    }

    public getBilledOrdersForVendor_result() {
    }

    public getBilledOrdersForVendor_result(
      List<Order> success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getBilledOrdersForVendor_result(getBilledOrdersForVendor_result other) {
      if (other.isSetSuccess()) {
        List<Order> __this__success = new ArrayList<Order>();
        for (Order other_element : other.success) {
          __this__success.add(new Order(other_element));
        }
        this.success = __this__success;
      }
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public getBilledOrdersForVendor_result deepCopy() {
      return new getBilledOrdersForVendor_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.ex = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<Order> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(Order elem) {
      if (this.success == null) {
        this.success = new ArrayList<Order>();
      }
      this.success.add(elem);
    }

    public List<Order> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<Order> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<Order>)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getBilledOrdersForVendor_result)
        return this.equals((getBilledOrdersForVendor_result)that);
      return false;
    }

    public boolean equals(getBilledOrdersForVendor_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getBilledOrdersForVendor_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getBilledOrdersForVendor_result typedOther = (getBilledOrdersForVendor_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list317 = iprot.readListBegin();
                this.success = new ArrayList<Order>(_list317.size);
                for (int _i318 = 0; _i318 < _list317.size; ++_i318)
                {
                  Order _elem319; // required
                  _elem319 = new Order();
                  _elem319.read(iprot);
                  this.success.add(_elem319);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (Order _iter320 : this.success)
          {
            _iter320.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getBilledOrdersForVendor_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getSlippedSippingDateOrders_args implements org.apache.thrift.TBase<getSlippedSippingDateOrders_args, getSlippedSippingDateOrders_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getSlippedSippingDateOrders_args");



    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
;

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getSlippedSippingDateOrders_args.class, metaDataMap);
    }

    public getSlippedSippingDateOrders_args() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getSlippedSippingDateOrders_args(getSlippedSippingDateOrders_args other) {
    }

    public getSlippedSippingDateOrders_args deepCopy() {
      return new getSlippedSippingDateOrders_args(this);
    }

    @Override
    public void clear() {
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getSlippedSippingDateOrders_args)
        return this.equals((getSlippedSippingDateOrders_args)that);
      return false;
    }

    public boolean equals(getSlippedSippingDateOrders_args that) {
      if (that == null)
        return false;

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getSlippedSippingDateOrders_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getSlippedSippingDateOrders_args typedOther = (getSlippedSippingDateOrders_args)other;

      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getSlippedSippingDateOrders_args(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getSlippedSippingDateOrders_result implements org.apache.thrift.TBase<getSlippedSippingDateOrders_result, getSlippedSippingDateOrders_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getSlippedSippingDateOrders_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private List<Order> success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Order.class))));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getSlippedSippingDateOrders_result.class, metaDataMap);
    }

    public getSlippedSippingDateOrders_result() {
    }

    public getSlippedSippingDateOrders_result(
      List<Order> success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getSlippedSippingDateOrders_result(getSlippedSippingDateOrders_result other) {
      if (other.isSetSuccess()) {
        List<Order> __this__success = new ArrayList<Order>();
        for (Order other_element : other.success) {
          __this__success.add(new Order(other_element));
        }
        this.success = __this__success;
      }
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public getSlippedSippingDateOrders_result deepCopy() {
      return new getSlippedSippingDateOrders_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.ex = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<Order> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(Order elem) {
      if (this.success == null) {
        this.success = new ArrayList<Order>();
      }
      this.success.add(elem);
    }

    public List<Order> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<Order> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<Order>)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getSlippedSippingDateOrders_result)
        return this.equals((getSlippedSippingDateOrders_result)that);
      return false;
    }

    public boolean equals(getSlippedSippingDateOrders_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getSlippedSippingDateOrders_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getSlippedSippingDateOrders_result typedOther = (getSlippedSippingDateOrders_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list321 = iprot.readListBegin();
                this.success = new ArrayList<Order>(_list321.size);
                for (int _i322 = 0; _i322 < _list321.size; ++_i322)
                {
                  Order _elem323; // required
                  _elem323 = new Order();
                  _elem323.read(iprot);
                  this.success.add(_elem323);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (Order _iter324 : this.success)
          {
            _iter324.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getSlippedSippingDateOrders_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getCancelledOrders_args implements org.apache.thrift.TBase<getCancelledOrders_args, getCancelledOrders_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getCancelledOrders_args");

    private static final org.apache.thrift.protocol.TField CANCEL_DATE_FROM_FIELD_DESC = new org.apache.thrift.protocol.TField("cancelDateFrom", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField CANCEL_DATE_TO_FIELD_DESC = new org.apache.thrift.protocol.TField("cancelDateTo", org.apache.thrift.protocol.TType.I64, (short)2);

    private long cancelDateFrom; // required
    private long cancelDateTo; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      CANCEL_DATE_FROM((short)1, "cancelDateFrom"),
      CANCEL_DATE_TO((short)2, "cancelDateTo");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // CANCEL_DATE_FROM
            return CANCEL_DATE_FROM;
          case 2: // CANCEL_DATE_TO
            return CANCEL_DATE_TO;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __CANCELDATEFROM_ISSET_ID = 0;
    private static final int __CANCELDATETO_ISSET_ID = 1;
    private BitSet __isset_bit_vector = new BitSet(2);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.CANCEL_DATE_FROM, new org.apache.thrift.meta_data.FieldMetaData("cancelDateFrom", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.CANCEL_DATE_TO, new org.apache.thrift.meta_data.FieldMetaData("cancelDateTo", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getCancelledOrders_args.class, metaDataMap);
    }

    public getCancelledOrders_args() {
    }

    public getCancelledOrders_args(
      long cancelDateFrom,
      long cancelDateTo)
    {
      this();
      this.cancelDateFrom = cancelDateFrom;
      setCancelDateFromIsSet(true);
      this.cancelDateTo = cancelDateTo;
      setCancelDateToIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getCancelledOrders_args(getCancelledOrders_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.cancelDateFrom = other.cancelDateFrom;
      this.cancelDateTo = other.cancelDateTo;
    }

    public getCancelledOrders_args deepCopy() {
      return new getCancelledOrders_args(this);
    }

    @Override
    public void clear() {
      setCancelDateFromIsSet(false);
      this.cancelDateFrom = 0;
      setCancelDateToIsSet(false);
      this.cancelDateTo = 0;
    }

    public long getCancelDateFrom() {
      return this.cancelDateFrom;
    }

    public void setCancelDateFrom(long cancelDateFrom) {
      this.cancelDateFrom = cancelDateFrom;
      setCancelDateFromIsSet(true);
    }

    public void unsetCancelDateFrom() {
      __isset_bit_vector.clear(__CANCELDATEFROM_ISSET_ID);
    }

    /** Returns true if field cancelDateFrom is set (has been assigned a value) and false otherwise */
    public boolean isSetCancelDateFrom() {
      return __isset_bit_vector.get(__CANCELDATEFROM_ISSET_ID);
    }

    public void setCancelDateFromIsSet(boolean value) {
      __isset_bit_vector.set(__CANCELDATEFROM_ISSET_ID, value);
    }

    public long getCancelDateTo() {
      return this.cancelDateTo;
    }

    public void setCancelDateTo(long cancelDateTo) {
      this.cancelDateTo = cancelDateTo;
      setCancelDateToIsSet(true);
    }

    public void unsetCancelDateTo() {
      __isset_bit_vector.clear(__CANCELDATETO_ISSET_ID);
    }

    /** Returns true if field cancelDateTo is set (has been assigned a value) and false otherwise */
    public boolean isSetCancelDateTo() {
      return __isset_bit_vector.get(__CANCELDATETO_ISSET_ID);
    }

    public void setCancelDateToIsSet(boolean value) {
      __isset_bit_vector.set(__CANCELDATETO_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case CANCEL_DATE_FROM:
        if (value == null) {
          unsetCancelDateFrom();
        } else {
          setCancelDateFrom((Long)value);
        }
        break;

      case CANCEL_DATE_TO:
        if (value == null) {
          unsetCancelDateTo();
        } else {
          setCancelDateTo((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case CANCEL_DATE_FROM:
        return Long.valueOf(getCancelDateFrom());

      case CANCEL_DATE_TO:
        return Long.valueOf(getCancelDateTo());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case CANCEL_DATE_FROM:
        return isSetCancelDateFrom();
      case CANCEL_DATE_TO:
        return isSetCancelDateTo();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getCancelledOrders_args)
        return this.equals((getCancelledOrders_args)that);
      return false;
    }

    public boolean equals(getCancelledOrders_args that) {
      if (that == null)
        return false;

      boolean this_present_cancelDateFrom = true;
      boolean that_present_cancelDateFrom = true;
      if (this_present_cancelDateFrom || that_present_cancelDateFrom) {
        if (!(this_present_cancelDateFrom && that_present_cancelDateFrom))
          return false;
        if (this.cancelDateFrom != that.cancelDateFrom)
          return false;
      }

      boolean this_present_cancelDateTo = true;
      boolean that_present_cancelDateTo = true;
      if (this_present_cancelDateTo || that_present_cancelDateTo) {
        if (!(this_present_cancelDateTo && that_present_cancelDateTo))
          return false;
        if (this.cancelDateTo != that.cancelDateTo)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getCancelledOrders_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getCancelledOrders_args typedOther = (getCancelledOrders_args)other;

      lastComparison = Boolean.valueOf(isSetCancelDateFrom()).compareTo(typedOther.isSetCancelDateFrom());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetCancelDateFrom()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.cancelDateFrom, typedOther.cancelDateFrom);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetCancelDateTo()).compareTo(typedOther.isSetCancelDateTo());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetCancelDateTo()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.cancelDateTo, typedOther.cancelDateTo);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // CANCEL_DATE_FROM
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.cancelDateFrom = iprot.readI64();
              setCancelDateFromIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // CANCEL_DATE_TO
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.cancelDateTo = iprot.readI64();
              setCancelDateToIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(CANCEL_DATE_FROM_FIELD_DESC);
      oprot.writeI64(this.cancelDateFrom);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(CANCEL_DATE_TO_FIELD_DESC);
      oprot.writeI64(this.cancelDateTo);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getCancelledOrders_args(");
      boolean first = true;

      sb.append("cancelDateFrom:");
      sb.append(this.cancelDateFrom);
      first = false;
      if (!first) sb.append(", ");
      sb.append("cancelDateTo:");
      sb.append(this.cancelDateTo);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getCancelledOrders_result implements org.apache.thrift.TBase<getCancelledOrders_result, getCancelledOrders_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getCancelledOrders_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private List<Order> success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Order.class))));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getCancelledOrders_result.class, metaDataMap);
    }

    public getCancelledOrders_result() {
    }

    public getCancelledOrders_result(
      List<Order> success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getCancelledOrders_result(getCancelledOrders_result other) {
      if (other.isSetSuccess()) {
        List<Order> __this__success = new ArrayList<Order>();
        for (Order other_element : other.success) {
          __this__success.add(new Order(other_element));
        }
        this.success = __this__success;
      }
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public getCancelledOrders_result deepCopy() {
      return new getCancelledOrders_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.ex = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<Order> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(Order elem) {
      if (this.success == null) {
        this.success = new ArrayList<Order>();
      }
      this.success.add(elem);
    }

    public List<Order> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<Order> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<Order>)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getCancelledOrders_result)
        return this.equals((getCancelledOrders_result)that);
      return false;
    }

    public boolean equals(getCancelledOrders_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getCancelledOrders_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getCancelledOrders_result typedOther = (getCancelledOrders_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list325 = iprot.readListBegin();
                this.success = new ArrayList<Order>(_list325.size);
                for (int _i326 = 0; _i326 < _list325.size; ++_i326)
                {
                  Order _elem327; // required
                  _elem327 = new Order();
                  _elem327.read(iprot);
                  this.success.add(_elem327);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (Order _iter328 : this.success)
          {
            _iter328.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getCancelledOrders_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class saveBluedartSettlements_args implements org.apache.thrift.TBase<saveBluedartSettlements_args, saveBluedartSettlements_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("saveBluedartSettlements_args");

    private static final org.apache.thrift.protocol.TField MAP_AWBAND_AMOUNT_FIELD_DESC = new org.apache.thrift.protocol.TField("mapAWBAndAmount", org.apache.thrift.protocol.TType.MAP, (short)1);

    private Map<Long,Double> mapAWBAndAmount; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      MAP_AWBAND_AMOUNT((short)1, "mapAWBAndAmount");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // MAP_AWBAND_AMOUNT
            return MAP_AWBAND_AMOUNT;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.MAP_AWBAND_AMOUNT, new org.apache.thrift.meta_data.FieldMetaData("mapAWBAndAmount", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64), 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(saveBluedartSettlements_args.class, metaDataMap);
    }

    public saveBluedartSettlements_args() {
    }

    public saveBluedartSettlements_args(
      Map<Long,Double> mapAWBAndAmount)
    {
      this();
      this.mapAWBAndAmount = mapAWBAndAmount;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public saveBluedartSettlements_args(saveBluedartSettlements_args other) {
      if (other.isSetMapAWBAndAmount()) {
        Map<Long,Double> __this__mapAWBAndAmount = new HashMap<Long,Double>();
        for (Map.Entry<Long, Double> other_element : other.mapAWBAndAmount.entrySet()) {

          Long other_element_key = other_element.getKey();
          Double other_element_value = other_element.getValue();

          Long __this__mapAWBAndAmount_copy_key = other_element_key;

          Double __this__mapAWBAndAmount_copy_value = other_element_value;

          __this__mapAWBAndAmount.put(__this__mapAWBAndAmount_copy_key, __this__mapAWBAndAmount_copy_value);
        }
        this.mapAWBAndAmount = __this__mapAWBAndAmount;
      }
    }

    public saveBluedartSettlements_args deepCopy() {
      return new saveBluedartSettlements_args(this);
    }

    @Override
    public void clear() {
      this.mapAWBAndAmount = null;
    }

    public int getMapAWBAndAmountSize() {
      return (this.mapAWBAndAmount == null) ? 0 : this.mapAWBAndAmount.size();
    }

    public void putToMapAWBAndAmount(long key, double val) {
      if (this.mapAWBAndAmount == null) {
        this.mapAWBAndAmount = new HashMap<Long,Double>();
      }
      this.mapAWBAndAmount.put(key, val);
    }

    public Map<Long,Double> getMapAWBAndAmount() {
      return this.mapAWBAndAmount;
    }

    public void setMapAWBAndAmount(Map<Long,Double> mapAWBAndAmount) {
      this.mapAWBAndAmount = mapAWBAndAmount;
    }

    public void unsetMapAWBAndAmount() {
      this.mapAWBAndAmount = null;
    }

    /** Returns true if field mapAWBAndAmount is set (has been assigned a value) and false otherwise */
    public boolean isSetMapAWBAndAmount() {
      return this.mapAWBAndAmount != null;
    }

    public void setMapAWBAndAmountIsSet(boolean value) {
      if (!value) {
        this.mapAWBAndAmount = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case MAP_AWBAND_AMOUNT:
        if (value == null) {
          unsetMapAWBAndAmount();
        } else {
          setMapAWBAndAmount((Map<Long,Double>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case MAP_AWBAND_AMOUNT:
        return getMapAWBAndAmount();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case MAP_AWBAND_AMOUNT:
        return isSetMapAWBAndAmount();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof saveBluedartSettlements_args)
        return this.equals((saveBluedartSettlements_args)that);
      return false;
    }

    public boolean equals(saveBluedartSettlements_args that) {
      if (that == null)
        return false;

      boolean this_present_mapAWBAndAmount = true && this.isSetMapAWBAndAmount();
      boolean that_present_mapAWBAndAmount = true && that.isSetMapAWBAndAmount();
      if (this_present_mapAWBAndAmount || that_present_mapAWBAndAmount) {
        if (!(this_present_mapAWBAndAmount && that_present_mapAWBAndAmount))
          return false;
        if (!this.mapAWBAndAmount.equals(that.mapAWBAndAmount))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(saveBluedartSettlements_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      saveBluedartSettlements_args typedOther = (saveBluedartSettlements_args)other;

      lastComparison = Boolean.valueOf(isSetMapAWBAndAmount()).compareTo(typedOther.isSetMapAWBAndAmount());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetMapAWBAndAmount()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.mapAWBAndAmount, typedOther.mapAWBAndAmount);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // MAP_AWBAND_AMOUNT
            if (field.type == org.apache.thrift.protocol.TType.MAP) {
              {
                org.apache.thrift.protocol.TMap _map329 = iprot.readMapBegin();
                this.mapAWBAndAmount = new HashMap<Long,Double>(2*_map329.size);
                for (int _i330 = 0; _i330 < _map329.size; ++_i330)
                {
                  long _key331; // required
                  double _val332; // required
                  _key331 = iprot.readI64();
                  _val332 = iprot.readDouble();
                  this.mapAWBAndAmount.put(_key331, _val332);
                }
                iprot.readMapEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.mapAWBAndAmount != null) {
        oprot.writeFieldBegin(MAP_AWBAND_AMOUNT_FIELD_DESC);
        {
          oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.I64, org.apache.thrift.protocol.TType.DOUBLE, this.mapAWBAndAmount.size()));
          for (Map.Entry<Long, Double> _iter333 : this.mapAWBAndAmount.entrySet())
          {
            oprot.writeI64(_iter333.getKey());
            oprot.writeDouble(_iter333.getValue());
          }
          oprot.writeMapEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("saveBluedartSettlements_args(");
      boolean first = true;

      sb.append("mapAWBAndAmount:");
      if (this.mapAWBAndAmount == null) {
        sb.append("null");
      } else {
        sb.append(this.mapAWBAndAmount);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class saveBluedartSettlements_result implements org.apache.thrift.TBase<saveBluedartSettlements_result, saveBluedartSettlements_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("saveBluedartSettlements_result");

    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(saveBluedartSettlements_result.class, metaDataMap);
    }

    public saveBluedartSettlements_result() {
    }

    public saveBluedartSettlements_result(
      TransactionServiceException ex)
    {
      this();
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public saveBluedartSettlements_result(saveBluedartSettlements_result other) {
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public saveBluedartSettlements_result deepCopy() {
      return new saveBluedartSettlements_result(this);
    }

    @Override
    public void clear() {
      this.ex = null;
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof saveBluedartSettlements_result)
        return this.equals((saveBluedartSettlements_result)that);
      return false;
    }

    public boolean equals(saveBluedartSettlements_result that) {
      if (that == null)
        return false;

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(saveBluedartSettlements_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      saveBluedartSettlements_result typedOther = (saveBluedartSettlements_result)other;

      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("saveBluedartSettlements_result(");
      boolean first = true;

      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class savePaymentSettlements_args implements org.apache.thrift.TBase<savePaymentSettlements_args, savePaymentSettlements_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("savePaymentSettlements_args");

    private static final org.apache.thrift.protocol.TField SETTLEMENT_DATE_FIELD_DESC = new org.apache.thrift.protocol.TField("settlementDate", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField PAYMENT_GATEWAY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("paymentGatewayId", org.apache.thrift.protocol.TType.I64, (short)2);
    private static final org.apache.thrift.protocol.TField REFERENCE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("referenceId", org.apache.thrift.protocol.TType.I64, (short)3);
    private static final org.apache.thrift.protocol.TField SERVICE_TAX_FIELD_DESC = new org.apache.thrift.protocol.TField("serviceTax", org.apache.thrift.protocol.TType.DOUBLE, (short)4);
    private static final org.apache.thrift.protocol.TField OTHER_CHARGES_FIELD_DESC = new org.apache.thrift.protocol.TField("otherCharges", org.apache.thrift.protocol.TType.DOUBLE, (short)5);
    private static final org.apache.thrift.protocol.TField NET_COLLECTION_FIELD_DESC = new org.apache.thrift.protocol.TField("netCollection", org.apache.thrift.protocol.TType.DOUBLE, (short)6);

    private long settlementDate; // required
    private long paymentGatewayId; // required
    private long referenceId; // required
    private double serviceTax; // required
    private double otherCharges; // required
    private double netCollection; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SETTLEMENT_DATE((short)1, "settlementDate"),
      PAYMENT_GATEWAY_ID((short)2, "paymentGatewayId"),
      REFERENCE_ID((short)3, "referenceId"),
      SERVICE_TAX((short)4, "serviceTax"),
      OTHER_CHARGES((short)5, "otherCharges"),
      NET_COLLECTION((short)6, "netCollection");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // SETTLEMENT_DATE
            return SETTLEMENT_DATE;
          case 2: // PAYMENT_GATEWAY_ID
            return PAYMENT_GATEWAY_ID;
          case 3: // REFERENCE_ID
            return REFERENCE_ID;
          case 4: // SERVICE_TAX
            return SERVICE_TAX;
          case 5: // OTHER_CHARGES
            return OTHER_CHARGES;
          case 6: // NET_COLLECTION
            return NET_COLLECTION;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SETTLEMENTDATE_ISSET_ID = 0;
    private static final int __PAYMENTGATEWAYID_ISSET_ID = 1;
    private static final int __REFERENCEID_ISSET_ID = 2;
    private static final int __SERVICETAX_ISSET_ID = 3;
    private static final int __OTHERCHARGES_ISSET_ID = 4;
    private static final int __NETCOLLECTION_ISSET_ID = 5;
    private BitSet __isset_bit_vector = new BitSet(6);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SETTLEMENT_DATE, new org.apache.thrift.meta_data.FieldMetaData("settlementDate", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.PAYMENT_GATEWAY_ID, new org.apache.thrift.meta_data.FieldMetaData("paymentGatewayId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.REFERENCE_ID, new org.apache.thrift.meta_data.FieldMetaData("referenceId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.SERVICE_TAX, new org.apache.thrift.meta_data.FieldMetaData("serviceTax", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE)));
      tmpMap.put(_Fields.OTHER_CHARGES, new org.apache.thrift.meta_data.FieldMetaData("otherCharges", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE)));
      tmpMap.put(_Fields.NET_COLLECTION, new org.apache.thrift.meta_data.FieldMetaData("netCollection", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(savePaymentSettlements_args.class, metaDataMap);
    }

    public savePaymentSettlements_args() {
    }

    public savePaymentSettlements_args(
      long settlementDate,
      long paymentGatewayId,
      long referenceId,
      double serviceTax,
      double otherCharges,
      double netCollection)
    {
      this();
      this.settlementDate = settlementDate;
      setSettlementDateIsSet(true);
      this.paymentGatewayId = paymentGatewayId;
      setPaymentGatewayIdIsSet(true);
      this.referenceId = referenceId;
      setReferenceIdIsSet(true);
      this.serviceTax = serviceTax;
      setServiceTaxIsSet(true);
      this.otherCharges = otherCharges;
      setOtherChargesIsSet(true);
      this.netCollection = netCollection;
      setNetCollectionIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public savePaymentSettlements_args(savePaymentSettlements_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.settlementDate = other.settlementDate;
      this.paymentGatewayId = other.paymentGatewayId;
      this.referenceId = other.referenceId;
      this.serviceTax = other.serviceTax;
      this.otherCharges = other.otherCharges;
      this.netCollection = other.netCollection;
    }

    public savePaymentSettlements_args deepCopy() {
      return new savePaymentSettlements_args(this);
    }

    @Override
    public void clear() {
      setSettlementDateIsSet(false);
      this.settlementDate = 0;
      setPaymentGatewayIdIsSet(false);
      this.paymentGatewayId = 0;
      setReferenceIdIsSet(false);
      this.referenceId = 0;
      setServiceTaxIsSet(false);
      this.serviceTax = 0.0;
      setOtherChargesIsSet(false);
      this.otherCharges = 0.0;
      setNetCollectionIsSet(false);
      this.netCollection = 0.0;
    }

    public long getSettlementDate() {
      return this.settlementDate;
    }

    public void setSettlementDate(long settlementDate) {
      this.settlementDate = settlementDate;
      setSettlementDateIsSet(true);
    }

    public void unsetSettlementDate() {
      __isset_bit_vector.clear(__SETTLEMENTDATE_ISSET_ID);
    }

    /** Returns true if field settlementDate is set (has been assigned a value) and false otherwise */
    public boolean isSetSettlementDate() {
      return __isset_bit_vector.get(__SETTLEMENTDATE_ISSET_ID);
    }

    public void setSettlementDateIsSet(boolean value) {
      __isset_bit_vector.set(__SETTLEMENTDATE_ISSET_ID, value);
    }

    public long getPaymentGatewayId() {
      return this.paymentGatewayId;
    }

    public void setPaymentGatewayId(long paymentGatewayId) {
      this.paymentGatewayId = paymentGatewayId;
      setPaymentGatewayIdIsSet(true);
    }

    public void unsetPaymentGatewayId() {
      __isset_bit_vector.clear(__PAYMENTGATEWAYID_ISSET_ID);
    }

    /** Returns true if field paymentGatewayId is set (has been assigned a value) and false otherwise */
    public boolean isSetPaymentGatewayId() {
      return __isset_bit_vector.get(__PAYMENTGATEWAYID_ISSET_ID);
    }

    public void setPaymentGatewayIdIsSet(boolean value) {
      __isset_bit_vector.set(__PAYMENTGATEWAYID_ISSET_ID, value);
    }

    public long getReferenceId() {
      return this.referenceId;
    }

    public void setReferenceId(long referenceId) {
      this.referenceId = referenceId;
      setReferenceIdIsSet(true);
    }

    public void unsetReferenceId() {
      __isset_bit_vector.clear(__REFERENCEID_ISSET_ID);
    }

    /** Returns true if field referenceId is set (has been assigned a value) and false otherwise */
    public boolean isSetReferenceId() {
      return __isset_bit_vector.get(__REFERENCEID_ISSET_ID);
    }

    public void setReferenceIdIsSet(boolean value) {
      __isset_bit_vector.set(__REFERENCEID_ISSET_ID, value);
    }

    public double getServiceTax() {
      return this.serviceTax;
    }

    public void setServiceTax(double serviceTax) {
      this.serviceTax = serviceTax;
      setServiceTaxIsSet(true);
    }

    public void unsetServiceTax() {
      __isset_bit_vector.clear(__SERVICETAX_ISSET_ID);
    }

    /** Returns true if field serviceTax is set (has been assigned a value) and false otherwise */
    public boolean isSetServiceTax() {
      return __isset_bit_vector.get(__SERVICETAX_ISSET_ID);
    }

    public void setServiceTaxIsSet(boolean value) {
      __isset_bit_vector.set(__SERVICETAX_ISSET_ID, value);
    }

    public double getOtherCharges() {
      return this.otherCharges;
    }

    public void setOtherCharges(double otherCharges) {
      this.otherCharges = otherCharges;
      setOtherChargesIsSet(true);
    }

    public void unsetOtherCharges() {
      __isset_bit_vector.clear(__OTHERCHARGES_ISSET_ID);
    }

    /** Returns true if field otherCharges is set (has been assigned a value) and false otherwise */
    public boolean isSetOtherCharges() {
      return __isset_bit_vector.get(__OTHERCHARGES_ISSET_ID);
    }

    public void setOtherChargesIsSet(boolean value) {
      __isset_bit_vector.set(__OTHERCHARGES_ISSET_ID, value);
    }

    public double getNetCollection() {
      return this.netCollection;
    }

    public void setNetCollection(double netCollection) {
      this.netCollection = netCollection;
      setNetCollectionIsSet(true);
    }

    public void unsetNetCollection() {
      __isset_bit_vector.clear(__NETCOLLECTION_ISSET_ID);
    }

    /** Returns true if field netCollection is set (has been assigned a value) and false otherwise */
    public boolean isSetNetCollection() {
      return __isset_bit_vector.get(__NETCOLLECTION_ISSET_ID);
    }

    public void setNetCollectionIsSet(boolean value) {
      __isset_bit_vector.set(__NETCOLLECTION_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SETTLEMENT_DATE:
        if (value == null) {
          unsetSettlementDate();
        } else {
          setSettlementDate((Long)value);
        }
        break;

      case PAYMENT_GATEWAY_ID:
        if (value == null) {
          unsetPaymentGatewayId();
        } else {
          setPaymentGatewayId((Long)value);
        }
        break;

      case REFERENCE_ID:
        if (value == null) {
          unsetReferenceId();
        } else {
          setReferenceId((Long)value);
        }
        break;

      case SERVICE_TAX:
        if (value == null) {
          unsetServiceTax();
        } else {
          setServiceTax((Double)value);
        }
        break;

      case OTHER_CHARGES:
        if (value == null) {
          unsetOtherCharges();
        } else {
          setOtherCharges((Double)value);
        }
        break;

      case NET_COLLECTION:
        if (value == null) {
          unsetNetCollection();
        } else {
          setNetCollection((Double)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SETTLEMENT_DATE:
        return Long.valueOf(getSettlementDate());

      case PAYMENT_GATEWAY_ID:
        return Long.valueOf(getPaymentGatewayId());

      case REFERENCE_ID:
        return Long.valueOf(getReferenceId());

      case SERVICE_TAX:
        return Double.valueOf(getServiceTax());

      case OTHER_CHARGES:
        return Double.valueOf(getOtherCharges());

      case NET_COLLECTION:
        return Double.valueOf(getNetCollection());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SETTLEMENT_DATE:
        return isSetSettlementDate();
      case PAYMENT_GATEWAY_ID:
        return isSetPaymentGatewayId();
      case REFERENCE_ID:
        return isSetReferenceId();
      case SERVICE_TAX:
        return isSetServiceTax();
      case OTHER_CHARGES:
        return isSetOtherCharges();
      case NET_COLLECTION:
        return isSetNetCollection();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof savePaymentSettlements_args)
        return this.equals((savePaymentSettlements_args)that);
      return false;
    }

    public boolean equals(savePaymentSettlements_args that) {
      if (that == null)
        return false;

      boolean this_present_settlementDate = true;
      boolean that_present_settlementDate = true;
      if (this_present_settlementDate || that_present_settlementDate) {
        if (!(this_present_settlementDate && that_present_settlementDate))
          return false;
        if (this.settlementDate != that.settlementDate)
          return false;
      }

      boolean this_present_paymentGatewayId = true;
      boolean that_present_paymentGatewayId = true;
      if (this_present_paymentGatewayId || that_present_paymentGatewayId) {
        if (!(this_present_paymentGatewayId && that_present_paymentGatewayId))
          return false;
        if (this.paymentGatewayId != that.paymentGatewayId)
          return false;
      }

      boolean this_present_referenceId = true;
      boolean that_present_referenceId = true;
      if (this_present_referenceId || that_present_referenceId) {
        if (!(this_present_referenceId && that_present_referenceId))
          return false;
        if (this.referenceId != that.referenceId)
          return false;
      }

      boolean this_present_serviceTax = true;
      boolean that_present_serviceTax = true;
      if (this_present_serviceTax || that_present_serviceTax) {
        if (!(this_present_serviceTax && that_present_serviceTax))
          return false;
        if (this.serviceTax != that.serviceTax)
          return false;
      }

      boolean this_present_otherCharges = true;
      boolean that_present_otherCharges = true;
      if (this_present_otherCharges || that_present_otherCharges) {
        if (!(this_present_otherCharges && that_present_otherCharges))
          return false;
        if (this.otherCharges != that.otherCharges)
          return false;
      }

      boolean this_present_netCollection = true;
      boolean that_present_netCollection = true;
      if (this_present_netCollection || that_present_netCollection) {
        if (!(this_present_netCollection && that_present_netCollection))
          return false;
        if (this.netCollection != that.netCollection)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(savePaymentSettlements_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      savePaymentSettlements_args typedOther = (savePaymentSettlements_args)other;

      lastComparison = Boolean.valueOf(isSetSettlementDate()).compareTo(typedOther.isSetSettlementDate());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSettlementDate()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.settlementDate, typedOther.settlementDate);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetPaymentGatewayId()).compareTo(typedOther.isSetPaymentGatewayId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetPaymentGatewayId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.paymentGatewayId, typedOther.paymentGatewayId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetReferenceId()).compareTo(typedOther.isSetReferenceId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetReferenceId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.referenceId, typedOther.referenceId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetServiceTax()).compareTo(typedOther.isSetServiceTax());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetServiceTax()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.serviceTax, typedOther.serviceTax);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetOtherCharges()).compareTo(typedOther.isSetOtherCharges());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOtherCharges()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.otherCharges, typedOther.otherCharges);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetNetCollection()).compareTo(typedOther.isSetNetCollection());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetNetCollection()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.netCollection, typedOther.netCollection);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // SETTLEMENT_DATE
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.settlementDate = iprot.readI64();
              setSettlementDateIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // PAYMENT_GATEWAY_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.paymentGatewayId = iprot.readI64();
              setPaymentGatewayIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // REFERENCE_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.referenceId = iprot.readI64();
              setReferenceIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 4: // SERVICE_TAX
            if (field.type == org.apache.thrift.protocol.TType.DOUBLE) {
              this.serviceTax = iprot.readDouble();
              setServiceTaxIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 5: // OTHER_CHARGES
            if (field.type == org.apache.thrift.protocol.TType.DOUBLE) {
              this.otherCharges = iprot.readDouble();
              setOtherChargesIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 6: // NET_COLLECTION
            if (field.type == org.apache.thrift.protocol.TType.DOUBLE) {
              this.netCollection = iprot.readDouble();
              setNetCollectionIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(SETTLEMENT_DATE_FIELD_DESC);
      oprot.writeI64(this.settlementDate);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(PAYMENT_GATEWAY_ID_FIELD_DESC);
      oprot.writeI64(this.paymentGatewayId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(REFERENCE_ID_FIELD_DESC);
      oprot.writeI64(this.referenceId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(SERVICE_TAX_FIELD_DESC);
      oprot.writeDouble(this.serviceTax);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(OTHER_CHARGES_FIELD_DESC);
      oprot.writeDouble(this.otherCharges);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(NET_COLLECTION_FIELD_DESC);
      oprot.writeDouble(this.netCollection);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("savePaymentSettlements_args(");
      boolean first = true;

      sb.append("settlementDate:");
      sb.append(this.settlementDate);
      first = false;
      if (!first) sb.append(", ");
      sb.append("paymentGatewayId:");
      sb.append(this.paymentGatewayId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("referenceId:");
      sb.append(this.referenceId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("serviceTax:");
      sb.append(this.serviceTax);
      first = false;
      if (!first) sb.append(", ");
      sb.append("otherCharges:");
      sb.append(this.otherCharges);
      first = false;
      if (!first) sb.append(", ");
      sb.append("netCollection:");
      sb.append(this.netCollection);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class savePaymentSettlements_result implements org.apache.thrift.TBase<savePaymentSettlements_result, savePaymentSettlements_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("savePaymentSettlements_result");

    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(savePaymentSettlements_result.class, metaDataMap);
    }

    public savePaymentSettlements_result() {
    }

    public savePaymentSettlements_result(
      TransactionServiceException ex)
    {
      this();
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public savePaymentSettlements_result(savePaymentSettlements_result other) {
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public savePaymentSettlements_result deepCopy() {
      return new savePaymentSettlements_result(this);
    }

    @Override
    public void clear() {
      this.ex = null;
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof savePaymentSettlements_result)
        return this.equals((savePaymentSettlements_result)that);
      return false;
    }

    public boolean equals(savePaymentSettlements_result that) {
      if (that == null)
        return false;

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(savePaymentSettlements_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      savePaymentSettlements_result typedOther = (savePaymentSettlements_result)other;

      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("savePaymentSettlements_result(");
      boolean first = true;

      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class saveEBSSettlementSummary_args implements org.apache.thrift.TBase<saveEBSSettlementSummary_args, saveEBSSettlementSummary_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("saveEBSSettlementSummary_args");

    private static final org.apache.thrift.protocol.TField SETTLEMENT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("settlementId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField SETTLEMENT_DATE_FIELD_DESC = new org.apache.thrift.protocol.TField("settlementDate", org.apache.thrift.protocol.TType.I64, (short)2);
    private static final org.apache.thrift.protocol.TField TRANSACTION_DATE_FROM_FIELD_DESC = new org.apache.thrift.protocol.TField("transactionDateFrom", org.apache.thrift.protocol.TType.I64, (short)3);
    private static final org.apache.thrift.protocol.TField TRANSACTION_DATE_TO_FIELD_DESC = new org.apache.thrift.protocol.TField("transactionDateTo", org.apache.thrift.protocol.TType.I64, (short)4);
    private static final org.apache.thrift.protocol.TField AMOUNT_FIELD_DESC = new org.apache.thrift.protocol.TField("amount", org.apache.thrift.protocol.TType.DOUBLE, (short)5);

    private long settlementId; // required
    private long settlementDate; // required
    private long transactionDateFrom; // required
    private long transactionDateTo; // required
    private double amount; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SETTLEMENT_ID((short)1, "settlementId"),
      SETTLEMENT_DATE((short)2, "settlementDate"),
      TRANSACTION_DATE_FROM((short)3, "transactionDateFrom"),
      TRANSACTION_DATE_TO((short)4, "transactionDateTo"),
      AMOUNT((short)5, "amount");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // SETTLEMENT_ID
            return SETTLEMENT_ID;
          case 2: // SETTLEMENT_DATE
            return SETTLEMENT_DATE;
          case 3: // TRANSACTION_DATE_FROM
            return TRANSACTION_DATE_FROM;
          case 4: // TRANSACTION_DATE_TO
            return TRANSACTION_DATE_TO;
          case 5: // AMOUNT
            return AMOUNT;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SETTLEMENTID_ISSET_ID = 0;
    private static final int __SETTLEMENTDATE_ISSET_ID = 1;
    private static final int __TRANSACTIONDATEFROM_ISSET_ID = 2;
    private static final int __TRANSACTIONDATETO_ISSET_ID = 3;
    private static final int __AMOUNT_ISSET_ID = 4;
    private BitSet __isset_bit_vector = new BitSet(5);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SETTLEMENT_ID, new org.apache.thrift.meta_data.FieldMetaData("settlementId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.SETTLEMENT_DATE, new org.apache.thrift.meta_data.FieldMetaData("settlementDate", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.TRANSACTION_DATE_FROM, new org.apache.thrift.meta_data.FieldMetaData("transactionDateFrom", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.TRANSACTION_DATE_TO, new org.apache.thrift.meta_data.FieldMetaData("transactionDateTo", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.AMOUNT, new org.apache.thrift.meta_data.FieldMetaData("amount", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(saveEBSSettlementSummary_args.class, metaDataMap);
    }

    public saveEBSSettlementSummary_args() {
    }

    public saveEBSSettlementSummary_args(
      long settlementId,
      long settlementDate,
      long transactionDateFrom,
      long transactionDateTo,
      double amount)
    {
      this();
      this.settlementId = settlementId;
      setSettlementIdIsSet(true);
      this.settlementDate = settlementDate;
      setSettlementDateIsSet(true);
      this.transactionDateFrom = transactionDateFrom;
      setTransactionDateFromIsSet(true);
      this.transactionDateTo = transactionDateTo;
      setTransactionDateToIsSet(true);
      this.amount = amount;
      setAmountIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public saveEBSSettlementSummary_args(saveEBSSettlementSummary_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.settlementId = other.settlementId;
      this.settlementDate = other.settlementDate;
      this.transactionDateFrom = other.transactionDateFrom;
      this.transactionDateTo = other.transactionDateTo;
      this.amount = other.amount;
    }

    public saveEBSSettlementSummary_args deepCopy() {
      return new saveEBSSettlementSummary_args(this);
    }

    @Override
    public void clear() {
      setSettlementIdIsSet(false);
      this.settlementId = 0;
      setSettlementDateIsSet(false);
      this.settlementDate = 0;
      setTransactionDateFromIsSet(false);
      this.transactionDateFrom = 0;
      setTransactionDateToIsSet(false);
      this.transactionDateTo = 0;
      setAmountIsSet(false);
      this.amount = 0.0;
    }

    public long getSettlementId() {
      return this.settlementId;
    }

    public void setSettlementId(long settlementId) {
      this.settlementId = settlementId;
      setSettlementIdIsSet(true);
    }

    public void unsetSettlementId() {
      __isset_bit_vector.clear(__SETTLEMENTID_ISSET_ID);
    }

    /** Returns true if field settlementId is set (has been assigned a value) and false otherwise */
    public boolean isSetSettlementId() {
      return __isset_bit_vector.get(__SETTLEMENTID_ISSET_ID);
    }

    public void setSettlementIdIsSet(boolean value) {
      __isset_bit_vector.set(__SETTLEMENTID_ISSET_ID, value);
    }

    public long getSettlementDate() {
      return this.settlementDate;
    }

    public void setSettlementDate(long settlementDate) {
      this.settlementDate = settlementDate;
      setSettlementDateIsSet(true);
    }

    public void unsetSettlementDate() {
      __isset_bit_vector.clear(__SETTLEMENTDATE_ISSET_ID);
    }

    /** Returns true if field settlementDate is set (has been assigned a value) and false otherwise */
    public boolean isSetSettlementDate() {
      return __isset_bit_vector.get(__SETTLEMENTDATE_ISSET_ID);
    }

    public void setSettlementDateIsSet(boolean value) {
      __isset_bit_vector.set(__SETTLEMENTDATE_ISSET_ID, value);
    }

    public long getTransactionDateFrom() {
      return this.transactionDateFrom;
    }

    public void setTransactionDateFrom(long transactionDateFrom) {
      this.transactionDateFrom = transactionDateFrom;
      setTransactionDateFromIsSet(true);
    }

    public void unsetTransactionDateFrom() {
      __isset_bit_vector.clear(__TRANSACTIONDATEFROM_ISSET_ID);
    }

    /** Returns true if field transactionDateFrom is set (has been assigned a value) and false otherwise */
    public boolean isSetTransactionDateFrom() {
      return __isset_bit_vector.get(__TRANSACTIONDATEFROM_ISSET_ID);
    }

    public void setTransactionDateFromIsSet(boolean value) {
      __isset_bit_vector.set(__TRANSACTIONDATEFROM_ISSET_ID, value);
    }

    public long getTransactionDateTo() {
      return this.transactionDateTo;
    }

    public void setTransactionDateTo(long transactionDateTo) {
      this.transactionDateTo = transactionDateTo;
      setTransactionDateToIsSet(true);
    }

    public void unsetTransactionDateTo() {
      __isset_bit_vector.clear(__TRANSACTIONDATETO_ISSET_ID);
    }

    /** Returns true if field transactionDateTo is set (has been assigned a value) and false otherwise */
    public boolean isSetTransactionDateTo() {
      return __isset_bit_vector.get(__TRANSACTIONDATETO_ISSET_ID);
    }

    public void setTransactionDateToIsSet(boolean value) {
      __isset_bit_vector.set(__TRANSACTIONDATETO_ISSET_ID, value);
    }

    public double getAmount() {
      return this.amount;
    }

    public void setAmount(double amount) {
      this.amount = amount;
      setAmountIsSet(true);
    }

    public void unsetAmount() {
      __isset_bit_vector.clear(__AMOUNT_ISSET_ID);
    }

    /** Returns true if field amount is set (has been assigned a value) and false otherwise */
    public boolean isSetAmount() {
      return __isset_bit_vector.get(__AMOUNT_ISSET_ID);
    }

    public void setAmountIsSet(boolean value) {
      __isset_bit_vector.set(__AMOUNT_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SETTLEMENT_ID:
        if (value == null) {
          unsetSettlementId();
        } else {
          setSettlementId((Long)value);
        }
        break;

      case SETTLEMENT_DATE:
        if (value == null) {
          unsetSettlementDate();
        } else {
          setSettlementDate((Long)value);
        }
        break;

      case TRANSACTION_DATE_FROM:
        if (value == null) {
          unsetTransactionDateFrom();
        } else {
          setTransactionDateFrom((Long)value);
        }
        break;

      case TRANSACTION_DATE_TO:
        if (value == null) {
          unsetTransactionDateTo();
        } else {
          setTransactionDateTo((Long)value);
        }
        break;

      case AMOUNT:
        if (value == null) {
          unsetAmount();
        } else {
          setAmount((Double)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SETTLEMENT_ID:
        return Long.valueOf(getSettlementId());

      case SETTLEMENT_DATE:
        return Long.valueOf(getSettlementDate());

      case TRANSACTION_DATE_FROM:
        return Long.valueOf(getTransactionDateFrom());

      case TRANSACTION_DATE_TO:
        return Long.valueOf(getTransactionDateTo());

      case AMOUNT:
        return Double.valueOf(getAmount());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SETTLEMENT_ID:
        return isSetSettlementId();
      case SETTLEMENT_DATE:
        return isSetSettlementDate();
      case TRANSACTION_DATE_FROM:
        return isSetTransactionDateFrom();
      case TRANSACTION_DATE_TO:
        return isSetTransactionDateTo();
      case AMOUNT:
        return isSetAmount();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof saveEBSSettlementSummary_args)
        return this.equals((saveEBSSettlementSummary_args)that);
      return false;
    }

    public boolean equals(saveEBSSettlementSummary_args that) {
      if (that == null)
        return false;

      boolean this_present_settlementId = true;
      boolean that_present_settlementId = true;
      if (this_present_settlementId || that_present_settlementId) {
        if (!(this_present_settlementId && that_present_settlementId))
          return false;
        if (this.settlementId != that.settlementId)
          return false;
      }

      boolean this_present_settlementDate = true;
      boolean that_present_settlementDate = true;
      if (this_present_settlementDate || that_present_settlementDate) {
        if (!(this_present_settlementDate && that_present_settlementDate))
          return false;
        if (this.settlementDate != that.settlementDate)
          return false;
      }

      boolean this_present_transactionDateFrom = true;
      boolean that_present_transactionDateFrom = true;
      if (this_present_transactionDateFrom || that_present_transactionDateFrom) {
        if (!(this_present_transactionDateFrom && that_present_transactionDateFrom))
          return false;
        if (this.transactionDateFrom != that.transactionDateFrom)
          return false;
      }

      boolean this_present_transactionDateTo = true;
      boolean that_present_transactionDateTo = true;
      if (this_present_transactionDateTo || that_present_transactionDateTo) {
        if (!(this_present_transactionDateTo && that_present_transactionDateTo))
          return false;
        if (this.transactionDateTo != that.transactionDateTo)
          return false;
      }

      boolean this_present_amount = true;
      boolean that_present_amount = true;
      if (this_present_amount || that_present_amount) {
        if (!(this_present_amount && that_present_amount))
          return false;
        if (this.amount != that.amount)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(saveEBSSettlementSummary_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      saveEBSSettlementSummary_args typedOther = (saveEBSSettlementSummary_args)other;

      lastComparison = Boolean.valueOf(isSetSettlementId()).compareTo(typedOther.isSetSettlementId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSettlementId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.settlementId, typedOther.settlementId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetSettlementDate()).compareTo(typedOther.isSetSettlementDate());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSettlementDate()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.settlementDate, typedOther.settlementDate);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetTransactionDateFrom()).compareTo(typedOther.isSetTransactionDateFrom());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetTransactionDateFrom()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.transactionDateFrom, typedOther.transactionDateFrom);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetTransactionDateTo()).compareTo(typedOther.isSetTransactionDateTo());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetTransactionDateTo()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.transactionDateTo, typedOther.transactionDateTo);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetAmount()).compareTo(typedOther.isSetAmount());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetAmount()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.amount, typedOther.amount);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // SETTLEMENT_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.settlementId = iprot.readI64();
              setSettlementIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // SETTLEMENT_DATE
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.settlementDate = iprot.readI64();
              setSettlementDateIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // TRANSACTION_DATE_FROM
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.transactionDateFrom = iprot.readI64();
              setTransactionDateFromIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 4: // TRANSACTION_DATE_TO
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.transactionDateTo = iprot.readI64();
              setTransactionDateToIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 5: // AMOUNT
            if (field.type == org.apache.thrift.protocol.TType.DOUBLE) {
              this.amount = iprot.readDouble();
              setAmountIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(SETTLEMENT_ID_FIELD_DESC);
      oprot.writeI64(this.settlementId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(SETTLEMENT_DATE_FIELD_DESC);
      oprot.writeI64(this.settlementDate);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(TRANSACTION_DATE_FROM_FIELD_DESC);
      oprot.writeI64(this.transactionDateFrom);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(TRANSACTION_DATE_TO_FIELD_DESC);
      oprot.writeI64(this.transactionDateTo);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(AMOUNT_FIELD_DESC);
      oprot.writeDouble(this.amount);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("saveEBSSettlementSummary_args(");
      boolean first = true;

      sb.append("settlementId:");
      sb.append(this.settlementId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("settlementDate:");
      sb.append(this.settlementDate);
      first = false;
      if (!first) sb.append(", ");
      sb.append("transactionDateFrom:");
      sb.append(this.transactionDateFrom);
      first = false;
      if (!first) sb.append(", ");
      sb.append("transactionDateTo:");
      sb.append(this.transactionDateTo);
      first = false;
      if (!first) sb.append(", ");
      sb.append("amount:");
      sb.append(this.amount);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class saveEBSSettlementSummary_result implements org.apache.thrift.TBase<saveEBSSettlementSummary_result, saveEBSSettlementSummary_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("saveEBSSettlementSummary_result");

    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(saveEBSSettlementSummary_result.class, metaDataMap);
    }

    public saveEBSSettlementSummary_result() {
    }

    public saveEBSSettlementSummary_result(
      TransactionServiceException ex)
    {
      this();
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public saveEBSSettlementSummary_result(saveEBSSettlementSummary_result other) {
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public saveEBSSettlementSummary_result deepCopy() {
      return new saveEBSSettlementSummary_result(this);
    }

    @Override
    public void clear() {
      this.ex = null;
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof saveEBSSettlementSummary_result)
        return this.equals((saveEBSSettlementSummary_result)that);
      return false;
    }

    public boolean equals(saveEBSSettlementSummary_result that) {
      if (that == null)
        return false;

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(saveEBSSettlementSummary_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      saveEBSSettlementSummary_result typedOther = (saveEBSSettlementSummary_result)other;

      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("saveEBSSettlementSummary_result(");
      boolean first = true;

      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getSettlementForPrepaid_args implements org.apache.thrift.TBase<getSettlementForPrepaid_args, getSettlementForPrepaid_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getSettlementForPrepaid_args");

    private static final org.apache.thrift.protocol.TField REFERENCE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("referenceId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField IS_REFUND_FIELD_DESC = new org.apache.thrift.protocol.TField("isRefund", org.apache.thrift.protocol.TType.BOOL, (short)2);

    private long referenceId; // required
    private boolean isRefund; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      REFERENCE_ID((short)1, "referenceId"),
      IS_REFUND((short)2, "isRefund");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // REFERENCE_ID
            return REFERENCE_ID;
          case 2: // IS_REFUND
            return IS_REFUND;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __REFERENCEID_ISSET_ID = 0;
    private static final int __ISREFUND_ISSET_ID = 1;
    private BitSet __isset_bit_vector = new BitSet(2);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.REFERENCE_ID, new org.apache.thrift.meta_data.FieldMetaData("referenceId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.IS_REFUND, new org.apache.thrift.meta_data.FieldMetaData("isRefund", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getSettlementForPrepaid_args.class, metaDataMap);
    }

    public getSettlementForPrepaid_args() {
    }

    public getSettlementForPrepaid_args(
      long referenceId,
      boolean isRefund)
    {
      this();
      this.referenceId = referenceId;
      setReferenceIdIsSet(true);
      this.isRefund = isRefund;
      setIsRefundIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getSettlementForPrepaid_args(getSettlementForPrepaid_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.referenceId = other.referenceId;
      this.isRefund = other.isRefund;
    }

    public getSettlementForPrepaid_args deepCopy() {
      return new getSettlementForPrepaid_args(this);
    }

    @Override
    public void clear() {
      setReferenceIdIsSet(false);
      this.referenceId = 0;
      setIsRefundIsSet(false);
      this.isRefund = false;
    }

    public long getReferenceId() {
      return this.referenceId;
    }

    public void setReferenceId(long referenceId) {
      this.referenceId = referenceId;
      setReferenceIdIsSet(true);
    }

    public void unsetReferenceId() {
      __isset_bit_vector.clear(__REFERENCEID_ISSET_ID);
    }

    /** Returns true if field referenceId is set (has been assigned a value) and false otherwise */
    public boolean isSetReferenceId() {
      return __isset_bit_vector.get(__REFERENCEID_ISSET_ID);
    }

    public void setReferenceIdIsSet(boolean value) {
      __isset_bit_vector.set(__REFERENCEID_ISSET_ID, value);
    }

    public boolean isIsRefund() {
      return this.isRefund;
    }

    public void setIsRefund(boolean isRefund) {
      this.isRefund = isRefund;
      setIsRefundIsSet(true);
    }

    public void unsetIsRefund() {
      __isset_bit_vector.clear(__ISREFUND_ISSET_ID);
    }

    /** Returns true if field isRefund is set (has been assigned a value) and false otherwise */
    public boolean isSetIsRefund() {
      return __isset_bit_vector.get(__ISREFUND_ISSET_ID);
    }

    public void setIsRefundIsSet(boolean value) {
      __isset_bit_vector.set(__ISREFUND_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case REFERENCE_ID:
        if (value == null) {
          unsetReferenceId();
        } else {
          setReferenceId((Long)value);
        }
        break;

      case IS_REFUND:
        if (value == null) {
          unsetIsRefund();
        } else {
          setIsRefund((Boolean)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case REFERENCE_ID:
        return Long.valueOf(getReferenceId());

      case IS_REFUND:
        return Boolean.valueOf(isIsRefund());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case REFERENCE_ID:
        return isSetReferenceId();
      case IS_REFUND:
        return isSetIsRefund();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getSettlementForPrepaid_args)
        return this.equals((getSettlementForPrepaid_args)that);
      return false;
    }

    public boolean equals(getSettlementForPrepaid_args that) {
      if (that == null)
        return false;

      boolean this_present_referenceId = true;
      boolean that_present_referenceId = true;
      if (this_present_referenceId || that_present_referenceId) {
        if (!(this_present_referenceId && that_present_referenceId))
          return false;
        if (this.referenceId != that.referenceId)
          return false;
      }

      boolean this_present_isRefund = true;
      boolean that_present_isRefund = true;
      if (this_present_isRefund || that_present_isRefund) {
        if (!(this_present_isRefund && that_present_isRefund))
          return false;
        if (this.isRefund != that.isRefund)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getSettlementForPrepaid_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getSettlementForPrepaid_args typedOther = (getSettlementForPrepaid_args)other;

      lastComparison = Boolean.valueOf(isSetReferenceId()).compareTo(typedOther.isSetReferenceId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetReferenceId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.referenceId, typedOther.referenceId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetIsRefund()).compareTo(typedOther.isSetIsRefund());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetIsRefund()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.isRefund, typedOther.isRefund);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // REFERENCE_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.referenceId = iprot.readI64();
              setReferenceIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // IS_REFUND
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.isRefund = iprot.readBool();
              setIsRefundIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(REFERENCE_ID_FIELD_DESC);
      oprot.writeI64(this.referenceId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(IS_REFUND_FIELD_DESC);
      oprot.writeBool(this.isRefund);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getSettlementForPrepaid_args(");
      boolean first = true;

      sb.append("referenceId:");
      sb.append(this.referenceId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("isRefund:");
      sb.append(this.isRefund);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getSettlementForPrepaid_result implements org.apache.thrift.TBase<getSettlementForPrepaid_result, getSettlementForPrepaid_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getSettlementForPrepaid_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private PaymentSettlement success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, PaymentSettlement.class)));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getSettlementForPrepaid_result.class, metaDataMap);
    }

    public getSettlementForPrepaid_result() {
    }

    public getSettlementForPrepaid_result(
      PaymentSettlement success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getSettlementForPrepaid_result(getSettlementForPrepaid_result other) {
      if (other.isSetSuccess()) {
        this.success = new PaymentSettlement(other.success);
      }
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public getSettlementForPrepaid_result deepCopy() {
      return new getSettlementForPrepaid_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.ex = null;
    }

    public PaymentSettlement getSuccess() {
      return this.success;
    }

    public void setSuccess(PaymentSettlement success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((PaymentSettlement)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getSettlementForPrepaid_result)
        return this.equals((getSettlementForPrepaid_result)that);
      return false;
    }

    public boolean equals(getSettlementForPrepaid_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getSettlementForPrepaid_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getSettlementForPrepaid_result typedOther = (getSettlementForPrepaid_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.success = new PaymentSettlement();
              this.success.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        this.success.write(oprot);
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getSettlementForPrepaid_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getSettlementForCod_args implements org.apache.thrift.TBase<getSettlementForCod_args, getSettlementForCod_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getSettlementForCod_args");

    private static final org.apache.thrift.protocol.TField ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("orderId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField IS_REFUND_FIELD_DESC = new org.apache.thrift.protocol.TField("isRefund", org.apache.thrift.protocol.TType.BOOL, (short)2);

    private long orderId; // required
    private boolean isRefund; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ORDER_ID((short)1, "orderId"),
      IS_REFUND((short)2, "isRefund");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ORDER_ID
            return ORDER_ID;
          case 2: // IS_REFUND
            return IS_REFUND;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ORDERID_ISSET_ID = 0;
    private static final int __ISREFUND_ISSET_ID = 1;
    private BitSet __isset_bit_vector = new BitSet(2);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("orderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.IS_REFUND, new org.apache.thrift.meta_data.FieldMetaData("isRefund", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getSettlementForCod_args.class, metaDataMap);
    }

    public getSettlementForCod_args() {
    }

    public getSettlementForCod_args(
      long orderId,
      boolean isRefund)
    {
      this();
      this.orderId = orderId;
      setOrderIdIsSet(true);
      this.isRefund = isRefund;
      setIsRefundIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getSettlementForCod_args(getSettlementForCod_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.orderId = other.orderId;
      this.isRefund = other.isRefund;
    }

    public getSettlementForCod_args deepCopy() {
      return new getSettlementForCod_args(this);
    }

    @Override
    public void clear() {
      setOrderIdIsSet(false);
      this.orderId = 0;
      setIsRefundIsSet(false);
      this.isRefund = false;
    }

    public long getOrderId() {
      return this.orderId;
    }

    public void setOrderId(long orderId) {
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    public void unsetOrderId() {
      __isset_bit_vector.clear(__ORDERID_ISSET_ID);
    }

    /** Returns true if field orderId is set (has been assigned a value) and false otherwise */
    public boolean isSetOrderId() {
      return __isset_bit_vector.get(__ORDERID_ISSET_ID);
    }

    public void setOrderIdIsSet(boolean value) {
      __isset_bit_vector.set(__ORDERID_ISSET_ID, value);
    }

    public boolean isIsRefund() {
      return this.isRefund;
    }

    public void setIsRefund(boolean isRefund) {
      this.isRefund = isRefund;
      setIsRefundIsSet(true);
    }

    public void unsetIsRefund() {
      __isset_bit_vector.clear(__ISREFUND_ISSET_ID);
    }

    /** Returns true if field isRefund is set (has been assigned a value) and false otherwise */
    public boolean isSetIsRefund() {
      return __isset_bit_vector.get(__ISREFUND_ISSET_ID);
    }

    public void setIsRefundIsSet(boolean value) {
      __isset_bit_vector.set(__ISREFUND_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ORDER_ID:
        if (value == null) {
          unsetOrderId();
        } else {
          setOrderId((Long)value);
        }
        break;

      case IS_REFUND:
        if (value == null) {
          unsetIsRefund();
        } else {
          setIsRefund((Boolean)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ORDER_ID:
        return Long.valueOf(getOrderId());

      case IS_REFUND:
        return Boolean.valueOf(isIsRefund());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ORDER_ID:
        return isSetOrderId();
      case IS_REFUND:
        return isSetIsRefund();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getSettlementForCod_args)
        return this.equals((getSettlementForCod_args)that);
      return false;
    }

    public boolean equals(getSettlementForCod_args that) {
      if (that == null)
        return false;

      boolean this_present_orderId = true;
      boolean that_present_orderId = true;
      if (this_present_orderId || that_present_orderId) {
        if (!(this_present_orderId && that_present_orderId))
          return false;
        if (this.orderId != that.orderId)
          return false;
      }

      boolean this_present_isRefund = true;
      boolean that_present_isRefund = true;
      if (this_present_isRefund || that_present_isRefund) {
        if (!(this_present_isRefund && that_present_isRefund))
          return false;
        if (this.isRefund != that.isRefund)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getSettlementForCod_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getSettlementForCod_args typedOther = (getSettlementForCod_args)other;

      lastComparison = Boolean.valueOf(isSetOrderId()).compareTo(typedOther.isSetOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.orderId, typedOther.orderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetIsRefund()).compareTo(typedOther.isSetIsRefund());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetIsRefund()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.isRefund, typedOther.isRefund);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.orderId = iprot.readI64();
              setOrderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // IS_REFUND
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.isRefund = iprot.readBool();
              setIsRefundIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ORDER_ID_FIELD_DESC);
      oprot.writeI64(this.orderId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(IS_REFUND_FIELD_DESC);
      oprot.writeBool(this.isRefund);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getSettlementForCod_args(");
      boolean first = true;

      sb.append("orderId:");
      sb.append(this.orderId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("isRefund:");
      sb.append(this.isRefund);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getSettlementForCod_result implements org.apache.thrift.TBase<getSettlementForCod_result, getSettlementForCod_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getSettlementForCod_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private PaymentSettlement success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, PaymentSettlement.class)));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getSettlementForCod_result.class, metaDataMap);
    }

    public getSettlementForCod_result() {
    }

    public getSettlementForCod_result(
      PaymentSettlement success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getSettlementForCod_result(getSettlementForCod_result other) {
      if (other.isSetSuccess()) {
        this.success = new PaymentSettlement(other.success);
      }
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public getSettlementForCod_result deepCopy() {
      return new getSettlementForCod_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.ex = null;
    }

    public PaymentSettlement getSuccess() {
      return this.success;
    }

    public void setSuccess(PaymentSettlement success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((PaymentSettlement)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getSettlementForCod_result)
        return this.equals((getSettlementForCod_result)that);
      return false;
    }

    public boolean equals(getSettlementForCod_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getSettlementForCod_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getSettlementForCod_result typedOther = (getSettlementForCod_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.success = new PaymentSettlement();
              this.success.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        this.success.write(oprot);
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getSettlementForCod_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getEBSSettlementSummaries_args implements org.apache.thrift.TBase<getEBSSettlementSummaries_args, getEBSSettlementSummaries_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getEBSSettlementSummaries_args");



    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
;

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getEBSSettlementSummaries_args.class, metaDataMap);
    }

    public getEBSSettlementSummaries_args() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getEBSSettlementSummaries_args(getEBSSettlementSummaries_args other) {
    }

    public getEBSSettlementSummaries_args deepCopy() {
      return new getEBSSettlementSummaries_args(this);
    }

    @Override
    public void clear() {
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getEBSSettlementSummaries_args)
        return this.equals((getEBSSettlementSummaries_args)that);
      return false;
    }

    public boolean equals(getEBSSettlementSummaries_args that) {
      if (that == null)
        return false;

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getEBSSettlementSummaries_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getEBSSettlementSummaries_args typedOther = (getEBSSettlementSummaries_args)other;

      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getEBSSettlementSummaries_args(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getEBSSettlementSummaries_result implements org.apache.thrift.TBase<getEBSSettlementSummaries_result, getEBSSettlementSummaries_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getEBSSettlementSummaries_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.MAP, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private Map<Long,String> success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64), 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getEBSSettlementSummaries_result.class, metaDataMap);
    }

    public getEBSSettlementSummaries_result() {
    }

    public getEBSSettlementSummaries_result(
      Map<Long,String> success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getEBSSettlementSummaries_result(getEBSSettlementSummaries_result other) {
      if (other.isSetSuccess()) {
        Map<Long,String> __this__success = new HashMap<Long,String>();
        for (Map.Entry<Long, String> other_element : other.success.entrySet()) {

          Long other_element_key = other_element.getKey();
          String other_element_value = other_element.getValue();

          Long __this__success_copy_key = other_element_key;

          String __this__success_copy_value = other_element_value;

          __this__success.put(__this__success_copy_key, __this__success_copy_value);
        }
        this.success = __this__success;
      }
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public getEBSSettlementSummaries_result deepCopy() {
      return new getEBSSettlementSummaries_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.ex = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public void putToSuccess(long key, String val) {
      if (this.success == null) {
        this.success = new HashMap<Long,String>();
      }
      this.success.put(key, val);
    }

    public Map<Long,String> getSuccess() {
      return this.success;
    }

    public void setSuccess(Map<Long,String> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Map<Long,String>)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getEBSSettlementSummaries_result)
        return this.equals((getEBSSettlementSummaries_result)that);
      return false;
    }

    public boolean equals(getEBSSettlementSummaries_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getEBSSettlementSummaries_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getEBSSettlementSummaries_result typedOther = (getEBSSettlementSummaries_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.MAP) {
              {
                org.apache.thrift.protocol.TMap _map334 = iprot.readMapBegin();
                this.success = new HashMap<Long,String>(2*_map334.size);
                for (int _i335 = 0; _i335 < _map334.size; ++_i335)
                {
                  long _key336; // required
                  String _val337; // required
                  _key336 = iprot.readI64();
                  _val337 = iprot.readString();
                  this.success.put(_key336, _val337);
                }
                iprot.readMapEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.I64, org.apache.thrift.protocol.TType.STRING, this.success.size()));
          for (Map.Entry<Long, String> _iter338 : this.success.entrySet())
          {
            oprot.writeI64(_iter338.getKey());
            oprot.writeString(_iter338.getValue());
          }
          oprot.writeMapEnd();
        }
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getEBSSettlementSummaries_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class markEBSSettlementUploaded_args implements org.apache.thrift.TBase<markEBSSettlementUploaded_args, markEBSSettlementUploaded_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("markEBSSettlementUploaded_args");

    private static final org.apache.thrift.protocol.TField SETTLEMENT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("settlementId", org.apache.thrift.protocol.TType.I64, (short)1);

    private long settlementId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SETTLEMENT_ID((short)1, "settlementId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // SETTLEMENT_ID
            return SETTLEMENT_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SETTLEMENTID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SETTLEMENT_ID, new org.apache.thrift.meta_data.FieldMetaData("settlementId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(markEBSSettlementUploaded_args.class, metaDataMap);
    }

    public markEBSSettlementUploaded_args() {
    }

    public markEBSSettlementUploaded_args(
      long settlementId)
    {
      this();
      this.settlementId = settlementId;
      setSettlementIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public markEBSSettlementUploaded_args(markEBSSettlementUploaded_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.settlementId = other.settlementId;
    }

    public markEBSSettlementUploaded_args deepCopy() {
      return new markEBSSettlementUploaded_args(this);
    }

    @Override
    public void clear() {
      setSettlementIdIsSet(false);
      this.settlementId = 0;
    }

    public long getSettlementId() {
      return this.settlementId;
    }

    public void setSettlementId(long settlementId) {
      this.settlementId = settlementId;
      setSettlementIdIsSet(true);
    }

    public void unsetSettlementId() {
      __isset_bit_vector.clear(__SETTLEMENTID_ISSET_ID);
    }

    /** Returns true if field settlementId is set (has been assigned a value) and false otherwise */
    public boolean isSetSettlementId() {
      return __isset_bit_vector.get(__SETTLEMENTID_ISSET_ID);
    }

    public void setSettlementIdIsSet(boolean value) {
      __isset_bit_vector.set(__SETTLEMENTID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SETTLEMENT_ID:
        if (value == null) {
          unsetSettlementId();
        } else {
          setSettlementId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SETTLEMENT_ID:
        return Long.valueOf(getSettlementId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SETTLEMENT_ID:
        return isSetSettlementId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof markEBSSettlementUploaded_args)
        return this.equals((markEBSSettlementUploaded_args)that);
      return false;
    }

    public boolean equals(markEBSSettlementUploaded_args that) {
      if (that == null)
        return false;

      boolean this_present_settlementId = true;
      boolean that_present_settlementId = true;
      if (this_present_settlementId || that_present_settlementId) {
        if (!(this_present_settlementId && that_present_settlementId))
          return false;
        if (this.settlementId != that.settlementId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(markEBSSettlementUploaded_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      markEBSSettlementUploaded_args typedOther = (markEBSSettlementUploaded_args)other;

      lastComparison = Boolean.valueOf(isSetSettlementId()).compareTo(typedOther.isSetSettlementId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSettlementId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.settlementId, typedOther.settlementId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // SETTLEMENT_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.settlementId = iprot.readI64();
              setSettlementIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(SETTLEMENT_ID_FIELD_DESC);
      oprot.writeI64(this.settlementId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("markEBSSettlementUploaded_args(");
      boolean first = true;

      sb.append("settlementId:");
      sb.append(this.settlementId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class markEBSSettlementUploaded_result implements org.apache.thrift.TBase<markEBSSettlementUploaded_result, markEBSSettlementUploaded_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("markEBSSettlementUploaded_result");

    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(markEBSSettlementUploaded_result.class, metaDataMap);
    }

    public markEBSSettlementUploaded_result() {
    }

    public markEBSSettlementUploaded_result(
      TransactionServiceException ex)
    {
      this();
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public markEBSSettlementUploaded_result(markEBSSettlementUploaded_result other) {
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public markEBSSettlementUploaded_result deepCopy() {
      return new markEBSSettlementUploaded_result(this);
    }

    @Override
    public void clear() {
      this.ex = null;
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof markEBSSettlementUploaded_result)
        return this.equals((markEBSSettlementUploaded_result)that);
      return false;
    }

    public boolean equals(markEBSSettlementUploaded_result that) {
      if (that == null)
        return false;

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(markEBSSettlementUploaded_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      markEBSSettlementUploaded_result typedOther = (markEBSSettlementUploaded_result)other;

      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("markEBSSettlementUploaded_result(");
      boolean first = true;

      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getEBSSettlementDate_args implements org.apache.thrift.TBase<getEBSSettlementDate_args, getEBSSettlementDate_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getEBSSettlementDate_args");

    private static final org.apache.thrift.protocol.TField SETTLEMENT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("settlementId", org.apache.thrift.protocol.TType.I64, (short)1);

    private long settlementId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SETTLEMENT_ID((short)1, "settlementId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // SETTLEMENT_ID
            return SETTLEMENT_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SETTLEMENTID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SETTLEMENT_ID, new org.apache.thrift.meta_data.FieldMetaData("settlementId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getEBSSettlementDate_args.class, metaDataMap);
    }

    public getEBSSettlementDate_args() {
    }

    public getEBSSettlementDate_args(
      long settlementId)
    {
      this();
      this.settlementId = settlementId;
      setSettlementIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getEBSSettlementDate_args(getEBSSettlementDate_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.settlementId = other.settlementId;
    }

    public getEBSSettlementDate_args deepCopy() {
      return new getEBSSettlementDate_args(this);
    }

    @Override
    public void clear() {
      setSettlementIdIsSet(false);
      this.settlementId = 0;
    }

    public long getSettlementId() {
      return this.settlementId;
    }

    public void setSettlementId(long settlementId) {
      this.settlementId = settlementId;
      setSettlementIdIsSet(true);
    }

    public void unsetSettlementId() {
      __isset_bit_vector.clear(__SETTLEMENTID_ISSET_ID);
    }

    /** Returns true if field settlementId is set (has been assigned a value) and false otherwise */
    public boolean isSetSettlementId() {
      return __isset_bit_vector.get(__SETTLEMENTID_ISSET_ID);
    }

    public void setSettlementIdIsSet(boolean value) {
      __isset_bit_vector.set(__SETTLEMENTID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SETTLEMENT_ID:
        if (value == null) {
          unsetSettlementId();
        } else {
          setSettlementId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SETTLEMENT_ID:
        return Long.valueOf(getSettlementId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SETTLEMENT_ID:
        return isSetSettlementId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getEBSSettlementDate_args)
        return this.equals((getEBSSettlementDate_args)that);
      return false;
    }

    public boolean equals(getEBSSettlementDate_args that) {
      if (that == null)
        return false;

      boolean this_present_settlementId = true;
      boolean that_present_settlementId = true;
      if (this_present_settlementId || that_present_settlementId) {
        if (!(this_present_settlementId && that_present_settlementId))
          return false;
        if (this.settlementId != that.settlementId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getEBSSettlementDate_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getEBSSettlementDate_args typedOther = (getEBSSettlementDate_args)other;

      lastComparison = Boolean.valueOf(isSetSettlementId()).compareTo(typedOther.isSetSettlementId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSettlementId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.settlementId, typedOther.settlementId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // SETTLEMENT_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.settlementId = iprot.readI64();
              setSettlementIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(SETTLEMENT_ID_FIELD_DESC);
      oprot.writeI64(this.settlementId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getEBSSettlementDate_args(");
      boolean first = true;

      sb.append("settlementId:");
      sb.append(this.settlementId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getEBSSettlementDate_result implements org.apache.thrift.TBase<getEBSSettlementDate_result, getEBSSettlementDate_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getEBSSettlementDate_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.I64, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private long success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getEBSSettlementDate_result.class, metaDataMap);
    }

    public getEBSSettlementDate_result() {
    }

    public getEBSSettlementDate_result(
      long success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getEBSSettlementDate_result(getEBSSettlementDate_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public getEBSSettlementDate_result deepCopy() {
      return new getEBSSettlementDate_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = 0;
      this.ex = null;
    }

    public long getSuccess() {
      return this.success;
    }

    public void setSuccess(long success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Long)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Long.valueOf(getSuccess());

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getEBSSettlementDate_result)
        return this.equals((getEBSSettlementDate_result)that);
      return false;
    }

    public boolean equals(getEBSSettlementDate_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getEBSSettlementDate_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getEBSSettlementDate_result typedOther = (getEBSSettlementDate_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.success = iprot.readI64();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeI64(this.success);
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getEBSSettlementDate_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getSettlementsByDate_args implements org.apache.thrift.TBase<getSettlementsByDate_args, getSettlementsByDate_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getSettlementsByDate_args");

    private static final org.apache.thrift.protocol.TField SETTLEMENT_DATE_FROM_FIELD_DESC = new org.apache.thrift.protocol.TField("settlementDateFrom", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField SETTLEMENT_DATE_TO_FIELD_DESC = new org.apache.thrift.protocol.TField("settlementDateTo", org.apache.thrift.protocol.TType.I64, (short)2);
    private static final org.apache.thrift.protocol.TField IS_REFUND_FIELD_DESC = new org.apache.thrift.protocol.TField("isRefund", org.apache.thrift.protocol.TType.BOOL, (short)3);

    private long settlementDateFrom; // required
    private long settlementDateTo; // required
    private boolean isRefund; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SETTLEMENT_DATE_FROM((short)1, "settlementDateFrom"),
      SETTLEMENT_DATE_TO((short)2, "settlementDateTo"),
      IS_REFUND((short)3, "isRefund");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // SETTLEMENT_DATE_FROM
            return SETTLEMENT_DATE_FROM;
          case 2: // SETTLEMENT_DATE_TO
            return SETTLEMENT_DATE_TO;
          case 3: // IS_REFUND
            return IS_REFUND;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SETTLEMENTDATEFROM_ISSET_ID = 0;
    private static final int __SETTLEMENTDATETO_ISSET_ID = 1;
    private static final int __ISREFUND_ISSET_ID = 2;
    private BitSet __isset_bit_vector = new BitSet(3);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SETTLEMENT_DATE_FROM, new org.apache.thrift.meta_data.FieldMetaData("settlementDateFrom", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.SETTLEMENT_DATE_TO, new org.apache.thrift.meta_data.FieldMetaData("settlementDateTo", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.IS_REFUND, new org.apache.thrift.meta_data.FieldMetaData("isRefund", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getSettlementsByDate_args.class, metaDataMap);
    }

    public getSettlementsByDate_args() {
    }

    public getSettlementsByDate_args(
      long settlementDateFrom,
      long settlementDateTo,
      boolean isRefund)
    {
      this();
      this.settlementDateFrom = settlementDateFrom;
      setSettlementDateFromIsSet(true);
      this.settlementDateTo = settlementDateTo;
      setSettlementDateToIsSet(true);
      this.isRefund = isRefund;
      setIsRefundIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getSettlementsByDate_args(getSettlementsByDate_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.settlementDateFrom = other.settlementDateFrom;
      this.settlementDateTo = other.settlementDateTo;
      this.isRefund = other.isRefund;
    }

    public getSettlementsByDate_args deepCopy() {
      return new getSettlementsByDate_args(this);
    }

    @Override
    public void clear() {
      setSettlementDateFromIsSet(false);
      this.settlementDateFrom = 0;
      setSettlementDateToIsSet(false);
      this.settlementDateTo = 0;
      setIsRefundIsSet(false);
      this.isRefund = false;
    }

    public long getSettlementDateFrom() {
      return this.settlementDateFrom;
    }

    public void setSettlementDateFrom(long settlementDateFrom) {
      this.settlementDateFrom = settlementDateFrom;
      setSettlementDateFromIsSet(true);
    }

    public void unsetSettlementDateFrom() {
      __isset_bit_vector.clear(__SETTLEMENTDATEFROM_ISSET_ID);
    }

    /** Returns true if field settlementDateFrom is set (has been assigned a value) and false otherwise */
    public boolean isSetSettlementDateFrom() {
      return __isset_bit_vector.get(__SETTLEMENTDATEFROM_ISSET_ID);
    }

    public void setSettlementDateFromIsSet(boolean value) {
      __isset_bit_vector.set(__SETTLEMENTDATEFROM_ISSET_ID, value);
    }

    public long getSettlementDateTo() {
      return this.settlementDateTo;
    }

    public void setSettlementDateTo(long settlementDateTo) {
      this.settlementDateTo = settlementDateTo;
      setSettlementDateToIsSet(true);
    }

    public void unsetSettlementDateTo() {
      __isset_bit_vector.clear(__SETTLEMENTDATETO_ISSET_ID);
    }

    /** Returns true if field settlementDateTo is set (has been assigned a value) and false otherwise */
    public boolean isSetSettlementDateTo() {
      return __isset_bit_vector.get(__SETTLEMENTDATETO_ISSET_ID);
    }

    public void setSettlementDateToIsSet(boolean value) {
      __isset_bit_vector.set(__SETTLEMENTDATETO_ISSET_ID, value);
    }

    public boolean isIsRefund() {
      return this.isRefund;
    }

    public void setIsRefund(boolean isRefund) {
      this.isRefund = isRefund;
      setIsRefundIsSet(true);
    }

    public void unsetIsRefund() {
      __isset_bit_vector.clear(__ISREFUND_ISSET_ID);
    }

    /** Returns true if field isRefund is set (has been assigned a value) and false otherwise */
    public boolean isSetIsRefund() {
      return __isset_bit_vector.get(__ISREFUND_ISSET_ID);
    }

    public void setIsRefundIsSet(boolean value) {
      __isset_bit_vector.set(__ISREFUND_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SETTLEMENT_DATE_FROM:
        if (value == null) {
          unsetSettlementDateFrom();
        } else {
          setSettlementDateFrom((Long)value);
        }
        break;

      case SETTLEMENT_DATE_TO:
        if (value == null) {
          unsetSettlementDateTo();
        } else {
          setSettlementDateTo((Long)value);
        }
        break;

      case IS_REFUND:
        if (value == null) {
          unsetIsRefund();
        } else {
          setIsRefund((Boolean)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SETTLEMENT_DATE_FROM:
        return Long.valueOf(getSettlementDateFrom());

      case SETTLEMENT_DATE_TO:
        return Long.valueOf(getSettlementDateTo());

      case IS_REFUND:
        return Boolean.valueOf(isIsRefund());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SETTLEMENT_DATE_FROM:
        return isSetSettlementDateFrom();
      case SETTLEMENT_DATE_TO:
        return isSetSettlementDateTo();
      case IS_REFUND:
        return isSetIsRefund();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getSettlementsByDate_args)
        return this.equals((getSettlementsByDate_args)that);
      return false;
    }

    public boolean equals(getSettlementsByDate_args that) {
      if (that == null)
        return false;

      boolean this_present_settlementDateFrom = true;
      boolean that_present_settlementDateFrom = true;
      if (this_present_settlementDateFrom || that_present_settlementDateFrom) {
        if (!(this_present_settlementDateFrom && that_present_settlementDateFrom))
          return false;
        if (this.settlementDateFrom != that.settlementDateFrom)
          return false;
      }

      boolean this_present_settlementDateTo = true;
      boolean that_present_settlementDateTo = true;
      if (this_present_settlementDateTo || that_present_settlementDateTo) {
        if (!(this_present_settlementDateTo && that_present_settlementDateTo))
          return false;
        if (this.settlementDateTo != that.settlementDateTo)
          return false;
      }

      boolean this_present_isRefund = true;
      boolean that_present_isRefund = true;
      if (this_present_isRefund || that_present_isRefund) {
        if (!(this_present_isRefund && that_present_isRefund))
          return false;
        if (this.isRefund != that.isRefund)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getSettlementsByDate_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getSettlementsByDate_args typedOther = (getSettlementsByDate_args)other;

      lastComparison = Boolean.valueOf(isSetSettlementDateFrom()).compareTo(typedOther.isSetSettlementDateFrom());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSettlementDateFrom()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.settlementDateFrom, typedOther.settlementDateFrom);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetSettlementDateTo()).compareTo(typedOther.isSetSettlementDateTo());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSettlementDateTo()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.settlementDateTo, typedOther.settlementDateTo);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetIsRefund()).compareTo(typedOther.isSetIsRefund());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetIsRefund()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.isRefund, typedOther.isRefund);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // SETTLEMENT_DATE_FROM
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.settlementDateFrom = iprot.readI64();
              setSettlementDateFromIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // SETTLEMENT_DATE_TO
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.settlementDateTo = iprot.readI64();
              setSettlementDateToIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // IS_REFUND
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.isRefund = iprot.readBool();
              setIsRefundIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(SETTLEMENT_DATE_FROM_FIELD_DESC);
      oprot.writeI64(this.settlementDateFrom);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(SETTLEMENT_DATE_TO_FIELD_DESC);
      oprot.writeI64(this.settlementDateTo);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(IS_REFUND_FIELD_DESC);
      oprot.writeBool(this.isRefund);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getSettlementsByDate_args(");
      boolean first = true;

      sb.append("settlementDateFrom:");
      sb.append(this.settlementDateFrom);
      first = false;
      if (!first) sb.append(", ");
      sb.append("settlementDateTo:");
      sb.append(this.settlementDateTo);
      first = false;
      if (!first) sb.append(", ");
      sb.append("isRefund:");
      sb.append(this.isRefund);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getSettlementsByDate_result implements org.apache.thrift.TBase<getSettlementsByDate_result, getSettlementsByDate_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getSettlementsByDate_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private List<PaymentSettlement> success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, PaymentSettlement.class))));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getSettlementsByDate_result.class, metaDataMap);
    }

    public getSettlementsByDate_result() {
    }

    public getSettlementsByDate_result(
      List<PaymentSettlement> success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getSettlementsByDate_result(getSettlementsByDate_result other) {
      if (other.isSetSuccess()) {
        List<PaymentSettlement> __this__success = new ArrayList<PaymentSettlement>();
        for (PaymentSettlement other_element : other.success) {
          __this__success.add(new PaymentSettlement(other_element));
        }
        this.success = __this__success;
      }
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public getSettlementsByDate_result deepCopy() {
      return new getSettlementsByDate_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.ex = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<PaymentSettlement> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(PaymentSettlement elem) {
      if (this.success == null) {
        this.success = new ArrayList<PaymentSettlement>();
      }
      this.success.add(elem);
    }

    public List<PaymentSettlement> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<PaymentSettlement> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<PaymentSettlement>)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getSettlementsByDate_result)
        return this.equals((getSettlementsByDate_result)that);
      return false;
    }

    public boolean equals(getSettlementsByDate_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getSettlementsByDate_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getSettlementsByDate_result typedOther = (getSettlementsByDate_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list339 = iprot.readListBegin();
                this.success = new ArrayList<PaymentSettlement>(_list339.size);
                for (int _i340 = 0; _i340 < _list339.size; ++_i340)
                {
                  PaymentSettlement _elem341; // required
                  _elem341 = new PaymentSettlement();
                  _elem341.read(iprot);
                  this.success.add(_elem341);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (PaymentSettlement _iter342 : this.success)
          {
            _iter342.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getSettlementsByDate_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getReshippedOrderIds_args implements org.apache.thrift.TBase<getReshippedOrderIds_args, getReshippedOrderIds_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getReshippedOrderIds_args");

    private static final org.apache.thrift.protocol.TField ORDER_IDS_FIELD_DESC = new org.apache.thrift.protocol.TField("orderIds", org.apache.thrift.protocol.TType.LIST, (short)1);

    private List<Long> orderIds; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ORDER_IDS((short)1, "orderIds");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ORDER_IDS
            return ORDER_IDS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ORDER_IDS, new org.apache.thrift.meta_data.FieldMetaData("orderIds", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getReshippedOrderIds_args.class, metaDataMap);
    }

    public getReshippedOrderIds_args() {
    }

    public getReshippedOrderIds_args(
      List<Long> orderIds)
    {
      this();
      this.orderIds = orderIds;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getReshippedOrderIds_args(getReshippedOrderIds_args other) {
      if (other.isSetOrderIds()) {
        List<Long> __this__orderIds = new ArrayList<Long>();
        for (Long other_element : other.orderIds) {
          __this__orderIds.add(other_element);
        }
        this.orderIds = __this__orderIds;
      }
    }

    public getReshippedOrderIds_args deepCopy() {
      return new getReshippedOrderIds_args(this);
    }

    @Override
    public void clear() {
      this.orderIds = null;
    }

    public int getOrderIdsSize() {
      return (this.orderIds == null) ? 0 : this.orderIds.size();
    }

    public java.util.Iterator<Long> getOrderIdsIterator() {
      return (this.orderIds == null) ? null : this.orderIds.iterator();
    }

    public void addToOrderIds(long elem) {
      if (this.orderIds == null) {
        this.orderIds = new ArrayList<Long>();
      }
      this.orderIds.add(elem);
    }

    public List<Long> getOrderIds() {
      return this.orderIds;
    }

    public void setOrderIds(List<Long> orderIds) {
      this.orderIds = orderIds;
    }

    public void unsetOrderIds() {
      this.orderIds = null;
    }

    /** Returns true if field orderIds is set (has been assigned a value) and false otherwise */
    public boolean isSetOrderIds() {
      return this.orderIds != null;
    }

    public void setOrderIdsIsSet(boolean value) {
      if (!value) {
        this.orderIds = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ORDER_IDS:
        if (value == null) {
          unsetOrderIds();
        } else {
          setOrderIds((List<Long>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ORDER_IDS:
        return getOrderIds();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ORDER_IDS:
        return isSetOrderIds();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getReshippedOrderIds_args)
        return this.equals((getReshippedOrderIds_args)that);
      return false;
    }

    public boolean equals(getReshippedOrderIds_args that) {
      if (that == null)
        return false;

      boolean this_present_orderIds = true && this.isSetOrderIds();
      boolean that_present_orderIds = true && that.isSetOrderIds();
      if (this_present_orderIds || that_present_orderIds) {
        if (!(this_present_orderIds && that_present_orderIds))
          return false;
        if (!this.orderIds.equals(that.orderIds))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getReshippedOrderIds_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getReshippedOrderIds_args typedOther = (getReshippedOrderIds_args)other;

      lastComparison = Boolean.valueOf(isSetOrderIds()).compareTo(typedOther.isSetOrderIds());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrderIds()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.orderIds, typedOther.orderIds);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ORDER_IDS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list343 = iprot.readListBegin();
                this.orderIds = new ArrayList<Long>(_list343.size);
                for (int _i344 = 0; _i344 < _list343.size; ++_i344)
                {
                  long _elem345; // required
                  _elem345 = iprot.readI64();
                  this.orderIds.add(_elem345);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.orderIds != null) {
        oprot.writeFieldBegin(ORDER_IDS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, this.orderIds.size()));
          for (long _iter346 : this.orderIds)
          {
            oprot.writeI64(_iter346);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getReshippedOrderIds_args(");
      boolean first = true;

      sb.append("orderIds:");
      if (this.orderIds == null) {
        sb.append("null");
      } else {
        sb.append(this.orderIds);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getReshippedOrderIds_result implements org.apache.thrift.TBase<getReshippedOrderIds_result, getReshippedOrderIds_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getReshippedOrderIds_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private List<Long> success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64))));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getReshippedOrderIds_result.class, metaDataMap);
    }

    public getReshippedOrderIds_result() {
    }

    public getReshippedOrderIds_result(
      List<Long> success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getReshippedOrderIds_result(getReshippedOrderIds_result other) {
      if (other.isSetSuccess()) {
        List<Long> __this__success = new ArrayList<Long>();
        for (Long other_element : other.success) {
          __this__success.add(other_element);
        }
        this.success = __this__success;
      }
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public getReshippedOrderIds_result deepCopy() {
      return new getReshippedOrderIds_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.ex = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<Long> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(long elem) {
      if (this.success == null) {
        this.success = new ArrayList<Long>();
      }
      this.success.add(elem);
    }

    public List<Long> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<Long> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<Long>)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getReshippedOrderIds_result)
        return this.equals((getReshippedOrderIds_result)that);
      return false;
    }

    public boolean equals(getReshippedOrderIds_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getReshippedOrderIds_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getReshippedOrderIds_result typedOther = (getReshippedOrderIds_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list347 = iprot.readListBegin();
                this.success = new ArrayList<Long>(_list347.size);
                for (int _i348 = 0; _i348 < _list347.size; ++_i348)
                {
                  long _elem349; // required
                  _elem349 = iprot.readI64();
                  this.success.add(_elem349);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, this.success.size()));
          for (long _iter350 : this.success)
          {
            oprot.writeI64(_iter350);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getReshippedOrderIds_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getBilledOrders_args implements org.apache.thrift.TBase<getBilledOrders_args, getBilledOrders_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getBilledOrders_args");

    private static final org.apache.thrift.protocol.TField VENDOR_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("vendorId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField ONLY_VENDOR_NOT_PAID_FIELD_DESC = new org.apache.thrift.protocol.TField("onlyVendorNotPaid", org.apache.thrift.protocol.TType.BOOL, (short)2);
    private static final org.apache.thrift.protocol.TField BILLING_DATE_FROM_FIELD_DESC = new org.apache.thrift.protocol.TField("billingDateFrom", org.apache.thrift.protocol.TType.I64, (short)3);
    private static final org.apache.thrift.protocol.TField BILLING_DATE_TO_FIELD_DESC = new org.apache.thrift.protocol.TField("billingDateTo", org.apache.thrift.protocol.TType.I64, (short)4);

    private long vendorId; // required
    private boolean onlyVendorNotPaid; // required
    private long billingDateFrom; // required
    private long billingDateTo; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      VENDOR_ID((short)1, "vendorId"),
      ONLY_VENDOR_NOT_PAID((short)2, "onlyVendorNotPaid"),
      BILLING_DATE_FROM((short)3, "billingDateFrom"),
      BILLING_DATE_TO((short)4, "billingDateTo");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // VENDOR_ID
            return VENDOR_ID;
          case 2: // ONLY_VENDOR_NOT_PAID
            return ONLY_VENDOR_NOT_PAID;
          case 3: // BILLING_DATE_FROM
            return BILLING_DATE_FROM;
          case 4: // BILLING_DATE_TO
            return BILLING_DATE_TO;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __VENDORID_ISSET_ID = 0;
    private static final int __ONLYVENDORNOTPAID_ISSET_ID = 1;
    private static final int __BILLINGDATEFROM_ISSET_ID = 2;
    private static final int __BILLINGDATETO_ISSET_ID = 3;
    private BitSet __isset_bit_vector = new BitSet(4);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.VENDOR_ID, new org.apache.thrift.meta_data.FieldMetaData("vendorId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.ONLY_VENDOR_NOT_PAID, new org.apache.thrift.meta_data.FieldMetaData("onlyVendorNotPaid", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      tmpMap.put(_Fields.BILLING_DATE_FROM, new org.apache.thrift.meta_data.FieldMetaData("billingDateFrom", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.BILLING_DATE_TO, new org.apache.thrift.meta_data.FieldMetaData("billingDateTo", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getBilledOrders_args.class, metaDataMap);
    }

    public getBilledOrders_args() {
    }

    public getBilledOrders_args(
      long vendorId,
      boolean onlyVendorNotPaid,
      long billingDateFrom,
      long billingDateTo)
    {
      this();
      this.vendorId = vendorId;
      setVendorIdIsSet(true);
      this.onlyVendorNotPaid = onlyVendorNotPaid;
      setOnlyVendorNotPaidIsSet(true);
      this.billingDateFrom = billingDateFrom;
      setBillingDateFromIsSet(true);
      this.billingDateTo = billingDateTo;
      setBillingDateToIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getBilledOrders_args(getBilledOrders_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.vendorId = other.vendorId;
      this.onlyVendorNotPaid = other.onlyVendorNotPaid;
      this.billingDateFrom = other.billingDateFrom;
      this.billingDateTo = other.billingDateTo;
    }

    public getBilledOrders_args deepCopy() {
      return new getBilledOrders_args(this);
    }

    @Override
    public void clear() {
      setVendorIdIsSet(false);
      this.vendorId = 0;
      setOnlyVendorNotPaidIsSet(false);
      this.onlyVendorNotPaid = false;
      setBillingDateFromIsSet(false);
      this.billingDateFrom = 0;
      setBillingDateToIsSet(false);
      this.billingDateTo = 0;
    }

    public long getVendorId() {
      return this.vendorId;
    }

    public void setVendorId(long vendorId) {
      this.vendorId = vendorId;
      setVendorIdIsSet(true);
    }

    public void unsetVendorId() {
      __isset_bit_vector.clear(__VENDORID_ISSET_ID);
    }

    /** Returns true if field vendorId is set (has been assigned a value) and false otherwise */
    public boolean isSetVendorId() {
      return __isset_bit_vector.get(__VENDORID_ISSET_ID);
    }

    public void setVendorIdIsSet(boolean value) {
      __isset_bit_vector.set(__VENDORID_ISSET_ID, value);
    }

    public boolean isOnlyVendorNotPaid() {
      return this.onlyVendorNotPaid;
    }

    public void setOnlyVendorNotPaid(boolean onlyVendorNotPaid) {
      this.onlyVendorNotPaid = onlyVendorNotPaid;
      setOnlyVendorNotPaidIsSet(true);
    }

    public void unsetOnlyVendorNotPaid() {
      __isset_bit_vector.clear(__ONLYVENDORNOTPAID_ISSET_ID);
    }

    /** Returns true if field onlyVendorNotPaid is set (has been assigned a value) and false otherwise */
    public boolean isSetOnlyVendorNotPaid() {
      return __isset_bit_vector.get(__ONLYVENDORNOTPAID_ISSET_ID);
    }

    public void setOnlyVendorNotPaidIsSet(boolean value) {
      __isset_bit_vector.set(__ONLYVENDORNOTPAID_ISSET_ID, value);
    }

    public long getBillingDateFrom() {
      return this.billingDateFrom;
    }

    public void setBillingDateFrom(long billingDateFrom) {
      this.billingDateFrom = billingDateFrom;
      setBillingDateFromIsSet(true);
    }

    public void unsetBillingDateFrom() {
      __isset_bit_vector.clear(__BILLINGDATEFROM_ISSET_ID);
    }

    /** Returns true if field billingDateFrom is set (has been assigned a value) and false otherwise */
    public boolean isSetBillingDateFrom() {
      return __isset_bit_vector.get(__BILLINGDATEFROM_ISSET_ID);
    }

    public void setBillingDateFromIsSet(boolean value) {
      __isset_bit_vector.set(__BILLINGDATEFROM_ISSET_ID, value);
    }

    public long getBillingDateTo() {
      return this.billingDateTo;
    }

    public void setBillingDateTo(long billingDateTo) {
      this.billingDateTo = billingDateTo;
      setBillingDateToIsSet(true);
    }

    public void unsetBillingDateTo() {
      __isset_bit_vector.clear(__BILLINGDATETO_ISSET_ID);
    }

    /** Returns true if field billingDateTo is set (has been assigned a value) and false otherwise */
    public boolean isSetBillingDateTo() {
      return __isset_bit_vector.get(__BILLINGDATETO_ISSET_ID);
    }

    public void setBillingDateToIsSet(boolean value) {
      __isset_bit_vector.set(__BILLINGDATETO_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case VENDOR_ID:
        if (value == null) {
          unsetVendorId();
        } else {
          setVendorId((Long)value);
        }
        break;

      case ONLY_VENDOR_NOT_PAID:
        if (value == null) {
          unsetOnlyVendorNotPaid();
        } else {
          setOnlyVendorNotPaid((Boolean)value);
        }
        break;

      case BILLING_DATE_FROM:
        if (value == null) {
          unsetBillingDateFrom();
        } else {
          setBillingDateFrom((Long)value);
        }
        break;

      case BILLING_DATE_TO:
        if (value == null) {
          unsetBillingDateTo();
        } else {
          setBillingDateTo((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case VENDOR_ID:
        return Long.valueOf(getVendorId());

      case ONLY_VENDOR_NOT_PAID:
        return Boolean.valueOf(isOnlyVendorNotPaid());

      case BILLING_DATE_FROM:
        return Long.valueOf(getBillingDateFrom());

      case BILLING_DATE_TO:
        return Long.valueOf(getBillingDateTo());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case VENDOR_ID:
        return isSetVendorId();
      case ONLY_VENDOR_NOT_PAID:
        return isSetOnlyVendorNotPaid();
      case BILLING_DATE_FROM:
        return isSetBillingDateFrom();
      case BILLING_DATE_TO:
        return isSetBillingDateTo();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getBilledOrders_args)
        return this.equals((getBilledOrders_args)that);
      return false;
    }

    public boolean equals(getBilledOrders_args that) {
      if (that == null)
        return false;

      boolean this_present_vendorId = true;
      boolean that_present_vendorId = true;
      if (this_present_vendorId || that_present_vendorId) {
        if (!(this_present_vendorId && that_present_vendorId))
          return false;
        if (this.vendorId != that.vendorId)
          return false;
      }

      boolean this_present_onlyVendorNotPaid = true;
      boolean that_present_onlyVendorNotPaid = true;
      if (this_present_onlyVendorNotPaid || that_present_onlyVendorNotPaid) {
        if (!(this_present_onlyVendorNotPaid && that_present_onlyVendorNotPaid))
          return false;
        if (this.onlyVendorNotPaid != that.onlyVendorNotPaid)
          return false;
      }

      boolean this_present_billingDateFrom = true;
      boolean that_present_billingDateFrom = true;
      if (this_present_billingDateFrom || that_present_billingDateFrom) {
        if (!(this_present_billingDateFrom && that_present_billingDateFrom))
          return false;
        if (this.billingDateFrom != that.billingDateFrom)
          return false;
      }

      boolean this_present_billingDateTo = true;
      boolean that_present_billingDateTo = true;
      if (this_present_billingDateTo || that_present_billingDateTo) {
        if (!(this_present_billingDateTo && that_present_billingDateTo))
          return false;
        if (this.billingDateTo != that.billingDateTo)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getBilledOrders_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getBilledOrders_args typedOther = (getBilledOrders_args)other;

      lastComparison = Boolean.valueOf(isSetVendorId()).compareTo(typedOther.isSetVendorId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetVendorId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.vendorId, typedOther.vendorId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetOnlyVendorNotPaid()).compareTo(typedOther.isSetOnlyVendorNotPaid());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOnlyVendorNotPaid()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.onlyVendorNotPaid, typedOther.onlyVendorNotPaid);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetBillingDateFrom()).compareTo(typedOther.isSetBillingDateFrom());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetBillingDateFrom()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.billingDateFrom, typedOther.billingDateFrom);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetBillingDateTo()).compareTo(typedOther.isSetBillingDateTo());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetBillingDateTo()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.billingDateTo, typedOther.billingDateTo);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // VENDOR_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.vendorId = iprot.readI64();
              setVendorIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // ONLY_VENDOR_NOT_PAID
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.onlyVendorNotPaid = iprot.readBool();
              setOnlyVendorNotPaidIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // BILLING_DATE_FROM
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.billingDateFrom = iprot.readI64();
              setBillingDateFromIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 4: // BILLING_DATE_TO
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.billingDateTo = iprot.readI64();
              setBillingDateToIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(VENDOR_ID_FIELD_DESC);
      oprot.writeI64(this.vendorId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(ONLY_VENDOR_NOT_PAID_FIELD_DESC);
      oprot.writeBool(this.onlyVendorNotPaid);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(BILLING_DATE_FROM_FIELD_DESC);
      oprot.writeI64(this.billingDateFrom);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(BILLING_DATE_TO_FIELD_DESC);
      oprot.writeI64(this.billingDateTo);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getBilledOrders_args(");
      boolean first = true;

      sb.append("vendorId:");
      sb.append(this.vendorId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("onlyVendorNotPaid:");
      sb.append(this.onlyVendorNotPaid);
      first = false;
      if (!first) sb.append(", ");
      sb.append("billingDateFrom:");
      sb.append(this.billingDateFrom);
      first = false;
      if (!first) sb.append(", ");
      sb.append("billingDateTo:");
      sb.append(this.billingDateTo);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getBilledOrders_result implements org.apache.thrift.TBase<getBilledOrders_result, getBilledOrders_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getBilledOrders_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private List<Order> success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Order.class))));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getBilledOrders_result.class, metaDataMap);
    }

    public getBilledOrders_result() {
    }

    public getBilledOrders_result(
      List<Order> success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getBilledOrders_result(getBilledOrders_result other) {
      if (other.isSetSuccess()) {
        List<Order> __this__success = new ArrayList<Order>();
        for (Order other_element : other.success) {
          __this__success.add(new Order(other_element));
        }
        this.success = __this__success;
      }
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public getBilledOrders_result deepCopy() {
      return new getBilledOrders_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.ex = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<Order> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(Order elem) {
      if (this.success == null) {
        this.success = new ArrayList<Order>();
      }
      this.success.add(elem);
    }

    public List<Order> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<Order> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<Order>)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getBilledOrders_result)
        return this.equals((getBilledOrders_result)that);
      return false;
    }

    public boolean equals(getBilledOrders_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getBilledOrders_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getBilledOrders_result typedOther = (getBilledOrders_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list351 = iprot.readListBegin();
                this.success = new ArrayList<Order>(_list351.size);
                for (int _i352 = 0; _i352 < _list351.size; ++_i352)
                {
                  Order _elem353; // required
                  _elem353 = new Order();
                  _elem353.read(iprot);
                  this.success.add(_elem353);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (Order _iter354 : this.success)
          {
            _iter354.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getBilledOrders_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getStatusDistributionOfOrders_args implements org.apache.thrift.TBase<getStatusDistributionOfOrders_args, getStatusDistributionOfOrders_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getStatusDistributionOfOrders_args");

    private static final org.apache.thrift.protocol.TField START_DATE_FIELD_DESC = new org.apache.thrift.protocol.TField("startDate", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField END_DATE_FIELD_DESC = new org.apache.thrift.protocol.TField("endDate", org.apache.thrift.protocol.TType.I64, (short)2);

    private long startDate; // required
    private long endDate; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      START_DATE((short)1, "startDate"),
      END_DATE((short)2, "endDate");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // START_DATE
            return START_DATE;
          case 2: // END_DATE
            return END_DATE;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __STARTDATE_ISSET_ID = 0;
    private static final int __ENDDATE_ISSET_ID = 1;
    private BitSet __isset_bit_vector = new BitSet(2);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.START_DATE, new org.apache.thrift.meta_data.FieldMetaData("startDate", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.END_DATE, new org.apache.thrift.meta_data.FieldMetaData("endDate", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getStatusDistributionOfOrders_args.class, metaDataMap);
    }

    public getStatusDistributionOfOrders_args() {
    }

    public getStatusDistributionOfOrders_args(
      long startDate,
      long endDate)
    {
      this();
      this.startDate = startDate;
      setStartDateIsSet(true);
      this.endDate = endDate;
      setEndDateIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getStatusDistributionOfOrders_args(getStatusDistributionOfOrders_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.startDate = other.startDate;
      this.endDate = other.endDate;
    }

    public getStatusDistributionOfOrders_args deepCopy() {
      return new getStatusDistributionOfOrders_args(this);
    }

    @Override
    public void clear() {
      setStartDateIsSet(false);
      this.startDate = 0;
      setEndDateIsSet(false);
      this.endDate = 0;
    }

    public long getStartDate() {
      return this.startDate;
    }

    public void setStartDate(long startDate) {
      this.startDate = startDate;
      setStartDateIsSet(true);
    }

    public void unsetStartDate() {
      __isset_bit_vector.clear(__STARTDATE_ISSET_ID);
    }

    /** Returns true if field startDate is set (has been assigned a value) and false otherwise */
    public boolean isSetStartDate() {
      return __isset_bit_vector.get(__STARTDATE_ISSET_ID);
    }

    public void setStartDateIsSet(boolean value) {
      __isset_bit_vector.set(__STARTDATE_ISSET_ID, value);
    }

    public long getEndDate() {
      return this.endDate;
    }

    public void setEndDate(long endDate) {
      this.endDate = endDate;
      setEndDateIsSet(true);
    }

    public void unsetEndDate() {
      __isset_bit_vector.clear(__ENDDATE_ISSET_ID);
    }

    /** Returns true if field endDate is set (has been assigned a value) and false otherwise */
    public boolean isSetEndDate() {
      return __isset_bit_vector.get(__ENDDATE_ISSET_ID);
    }

    public void setEndDateIsSet(boolean value) {
      __isset_bit_vector.set(__ENDDATE_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case START_DATE:
        if (value == null) {
          unsetStartDate();
        } else {
          setStartDate((Long)value);
        }
        break;

      case END_DATE:
        if (value == null) {
          unsetEndDate();
        } else {
          setEndDate((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case START_DATE:
        return Long.valueOf(getStartDate());

      case END_DATE:
        return Long.valueOf(getEndDate());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case START_DATE:
        return isSetStartDate();
      case END_DATE:
        return isSetEndDate();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getStatusDistributionOfOrders_args)
        return this.equals((getStatusDistributionOfOrders_args)that);
      return false;
    }

    public boolean equals(getStatusDistributionOfOrders_args that) {
      if (that == null)
        return false;

      boolean this_present_startDate = true;
      boolean that_present_startDate = true;
      if (this_present_startDate || that_present_startDate) {
        if (!(this_present_startDate && that_present_startDate))
          return false;
        if (this.startDate != that.startDate)
          return false;
      }

      boolean this_present_endDate = true;
      boolean that_present_endDate = true;
      if (this_present_endDate || that_present_endDate) {
        if (!(this_present_endDate && that_present_endDate))
          return false;
        if (this.endDate != that.endDate)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getStatusDistributionOfOrders_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getStatusDistributionOfOrders_args typedOther = (getStatusDistributionOfOrders_args)other;

      lastComparison = Boolean.valueOf(isSetStartDate()).compareTo(typedOther.isSetStartDate());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetStartDate()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.startDate, typedOther.startDate);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEndDate()).compareTo(typedOther.isSetEndDate());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEndDate()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.endDate, typedOther.endDate);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // START_DATE
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.startDate = iprot.readI64();
              setStartDateIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // END_DATE
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.endDate = iprot.readI64();
              setEndDateIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(START_DATE_FIELD_DESC);
      oprot.writeI64(this.startDate);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(END_DATE_FIELD_DESC);
      oprot.writeI64(this.endDate);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getStatusDistributionOfOrders_args(");
      boolean first = true;

      sb.append("startDate:");
      sb.append(this.startDate);
      first = false;
      if (!first) sb.append(", ");
      sb.append("endDate:");
      sb.append(this.endDate);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getStatusDistributionOfOrders_result implements org.apache.thrift.TBase<getStatusDistributionOfOrders_result, getStatusDistributionOfOrders_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getStatusDistributionOfOrders_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.MAP, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private Map<Long,Long> success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64), 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64))));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getStatusDistributionOfOrders_result.class, metaDataMap);
    }

    public getStatusDistributionOfOrders_result() {
    }

    public getStatusDistributionOfOrders_result(
      Map<Long,Long> success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getStatusDistributionOfOrders_result(getStatusDistributionOfOrders_result other) {
      if (other.isSetSuccess()) {
        Map<Long,Long> __this__success = new HashMap<Long,Long>();
        for (Map.Entry<Long, Long> other_element : other.success.entrySet()) {

          Long other_element_key = other_element.getKey();
          Long other_element_value = other_element.getValue();

          Long __this__success_copy_key = other_element_key;

          Long __this__success_copy_value = other_element_value;

          __this__success.put(__this__success_copy_key, __this__success_copy_value);
        }
        this.success = __this__success;
      }
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public getStatusDistributionOfOrders_result deepCopy() {
      return new getStatusDistributionOfOrders_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.ex = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public void putToSuccess(long key, long val) {
      if (this.success == null) {
        this.success = new HashMap<Long,Long>();
      }
      this.success.put(key, val);
    }

    public Map<Long,Long> getSuccess() {
      return this.success;
    }

    public void setSuccess(Map<Long,Long> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Map<Long,Long>)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getStatusDistributionOfOrders_result)
        return this.equals((getStatusDistributionOfOrders_result)that);
      return false;
    }

    public boolean equals(getStatusDistributionOfOrders_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getStatusDistributionOfOrders_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getStatusDistributionOfOrders_result typedOther = (getStatusDistributionOfOrders_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.MAP) {
              {
                org.apache.thrift.protocol.TMap _map355 = iprot.readMapBegin();
                this.success = new HashMap<Long,Long>(2*_map355.size);
                for (int _i356 = 0; _i356 < _map355.size; ++_i356)
                {
                  long _key357; // required
                  long _val358; // required
                  _key357 = iprot.readI64();
                  _val358 = iprot.readI64();
                  this.success.put(_key357, _val358);
                }
                iprot.readMapEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.I64, org.apache.thrift.protocol.TType.I64, this.success.size()));
          for (Map.Entry<Long, Long> _iter359 : this.success.entrySet())
          {
            oprot.writeI64(_iter359.getKey());
            oprot.writeI64(_iter359.getValue());
          }
          oprot.writeMapEnd();
        }
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getStatusDistributionOfOrders_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getOrderIdsForStatus_args implements org.apache.thrift.TBase<getOrderIdsForStatus_args, getOrderIdsForStatus_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getOrderIdsForStatus_args");

    private static final org.apache.thrift.protocol.TField STATUS_FIELD_DESC = new org.apache.thrift.protocol.TField("status", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField START_DATETIME_FIELD_DESC = new org.apache.thrift.protocol.TField("startDatetime", org.apache.thrift.protocol.TType.I64, (short)2);
    private static final org.apache.thrift.protocol.TField END_DATETIME_FIELD_DESC = new org.apache.thrift.protocol.TField("endDatetime", org.apache.thrift.protocol.TType.I64, (short)3);

    private long status; // required
    private long startDatetime; // required
    private long endDatetime; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      STATUS((short)1, "status"),
      START_DATETIME((short)2, "startDatetime"),
      END_DATETIME((short)3, "endDatetime");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // STATUS
            return STATUS;
          case 2: // START_DATETIME
            return START_DATETIME;
          case 3: // END_DATETIME
            return END_DATETIME;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __STATUS_ISSET_ID = 0;
    private static final int __STARTDATETIME_ISSET_ID = 1;
    private static final int __ENDDATETIME_ISSET_ID = 2;
    private BitSet __isset_bit_vector = new BitSet(3);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.STATUS, new org.apache.thrift.meta_data.FieldMetaData("status", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.START_DATETIME, new org.apache.thrift.meta_data.FieldMetaData("startDatetime", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.END_DATETIME, new org.apache.thrift.meta_data.FieldMetaData("endDatetime", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getOrderIdsForStatus_args.class, metaDataMap);
    }

    public getOrderIdsForStatus_args() {
    }

    public getOrderIdsForStatus_args(
      long status,
      long startDatetime,
      long endDatetime)
    {
      this();
      this.status = status;
      setStatusIsSet(true);
      this.startDatetime = startDatetime;
      setStartDatetimeIsSet(true);
      this.endDatetime = endDatetime;
      setEndDatetimeIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getOrderIdsForStatus_args(getOrderIdsForStatus_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.status = other.status;
      this.startDatetime = other.startDatetime;
      this.endDatetime = other.endDatetime;
    }

    public getOrderIdsForStatus_args deepCopy() {
      return new getOrderIdsForStatus_args(this);
    }

    @Override
    public void clear() {
      setStatusIsSet(false);
      this.status = 0;
      setStartDatetimeIsSet(false);
      this.startDatetime = 0;
      setEndDatetimeIsSet(false);
      this.endDatetime = 0;
    }

    public long getStatus() {
      return this.status;
    }

    public void setStatus(long status) {
      this.status = status;
      setStatusIsSet(true);
    }

    public void unsetStatus() {
      __isset_bit_vector.clear(__STATUS_ISSET_ID);
    }

    /** Returns true if field status is set (has been assigned a value) and false otherwise */
    public boolean isSetStatus() {
      return __isset_bit_vector.get(__STATUS_ISSET_ID);
    }

    public void setStatusIsSet(boolean value) {
      __isset_bit_vector.set(__STATUS_ISSET_ID, value);
    }

    public long getStartDatetime() {
      return this.startDatetime;
    }

    public void setStartDatetime(long startDatetime) {
      this.startDatetime = startDatetime;
      setStartDatetimeIsSet(true);
    }

    public void unsetStartDatetime() {
      __isset_bit_vector.clear(__STARTDATETIME_ISSET_ID);
    }

    /** Returns true if field startDatetime is set (has been assigned a value) and false otherwise */
    public boolean isSetStartDatetime() {
      return __isset_bit_vector.get(__STARTDATETIME_ISSET_ID);
    }

    public void setStartDatetimeIsSet(boolean value) {
      __isset_bit_vector.set(__STARTDATETIME_ISSET_ID, value);
    }

    public long getEndDatetime() {
      return this.endDatetime;
    }

    public void setEndDatetime(long endDatetime) {
      this.endDatetime = endDatetime;
      setEndDatetimeIsSet(true);
    }

    public void unsetEndDatetime() {
      __isset_bit_vector.clear(__ENDDATETIME_ISSET_ID);
    }

    /** Returns true if field endDatetime is set (has been assigned a value) and false otherwise */
    public boolean isSetEndDatetime() {
      return __isset_bit_vector.get(__ENDDATETIME_ISSET_ID);
    }

    public void setEndDatetimeIsSet(boolean value) {
      __isset_bit_vector.set(__ENDDATETIME_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case STATUS:
        if (value == null) {
          unsetStatus();
        } else {
          setStatus((Long)value);
        }
        break;

      case START_DATETIME:
        if (value == null) {
          unsetStartDatetime();
        } else {
          setStartDatetime((Long)value);
        }
        break;

      case END_DATETIME:
        if (value == null) {
          unsetEndDatetime();
        } else {
          setEndDatetime((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case STATUS:
        return Long.valueOf(getStatus());

      case START_DATETIME:
        return Long.valueOf(getStartDatetime());

      case END_DATETIME:
        return Long.valueOf(getEndDatetime());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case STATUS:
        return isSetStatus();
      case START_DATETIME:
        return isSetStartDatetime();
      case END_DATETIME:
        return isSetEndDatetime();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getOrderIdsForStatus_args)
        return this.equals((getOrderIdsForStatus_args)that);
      return false;
    }

    public boolean equals(getOrderIdsForStatus_args that) {
      if (that == null)
        return false;

      boolean this_present_status = true;
      boolean that_present_status = true;
      if (this_present_status || that_present_status) {
        if (!(this_present_status && that_present_status))
          return false;
        if (this.status != that.status)
          return false;
      }

      boolean this_present_startDatetime = true;
      boolean that_present_startDatetime = true;
      if (this_present_startDatetime || that_present_startDatetime) {
        if (!(this_present_startDatetime && that_present_startDatetime))
          return false;
        if (this.startDatetime != that.startDatetime)
          return false;
      }

      boolean this_present_endDatetime = true;
      boolean that_present_endDatetime = true;
      if (this_present_endDatetime || that_present_endDatetime) {
        if (!(this_present_endDatetime && that_present_endDatetime))
          return false;
        if (this.endDatetime != that.endDatetime)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getOrderIdsForStatus_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getOrderIdsForStatus_args typedOther = (getOrderIdsForStatus_args)other;

      lastComparison = Boolean.valueOf(isSetStatus()).compareTo(typedOther.isSetStatus());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetStatus()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.status, typedOther.status);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetStartDatetime()).compareTo(typedOther.isSetStartDatetime());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetStartDatetime()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.startDatetime, typedOther.startDatetime);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEndDatetime()).compareTo(typedOther.isSetEndDatetime());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEndDatetime()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.endDatetime, typedOther.endDatetime);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // STATUS
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.status = iprot.readI64();
              setStatusIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // START_DATETIME
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.startDatetime = iprot.readI64();
              setStartDatetimeIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // END_DATETIME
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.endDatetime = iprot.readI64();
              setEndDatetimeIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(STATUS_FIELD_DESC);
      oprot.writeI64(this.status);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(START_DATETIME_FIELD_DESC);
      oprot.writeI64(this.startDatetime);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(END_DATETIME_FIELD_DESC);
      oprot.writeI64(this.endDatetime);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getOrderIdsForStatus_args(");
      boolean first = true;

      sb.append("status:");
      sb.append(this.status);
      first = false;
      if (!first) sb.append(", ");
      sb.append("startDatetime:");
      sb.append(this.startDatetime);
      first = false;
      if (!first) sb.append(", ");
      sb.append("endDatetime:");
      sb.append(this.endDatetime);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getOrderIdsForStatus_result implements org.apache.thrift.TBase<getOrderIdsForStatus_result, getOrderIdsForStatus_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getOrderIdsForStatus_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private List<Long> success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64))));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getOrderIdsForStatus_result.class, metaDataMap);
    }

    public getOrderIdsForStatus_result() {
    }

    public getOrderIdsForStatus_result(
      List<Long> success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getOrderIdsForStatus_result(getOrderIdsForStatus_result other) {
      if (other.isSetSuccess()) {
        List<Long> __this__success = new ArrayList<Long>();
        for (Long other_element : other.success) {
          __this__success.add(other_element);
        }
        this.success = __this__success;
      }
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public getOrderIdsForStatus_result deepCopy() {
      return new getOrderIdsForStatus_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.ex = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<Long> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(long elem) {
      if (this.success == null) {
        this.success = new ArrayList<Long>();
      }
      this.success.add(elem);
    }

    public List<Long> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<Long> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<Long>)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getOrderIdsForStatus_result)
        return this.equals((getOrderIdsForStatus_result)that);
      return false;
    }

    public boolean equals(getOrderIdsForStatus_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getOrderIdsForStatus_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getOrderIdsForStatus_result typedOther = (getOrderIdsForStatus_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list360 = iprot.readListBegin();
                this.success = new ArrayList<Long>(_list360.size);
                for (int _i361 = 0; _i361 < _list360.size; ++_i361)
                {
                  long _elem362; // required
                  _elem362 = iprot.readI64();
                  this.success.add(_elem362);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, this.success.size()));
          for (long _iter363 : this.success)
          {
            oprot.writeI64(_iter363);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getOrderIdsForStatus_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class updateCODAgent_args implements org.apache.thrift.TBase<updateCODAgent_args, updateCODAgent_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateCODAgent_args");

    private static final org.apache.thrift.protocol.TField AGENT_FIELD_DESC = new org.apache.thrift.protocol.TField("agent", org.apache.thrift.protocol.TType.STRING, (short)1);
    private static final org.apache.thrift.protocol.TField ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("orderId", org.apache.thrift.protocol.TType.I64, (short)2);

    private String agent; // required
    private long orderId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      AGENT((short)1, "agent"),
      ORDER_ID((short)2, "orderId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // AGENT
            return AGENT;
          case 2: // ORDER_ID
            return ORDER_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ORDERID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.AGENT, new org.apache.thrift.meta_data.FieldMetaData("agent", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("orderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateCODAgent_args.class, metaDataMap);
    }

    public updateCODAgent_args() {
    }

    public updateCODAgent_args(
      String agent,
      long orderId)
    {
      this();
      this.agent = agent;
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public updateCODAgent_args(updateCODAgent_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      if (other.isSetAgent()) {
        this.agent = other.agent;
      }
      this.orderId = other.orderId;
    }

    public updateCODAgent_args deepCopy() {
      return new updateCODAgent_args(this);
    }

    @Override
    public void clear() {
      this.agent = null;
      setOrderIdIsSet(false);
      this.orderId = 0;
    }

    public String getAgent() {
      return this.agent;
    }

    public void setAgent(String agent) {
      this.agent = agent;
    }

    public void unsetAgent() {
      this.agent = null;
    }

    /** Returns true if field agent is set (has been assigned a value) and false otherwise */
    public boolean isSetAgent() {
      return this.agent != null;
    }

    public void setAgentIsSet(boolean value) {
      if (!value) {
        this.agent = null;
      }
    }

    public long getOrderId() {
      return this.orderId;
    }

    public void setOrderId(long orderId) {
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    public void unsetOrderId() {
      __isset_bit_vector.clear(__ORDERID_ISSET_ID);
    }

    /** Returns true if field orderId is set (has been assigned a value) and false otherwise */
    public boolean isSetOrderId() {
      return __isset_bit_vector.get(__ORDERID_ISSET_ID);
    }

    public void setOrderIdIsSet(boolean value) {
      __isset_bit_vector.set(__ORDERID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case AGENT:
        if (value == null) {
          unsetAgent();
        } else {
          setAgent((String)value);
        }
        break;

      case ORDER_ID:
        if (value == null) {
          unsetOrderId();
        } else {
          setOrderId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case AGENT:
        return getAgent();

      case ORDER_ID:
        return Long.valueOf(getOrderId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case AGENT:
        return isSetAgent();
      case ORDER_ID:
        return isSetOrderId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof updateCODAgent_args)
        return this.equals((updateCODAgent_args)that);
      return false;
    }

    public boolean equals(updateCODAgent_args that) {
      if (that == null)
        return false;

      boolean this_present_agent = true && this.isSetAgent();
      boolean that_present_agent = true && that.isSetAgent();
      if (this_present_agent || that_present_agent) {
        if (!(this_present_agent && that_present_agent))
          return false;
        if (!this.agent.equals(that.agent))
          return false;
      }

      boolean this_present_orderId = true;
      boolean that_present_orderId = true;
      if (this_present_orderId || that_present_orderId) {
        if (!(this_present_orderId && that_present_orderId))
          return false;
        if (this.orderId != that.orderId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(updateCODAgent_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      updateCODAgent_args typedOther = (updateCODAgent_args)other;

      lastComparison = Boolean.valueOf(isSetAgent()).compareTo(typedOther.isSetAgent());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetAgent()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.agent, typedOther.agent);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetOrderId()).compareTo(typedOther.isSetOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.orderId, typedOther.orderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // AGENT
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.agent = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.orderId = iprot.readI64();
              setOrderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.agent != null) {
        oprot.writeFieldBegin(AGENT_FIELD_DESC);
        oprot.writeString(this.agent);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldBegin(ORDER_ID_FIELD_DESC);
      oprot.writeI64(this.orderId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("updateCODAgent_args(");
      boolean first = true;

      sb.append("agent:");
      if (this.agent == null) {
        sb.append("null");
      } else {
        sb.append(this.agent);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("orderId:");
      sb.append(this.orderId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class updateCODAgent_result implements org.apache.thrift.TBase<updateCODAgent_result, updateCODAgent_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateCODAgent_result");

    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateCODAgent_result.class, metaDataMap);
    }

    public updateCODAgent_result() {
    }

    public updateCODAgent_result(
      TransactionServiceException ex)
    {
      this();
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public updateCODAgent_result(updateCODAgent_result other) {
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public updateCODAgent_result deepCopy() {
      return new updateCODAgent_result(this);
    }

    @Override
    public void clear() {
      this.ex = null;
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof updateCODAgent_result)
        return this.equals((updateCODAgent_result)that);
      return false;
    }

    public boolean equals(updateCODAgent_result that) {
      if (that == null)
        return false;

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(updateCODAgent_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      updateCODAgent_result typedOther = (updateCODAgent_result)other;

      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("updateCODAgent_result(");
      boolean first = true;

      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class updateOrderAsPaidToVendor_args implements org.apache.thrift.TBase<updateOrderAsPaidToVendor_args, updateOrderAsPaidToVendor_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateOrderAsPaidToVendor_args");

    private static final org.apache.thrift.protocol.TField ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("orderId", org.apache.thrift.protocol.TType.I64, (short)1);

    private long orderId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ORDER_ID((short)1, "orderId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ORDER_ID
            return ORDER_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ORDERID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("orderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateOrderAsPaidToVendor_args.class, metaDataMap);
    }

    public updateOrderAsPaidToVendor_args() {
    }

    public updateOrderAsPaidToVendor_args(
      long orderId)
    {
      this();
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public updateOrderAsPaidToVendor_args(updateOrderAsPaidToVendor_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.orderId = other.orderId;
    }

    public updateOrderAsPaidToVendor_args deepCopy() {
      return new updateOrderAsPaidToVendor_args(this);
    }

    @Override
    public void clear() {
      setOrderIdIsSet(false);
      this.orderId = 0;
    }

    public long getOrderId() {
      return this.orderId;
    }

    public void setOrderId(long orderId) {
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    public void unsetOrderId() {
      __isset_bit_vector.clear(__ORDERID_ISSET_ID);
    }

    /** Returns true if field orderId is set (has been assigned a value) and false otherwise */
    public boolean isSetOrderId() {
      return __isset_bit_vector.get(__ORDERID_ISSET_ID);
    }

    public void setOrderIdIsSet(boolean value) {
      __isset_bit_vector.set(__ORDERID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ORDER_ID:
        if (value == null) {
          unsetOrderId();
        } else {
          setOrderId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ORDER_ID:
        return Long.valueOf(getOrderId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ORDER_ID:
        return isSetOrderId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof updateOrderAsPaidToVendor_args)
        return this.equals((updateOrderAsPaidToVendor_args)that);
      return false;
    }

    public boolean equals(updateOrderAsPaidToVendor_args that) {
      if (that == null)
        return false;

      boolean this_present_orderId = true;
      boolean that_present_orderId = true;
      if (this_present_orderId || that_present_orderId) {
        if (!(this_present_orderId && that_present_orderId))
          return false;
        if (this.orderId != that.orderId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(updateOrderAsPaidToVendor_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      updateOrderAsPaidToVendor_args typedOther = (updateOrderAsPaidToVendor_args)other;

      lastComparison = Boolean.valueOf(isSetOrderId()).compareTo(typedOther.isSetOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.orderId, typedOther.orderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.orderId = iprot.readI64();
              setOrderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ORDER_ID_FIELD_DESC);
      oprot.writeI64(this.orderId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("updateOrderAsPaidToVendor_args(");
      boolean first = true;

      sb.append("orderId:");
      sb.append(this.orderId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class updateOrderAsPaidToVendor_result implements org.apache.thrift.TBase<updateOrderAsPaidToVendor_result, updateOrderAsPaidToVendor_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateOrderAsPaidToVendor_result");

    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateOrderAsPaidToVendor_result.class, metaDataMap);
    }

    public updateOrderAsPaidToVendor_result() {
    }

    public updateOrderAsPaidToVendor_result(
      TransactionServiceException ex)
    {
      this();
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public updateOrderAsPaidToVendor_result(updateOrderAsPaidToVendor_result other) {
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public updateOrderAsPaidToVendor_result deepCopy() {
      return new updateOrderAsPaidToVendor_result(this);
    }

    @Override
    public void clear() {
      this.ex = null;
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof updateOrderAsPaidToVendor_result)
        return this.equals((updateOrderAsPaidToVendor_result)that);
      return false;
    }

    public boolean equals(updateOrderAsPaidToVendor_result that) {
      if (that == null)
        return false;

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(updateOrderAsPaidToVendor_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      updateOrderAsPaidToVendor_result typedOther = (updateOrderAsPaidToVendor_result)other;

      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("updateOrderAsPaidToVendor_result(");
      boolean first = true;

      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class updateOrderOnlyAsPaidToVendor_args implements org.apache.thrift.TBase<updateOrderOnlyAsPaidToVendor_args, updateOrderOnlyAsPaidToVendor_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateOrderOnlyAsPaidToVendor_args");

    private static final org.apache.thrift.protocol.TField ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("orderId", org.apache.thrift.protocol.TType.I64, (short)1);

    private long orderId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ORDER_ID((short)1, "orderId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ORDER_ID
            return ORDER_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ORDERID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("orderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateOrderOnlyAsPaidToVendor_args.class, metaDataMap);
    }

    public updateOrderOnlyAsPaidToVendor_args() {
    }

    public updateOrderOnlyAsPaidToVendor_args(
      long orderId)
    {
      this();
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public updateOrderOnlyAsPaidToVendor_args(updateOrderOnlyAsPaidToVendor_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.orderId = other.orderId;
    }

    public updateOrderOnlyAsPaidToVendor_args deepCopy() {
      return new updateOrderOnlyAsPaidToVendor_args(this);
    }

    @Override
    public void clear() {
      setOrderIdIsSet(false);
      this.orderId = 0;
    }

    public long getOrderId() {
      return this.orderId;
    }

    public void setOrderId(long orderId) {
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    public void unsetOrderId() {
      __isset_bit_vector.clear(__ORDERID_ISSET_ID);
    }

    /** Returns true if field orderId is set (has been assigned a value) and false otherwise */
    public boolean isSetOrderId() {
      return __isset_bit_vector.get(__ORDERID_ISSET_ID);
    }

    public void setOrderIdIsSet(boolean value) {
      __isset_bit_vector.set(__ORDERID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ORDER_ID:
        if (value == null) {
          unsetOrderId();
        } else {
          setOrderId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ORDER_ID:
        return Long.valueOf(getOrderId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ORDER_ID:
        return isSetOrderId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof updateOrderOnlyAsPaidToVendor_args)
        return this.equals((updateOrderOnlyAsPaidToVendor_args)that);
      return false;
    }

    public boolean equals(updateOrderOnlyAsPaidToVendor_args that) {
      if (that == null)
        return false;

      boolean this_present_orderId = true;
      boolean that_present_orderId = true;
      if (this_present_orderId || that_present_orderId) {
        if (!(this_present_orderId && that_present_orderId))
          return false;
        if (this.orderId != that.orderId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(updateOrderOnlyAsPaidToVendor_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      updateOrderOnlyAsPaidToVendor_args typedOther = (updateOrderOnlyAsPaidToVendor_args)other;

      lastComparison = Boolean.valueOf(isSetOrderId()).compareTo(typedOther.isSetOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.orderId, typedOther.orderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.orderId = iprot.readI64();
              setOrderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ORDER_ID_FIELD_DESC);
      oprot.writeI64(this.orderId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("updateOrderOnlyAsPaidToVendor_args(");
      boolean first = true;

      sb.append("orderId:");
      sb.append(this.orderId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class updateOrderOnlyAsPaidToVendor_result implements org.apache.thrift.TBase<updateOrderOnlyAsPaidToVendor_result, updateOrderOnlyAsPaidToVendor_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateOrderOnlyAsPaidToVendor_result");

    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateOrderOnlyAsPaidToVendor_result.class, metaDataMap);
    }

    public updateOrderOnlyAsPaidToVendor_result() {
    }

    public updateOrderOnlyAsPaidToVendor_result(
      TransactionServiceException ex)
    {
      this();
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public updateOrderOnlyAsPaidToVendor_result(updateOrderOnlyAsPaidToVendor_result other) {
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public updateOrderOnlyAsPaidToVendor_result deepCopy() {
      return new updateOrderOnlyAsPaidToVendor_result(this);
    }

    @Override
    public void clear() {
      this.ex = null;
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof updateOrderOnlyAsPaidToVendor_result)
        return this.equals((updateOrderOnlyAsPaidToVendor_result)that);
      return false;
    }

    public boolean equals(updateOrderOnlyAsPaidToVendor_result that) {
      if (that == null)
        return false;

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(updateOrderOnlyAsPaidToVendor_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      updateOrderOnlyAsPaidToVendor_result typedOther = (updateOrderOnlyAsPaidToVendor_result)other;

      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("updateOrderOnlyAsPaidToVendor_result(");
      boolean first = true;

      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getRefundedOrdersMarkedPaid_args implements org.apache.thrift.TBase<getRefundedOrdersMarkedPaid_args, getRefundedOrdersMarkedPaid_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getRefundedOrdersMarkedPaid_args");



    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
;

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getRefundedOrdersMarkedPaid_args.class, metaDataMap);
    }

    public getRefundedOrdersMarkedPaid_args() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getRefundedOrdersMarkedPaid_args(getRefundedOrdersMarkedPaid_args other) {
    }

    public getRefundedOrdersMarkedPaid_args deepCopy() {
      return new getRefundedOrdersMarkedPaid_args(this);
    }

    @Override
    public void clear() {
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getRefundedOrdersMarkedPaid_args)
        return this.equals((getRefundedOrdersMarkedPaid_args)that);
      return false;
    }

    public boolean equals(getRefundedOrdersMarkedPaid_args that) {
      if (that == null)
        return false;

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getRefundedOrdersMarkedPaid_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getRefundedOrdersMarkedPaid_args typedOther = (getRefundedOrdersMarkedPaid_args)other;

      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getRefundedOrdersMarkedPaid_args(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getRefundedOrdersMarkedPaid_result implements org.apache.thrift.TBase<getRefundedOrdersMarkedPaid_result, getRefundedOrdersMarkedPaid_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getRefundedOrdersMarkedPaid_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private List<Order> success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Order.class))));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getRefundedOrdersMarkedPaid_result.class, metaDataMap);
    }

    public getRefundedOrdersMarkedPaid_result() {
    }

    public getRefundedOrdersMarkedPaid_result(
      List<Order> success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getRefundedOrdersMarkedPaid_result(getRefundedOrdersMarkedPaid_result other) {
      if (other.isSetSuccess()) {
        List<Order> __this__success = new ArrayList<Order>();
        for (Order other_element : other.success) {
          __this__success.add(new Order(other_element));
        }
        this.success = __this__success;
      }
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public getRefundedOrdersMarkedPaid_result deepCopy() {
      return new getRefundedOrdersMarkedPaid_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.ex = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<Order> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(Order elem) {
      if (this.success == null) {
        this.success = new ArrayList<Order>();
      }
      this.success.add(elem);
    }

    public List<Order> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<Order> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<Order>)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getRefundedOrdersMarkedPaid_result)
        return this.equals((getRefundedOrdersMarkedPaid_result)that);
      return false;
    }

    public boolean equals(getRefundedOrdersMarkedPaid_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getRefundedOrdersMarkedPaid_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getRefundedOrdersMarkedPaid_result typedOther = (getRefundedOrdersMarkedPaid_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list364 = iprot.readListBegin();
                this.success = new ArrayList<Order>(_list364.size);
                for (int _i365 = 0; _i365 < _list364.size; ++_i365)
                {
                  Order _elem366; // required
                  _elem366 = new Order();
                  _elem366.read(iprot);
                  this.success.add(_elem366);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (Order _iter367 : this.success)
          {
            _iter367.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getRefundedOrdersMarkedPaid_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getAllVerificationAgents_args implements org.apache.thrift.TBase<getAllVerificationAgents_args, getAllVerificationAgents_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllVerificationAgents_args");

    private static final org.apache.thrift.protocol.TField MIN_ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("minOrderId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField MAX_ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("maxOrderId", org.apache.thrift.protocol.TType.I64, (short)2);

    private long minOrderId; // required
    private long maxOrderId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      MIN_ORDER_ID((short)1, "minOrderId"),
      MAX_ORDER_ID((short)2, "maxOrderId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // MIN_ORDER_ID
            return MIN_ORDER_ID;
          case 2: // MAX_ORDER_ID
            return MAX_ORDER_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __MINORDERID_ISSET_ID = 0;
    private static final int __MAXORDERID_ISSET_ID = 1;
    private BitSet __isset_bit_vector = new BitSet(2);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.MIN_ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("minOrderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.MAX_ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("maxOrderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAllVerificationAgents_args.class, metaDataMap);
    }

    public getAllVerificationAgents_args() {
    }

    public getAllVerificationAgents_args(
      long minOrderId,
      long maxOrderId)
    {
      this();
      this.minOrderId = minOrderId;
      setMinOrderIdIsSet(true);
      this.maxOrderId = maxOrderId;
      setMaxOrderIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getAllVerificationAgents_args(getAllVerificationAgents_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.minOrderId = other.minOrderId;
      this.maxOrderId = other.maxOrderId;
    }

    public getAllVerificationAgents_args deepCopy() {
      return new getAllVerificationAgents_args(this);
    }

    @Override
    public void clear() {
      setMinOrderIdIsSet(false);
      this.minOrderId = 0;
      setMaxOrderIdIsSet(false);
      this.maxOrderId = 0;
    }

    public long getMinOrderId() {
      return this.minOrderId;
    }

    public void setMinOrderId(long minOrderId) {
      this.minOrderId = minOrderId;
      setMinOrderIdIsSet(true);
    }

    public void unsetMinOrderId() {
      __isset_bit_vector.clear(__MINORDERID_ISSET_ID);
    }

    /** Returns true if field minOrderId is set (has been assigned a value) and false otherwise */
    public boolean isSetMinOrderId() {
      return __isset_bit_vector.get(__MINORDERID_ISSET_ID);
    }

    public void setMinOrderIdIsSet(boolean value) {
      __isset_bit_vector.set(__MINORDERID_ISSET_ID, value);
    }

    public long getMaxOrderId() {
      return this.maxOrderId;
    }

    public void setMaxOrderId(long maxOrderId) {
      this.maxOrderId = maxOrderId;
      setMaxOrderIdIsSet(true);
    }

    public void unsetMaxOrderId() {
      __isset_bit_vector.clear(__MAXORDERID_ISSET_ID);
    }

    /** Returns true if field maxOrderId is set (has been assigned a value) and false otherwise */
    public boolean isSetMaxOrderId() {
      return __isset_bit_vector.get(__MAXORDERID_ISSET_ID);
    }

    public void setMaxOrderIdIsSet(boolean value) {
      __isset_bit_vector.set(__MAXORDERID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case MIN_ORDER_ID:
        if (value == null) {
          unsetMinOrderId();
        } else {
          setMinOrderId((Long)value);
        }
        break;

      case MAX_ORDER_ID:
        if (value == null) {
          unsetMaxOrderId();
        } else {
          setMaxOrderId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case MIN_ORDER_ID:
        return Long.valueOf(getMinOrderId());

      case MAX_ORDER_ID:
        return Long.valueOf(getMaxOrderId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case MIN_ORDER_ID:
        return isSetMinOrderId();
      case MAX_ORDER_ID:
        return isSetMaxOrderId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getAllVerificationAgents_args)
        return this.equals((getAllVerificationAgents_args)that);
      return false;
    }

    public boolean equals(getAllVerificationAgents_args that) {
      if (that == null)
        return false;

      boolean this_present_minOrderId = true;
      boolean that_present_minOrderId = true;
      if (this_present_minOrderId || that_present_minOrderId) {
        if (!(this_present_minOrderId && that_present_minOrderId))
          return false;
        if (this.minOrderId != that.minOrderId)
          return false;
      }

      boolean this_present_maxOrderId = true;
      boolean that_present_maxOrderId = true;
      if (this_present_maxOrderId || that_present_maxOrderId) {
        if (!(this_present_maxOrderId && that_present_maxOrderId))
          return false;
        if (this.maxOrderId != that.maxOrderId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getAllVerificationAgents_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getAllVerificationAgents_args typedOther = (getAllVerificationAgents_args)other;

      lastComparison = Boolean.valueOf(isSetMinOrderId()).compareTo(typedOther.isSetMinOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetMinOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.minOrderId, typedOther.minOrderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetMaxOrderId()).compareTo(typedOther.isSetMaxOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetMaxOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.maxOrderId, typedOther.maxOrderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // MIN_ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.minOrderId = iprot.readI64();
              setMinOrderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // MAX_ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.maxOrderId = iprot.readI64();
              setMaxOrderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(MIN_ORDER_ID_FIELD_DESC);
      oprot.writeI64(this.minOrderId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(MAX_ORDER_ID_FIELD_DESC);
      oprot.writeI64(this.maxOrderId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getAllVerificationAgents_args(");
      boolean first = true;

      sb.append("minOrderId:");
      sb.append(this.minOrderId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("maxOrderId:");
      sb.append(this.maxOrderId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getAllVerificationAgents_result implements org.apache.thrift.TBase<getAllVerificationAgents_result, getAllVerificationAgents_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllVerificationAgents_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);

    private List<CODVerificationAgent> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, CODVerificationAgent.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAllVerificationAgents_result.class, metaDataMap);
    }

    public getAllVerificationAgents_result() {
    }

    public getAllVerificationAgents_result(
      List<CODVerificationAgent> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getAllVerificationAgents_result(getAllVerificationAgents_result other) {
      if (other.isSetSuccess()) {
        List<CODVerificationAgent> __this__success = new ArrayList<CODVerificationAgent>();
        for (CODVerificationAgent other_element : other.success) {
          __this__success.add(new CODVerificationAgent(other_element));
        }
        this.success = __this__success;
      }
    }

    public getAllVerificationAgents_result deepCopy() {
      return new getAllVerificationAgents_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<CODVerificationAgent> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(CODVerificationAgent elem) {
      if (this.success == null) {
        this.success = new ArrayList<CODVerificationAgent>();
      }
      this.success.add(elem);
    }

    public List<CODVerificationAgent> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<CODVerificationAgent> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<CODVerificationAgent>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getAllVerificationAgents_result)
        return this.equals((getAllVerificationAgents_result)that);
      return false;
    }

    public boolean equals(getAllVerificationAgents_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getAllVerificationAgents_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getAllVerificationAgents_result typedOther = (getAllVerificationAgents_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list368 = iprot.readListBegin();
                this.success = new ArrayList<CODVerificationAgent>(_list368.size);
                for (int _i369 = 0; _i369 < _list368.size; ++_i369)
                {
                  CODVerificationAgent _elem370; // required
                  _elem370 = new CODVerificationAgent();
                  _elem370.read(iprot);
                  this.success.add(_elem370);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (CODVerificationAgent _iter371 : this.success)
          {
            _iter371.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getAllVerificationAgents_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getAllAttributesForOrderId_args implements org.apache.thrift.TBase<getAllAttributesForOrderId_args, getAllAttributesForOrderId_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllAttributesForOrderId_args");

    private static final org.apache.thrift.protocol.TField ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("orderId", org.apache.thrift.protocol.TType.I64, (short)1);

    private long orderId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ORDER_ID((short)1, "orderId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ORDER_ID
            return ORDER_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ORDERID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("orderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAllAttributesForOrderId_args.class, metaDataMap);
    }

    public getAllAttributesForOrderId_args() {
    }

    public getAllAttributesForOrderId_args(
      long orderId)
    {
      this();
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getAllAttributesForOrderId_args(getAllAttributesForOrderId_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.orderId = other.orderId;
    }

    public getAllAttributesForOrderId_args deepCopy() {
      return new getAllAttributesForOrderId_args(this);
    }

    @Override
    public void clear() {
      setOrderIdIsSet(false);
      this.orderId = 0;
    }

    public long getOrderId() {
      return this.orderId;
    }

    public void setOrderId(long orderId) {
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    public void unsetOrderId() {
      __isset_bit_vector.clear(__ORDERID_ISSET_ID);
    }

    /** Returns true if field orderId is set (has been assigned a value) and false otherwise */
    public boolean isSetOrderId() {
      return __isset_bit_vector.get(__ORDERID_ISSET_ID);
    }

    public void setOrderIdIsSet(boolean value) {
      __isset_bit_vector.set(__ORDERID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ORDER_ID:
        if (value == null) {
          unsetOrderId();
        } else {
          setOrderId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ORDER_ID:
        return Long.valueOf(getOrderId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ORDER_ID:
        return isSetOrderId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getAllAttributesForOrderId_args)
        return this.equals((getAllAttributesForOrderId_args)that);
      return false;
    }

    public boolean equals(getAllAttributesForOrderId_args that) {
      if (that == null)
        return false;

      boolean this_present_orderId = true;
      boolean that_present_orderId = true;
      if (this_present_orderId || that_present_orderId) {
        if (!(this_present_orderId && that_present_orderId))
          return false;
        if (this.orderId != that.orderId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getAllAttributesForOrderId_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getAllAttributesForOrderId_args typedOther = (getAllAttributesForOrderId_args)other;

      lastComparison = Boolean.valueOf(isSetOrderId()).compareTo(typedOther.isSetOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.orderId, typedOther.orderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.orderId = iprot.readI64();
              setOrderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ORDER_ID_FIELD_DESC);
      oprot.writeI64(this.orderId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getAllAttributesForOrderId_args(");
      boolean first = true;

      sb.append("orderId:");
      sb.append(this.orderId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getAllAttributesForOrderId_result implements org.apache.thrift.TBase<getAllAttributesForOrderId_result, getAllAttributesForOrderId_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllAttributesForOrderId_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);

    private List<Attribute> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Attribute.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAllAttributesForOrderId_result.class, metaDataMap);
    }

    public getAllAttributesForOrderId_result() {
    }

    public getAllAttributesForOrderId_result(
      List<Attribute> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getAllAttributesForOrderId_result(getAllAttributesForOrderId_result other) {
      if (other.isSetSuccess()) {
        List<Attribute> __this__success = new ArrayList<Attribute>();
        for (Attribute other_element : other.success) {
          __this__success.add(new Attribute(other_element));
        }
        this.success = __this__success;
      }
    }

    public getAllAttributesForOrderId_result deepCopy() {
      return new getAllAttributesForOrderId_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<Attribute> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(Attribute elem) {
      if (this.success == null) {
        this.success = new ArrayList<Attribute>();
      }
      this.success.add(elem);
    }

    public List<Attribute> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<Attribute> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<Attribute>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getAllAttributesForOrderId_result)
        return this.equals((getAllAttributesForOrderId_result)that);
      return false;
    }

    public boolean equals(getAllAttributesForOrderId_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getAllAttributesForOrderId_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getAllAttributesForOrderId_result typedOther = (getAllAttributesForOrderId_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list372 = iprot.readListBegin();
                this.success = new ArrayList<Attribute>(_list372.size);
                for (int _i373 = 0; _i373 < _list372.size; ++_i373)
                {
                  Attribute _elem374; // required
                  _elem374 = new Attribute();
                  _elem374.read(iprot);
                  this.success.add(_elem374);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (Attribute _iter375 : this.success)
          {
            _iter375.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getAllAttributesForOrderId_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class setOrderAttributes_args implements org.apache.thrift.TBase<setOrderAttributes_args, setOrderAttributes_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("setOrderAttributes_args");

    private static final org.apache.thrift.protocol.TField ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("orderId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField ATTRIBUTES_FIELD_DESC = new org.apache.thrift.protocol.TField("attributes", org.apache.thrift.protocol.TType.LIST, (short)-1);

    private long orderId; // required
    private List<Attribute> attributes; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ORDER_ID((short)1, "orderId"),
      ATTRIBUTES((short)-1, "attributes");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ORDER_ID
            return ORDER_ID;
          case -1: // ATTRIBUTES
            return ATTRIBUTES;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ORDERID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("orderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.ATTRIBUTES, new org.apache.thrift.meta_data.FieldMetaData("attributes", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Attribute.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(setOrderAttributes_args.class, metaDataMap);
    }

    public setOrderAttributes_args() {
    }

    public setOrderAttributes_args(
      long orderId,
      List<Attribute> attributes)
    {
      this();
      this.orderId = orderId;
      setOrderIdIsSet(true);
      this.attributes = attributes;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public setOrderAttributes_args(setOrderAttributes_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.orderId = other.orderId;
      if (other.isSetAttributes()) {
        List<Attribute> __this__attributes = new ArrayList<Attribute>();
        for (Attribute other_element : other.attributes) {
          __this__attributes.add(new Attribute(other_element));
        }
        this.attributes = __this__attributes;
      }
    }

    public setOrderAttributes_args deepCopy() {
      return new setOrderAttributes_args(this);
    }

    @Override
    public void clear() {
      setOrderIdIsSet(false);
      this.orderId = 0;
      this.attributes = null;
    }

    public long getOrderId() {
      return this.orderId;
    }

    public void setOrderId(long orderId) {
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    public void unsetOrderId() {
      __isset_bit_vector.clear(__ORDERID_ISSET_ID);
    }

    /** Returns true if field orderId is set (has been assigned a value) and false otherwise */
    public boolean isSetOrderId() {
      return __isset_bit_vector.get(__ORDERID_ISSET_ID);
    }

    public void setOrderIdIsSet(boolean value) {
      __isset_bit_vector.set(__ORDERID_ISSET_ID, value);
    }

    public int getAttributesSize() {
      return (this.attributes == null) ? 0 : this.attributes.size();
    }

    public java.util.Iterator<Attribute> getAttributesIterator() {
      return (this.attributes == null) ? null : this.attributes.iterator();
    }

    public void addToAttributes(Attribute elem) {
      if (this.attributes == null) {
        this.attributes = new ArrayList<Attribute>();
      }
      this.attributes.add(elem);
    }

    public List<Attribute> getAttributes() {
      return this.attributes;
    }

    public void setAttributes(List<Attribute> attributes) {
      this.attributes = attributes;
    }

    public void unsetAttributes() {
      this.attributes = null;
    }

    /** Returns true if field attributes is set (has been assigned a value) and false otherwise */
    public boolean isSetAttributes() {
      return this.attributes != null;
    }

    public void setAttributesIsSet(boolean value) {
      if (!value) {
        this.attributes = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ORDER_ID:
        if (value == null) {
          unsetOrderId();
        } else {
          setOrderId((Long)value);
        }
        break;

      case ATTRIBUTES:
        if (value == null) {
          unsetAttributes();
        } else {
          setAttributes((List<Attribute>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ORDER_ID:
        return Long.valueOf(getOrderId());

      case ATTRIBUTES:
        return getAttributes();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ORDER_ID:
        return isSetOrderId();
      case ATTRIBUTES:
        return isSetAttributes();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof setOrderAttributes_args)
        return this.equals((setOrderAttributes_args)that);
      return false;
    }

    public boolean equals(setOrderAttributes_args that) {
      if (that == null)
        return false;

      boolean this_present_orderId = true;
      boolean that_present_orderId = true;
      if (this_present_orderId || that_present_orderId) {
        if (!(this_present_orderId && that_present_orderId))
          return false;
        if (this.orderId != that.orderId)
          return false;
      }

      boolean this_present_attributes = true && this.isSetAttributes();
      boolean that_present_attributes = true && that.isSetAttributes();
      if (this_present_attributes || that_present_attributes) {
        if (!(this_present_attributes && that_present_attributes))
          return false;
        if (!this.attributes.equals(that.attributes))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(setOrderAttributes_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      setOrderAttributes_args typedOther = (setOrderAttributes_args)other;

      lastComparison = Boolean.valueOf(isSetOrderId()).compareTo(typedOther.isSetOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.orderId, typedOther.orderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetAttributes()).compareTo(typedOther.isSetAttributes());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetAttributes()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.attributes, typedOther.attributes);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.orderId = iprot.readI64();
              setOrderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case -1: // ATTRIBUTES
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list376 = iprot.readListBegin();
                this.attributes = new ArrayList<Attribute>(_list376.size);
                for (int _i377 = 0; _i377 < _list376.size; ++_i377)
                {
                  Attribute _elem378; // required
                  _elem378 = new Attribute();
                  _elem378.read(iprot);
                  this.attributes.add(_elem378);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.attributes != null) {
        oprot.writeFieldBegin(ATTRIBUTES_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.attributes.size()));
          for (Attribute _iter379 : this.attributes)
          {
            _iter379.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldBegin(ORDER_ID_FIELD_DESC);
      oprot.writeI64(this.orderId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("setOrderAttributes_args(");
      boolean first = true;

      sb.append("orderId:");
      sb.append(this.orderId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("attributes:");
      if (this.attributes == null) {
        sb.append("null");
      } else {
        sb.append(this.attributes);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class setOrderAttributes_result implements org.apache.thrift.TBase<setOrderAttributes_result, setOrderAttributes_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("setOrderAttributes_result");



    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
;

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(setOrderAttributes_result.class, metaDataMap);
    }

    public setOrderAttributes_result() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public setOrderAttributes_result(setOrderAttributes_result other) {
    }

    public setOrderAttributes_result deepCopy() {
      return new setOrderAttributes_result(this);
    }

    @Override
    public void clear() {
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof setOrderAttributes_result)
        return this.equals((setOrderAttributes_result)that);
      return false;
    }

    public boolean equals(setOrderAttributes_result that) {
      if (that == null)
        return false;

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(setOrderAttributes_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      setOrderAttributes_result typedOther = (setOrderAttributes_result)other;

      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("setOrderAttributes_result(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class setOrderAttributeForTransaction_args implements org.apache.thrift.TBase<setOrderAttributeForTransaction_args, setOrderAttributeForTransaction_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("setOrderAttributeForTransaction_args");

    private static final org.apache.thrift.protocol.TField TRANSACTION_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("transactionId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField ATTRIBUTE_FIELD_DESC = new org.apache.thrift.protocol.TField("attribute", org.apache.thrift.protocol.TType.STRUCT, (short)-1);

    private long transactionId; // required
    private Attribute attribute; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      TRANSACTION_ID((short)1, "transactionId"),
      ATTRIBUTE((short)-1, "attribute");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // TRANSACTION_ID
            return TRANSACTION_ID;
          case -1: // ATTRIBUTE
            return ATTRIBUTE;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __TRANSACTIONID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.TRANSACTION_ID, new org.apache.thrift.meta_data.FieldMetaData("transactionId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.ATTRIBUTE, new org.apache.thrift.meta_data.FieldMetaData("attribute", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Attribute.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(setOrderAttributeForTransaction_args.class, metaDataMap);
    }

    public setOrderAttributeForTransaction_args() {
    }

    public setOrderAttributeForTransaction_args(
      long transactionId,
      Attribute attribute)
    {
      this();
      this.transactionId = transactionId;
      setTransactionIdIsSet(true);
      this.attribute = attribute;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public setOrderAttributeForTransaction_args(setOrderAttributeForTransaction_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.transactionId = other.transactionId;
      if (other.isSetAttribute()) {
        this.attribute = new Attribute(other.attribute);
      }
    }

    public setOrderAttributeForTransaction_args deepCopy() {
      return new setOrderAttributeForTransaction_args(this);
    }

    @Override
    public void clear() {
      setTransactionIdIsSet(false);
      this.transactionId = 0;
      this.attribute = null;
    }

    public long getTransactionId() {
      return this.transactionId;
    }

    public void setTransactionId(long transactionId) {
      this.transactionId = transactionId;
      setTransactionIdIsSet(true);
    }

    public void unsetTransactionId() {
      __isset_bit_vector.clear(__TRANSACTIONID_ISSET_ID);
    }

    /** Returns true if field transactionId is set (has been assigned a value) and false otherwise */
    public boolean isSetTransactionId() {
      return __isset_bit_vector.get(__TRANSACTIONID_ISSET_ID);
    }

    public void setTransactionIdIsSet(boolean value) {
      __isset_bit_vector.set(__TRANSACTIONID_ISSET_ID, value);
    }

    public Attribute getAttribute() {
      return this.attribute;
    }

    public void setAttribute(Attribute attribute) {
      this.attribute = attribute;
    }

    public void unsetAttribute() {
      this.attribute = null;
    }

    /** Returns true if field attribute is set (has been assigned a value) and false otherwise */
    public boolean isSetAttribute() {
      return this.attribute != null;
    }

    public void setAttributeIsSet(boolean value) {
      if (!value) {
        this.attribute = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case TRANSACTION_ID:
        if (value == null) {
          unsetTransactionId();
        } else {
          setTransactionId((Long)value);
        }
        break;

      case ATTRIBUTE:
        if (value == null) {
          unsetAttribute();
        } else {
          setAttribute((Attribute)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case TRANSACTION_ID:
        return Long.valueOf(getTransactionId());

      case ATTRIBUTE:
        return getAttribute();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case TRANSACTION_ID:
        return isSetTransactionId();
      case ATTRIBUTE:
        return isSetAttribute();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof setOrderAttributeForTransaction_args)
        return this.equals((setOrderAttributeForTransaction_args)that);
      return false;
    }

    public boolean equals(setOrderAttributeForTransaction_args that) {
      if (that == null)
        return false;

      boolean this_present_transactionId = true;
      boolean that_present_transactionId = true;
      if (this_present_transactionId || that_present_transactionId) {
        if (!(this_present_transactionId && that_present_transactionId))
          return false;
        if (this.transactionId != that.transactionId)
          return false;
      }

      boolean this_present_attribute = true && this.isSetAttribute();
      boolean that_present_attribute = true && that.isSetAttribute();
      if (this_present_attribute || that_present_attribute) {
        if (!(this_present_attribute && that_present_attribute))
          return false;
        if (!this.attribute.equals(that.attribute))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(setOrderAttributeForTransaction_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      setOrderAttributeForTransaction_args typedOther = (setOrderAttributeForTransaction_args)other;

      lastComparison = Boolean.valueOf(isSetTransactionId()).compareTo(typedOther.isSetTransactionId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetTransactionId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.transactionId, typedOther.transactionId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetAttribute()).compareTo(typedOther.isSetAttribute());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetAttribute()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.attribute, typedOther.attribute);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // TRANSACTION_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.transactionId = iprot.readI64();
              setTransactionIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case -1: // ATTRIBUTE
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.attribute = new Attribute();
              this.attribute.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.attribute != null) {
        oprot.writeFieldBegin(ATTRIBUTE_FIELD_DESC);
        this.attribute.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldBegin(TRANSACTION_ID_FIELD_DESC);
      oprot.writeI64(this.transactionId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("setOrderAttributeForTransaction_args(");
      boolean first = true;

      sb.append("transactionId:");
      sb.append(this.transactionId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("attribute:");
      if (this.attribute == null) {
        sb.append("null");
      } else {
        sb.append(this.attribute);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class setOrderAttributeForTransaction_result implements org.apache.thrift.TBase<setOrderAttributeForTransaction_result, setOrderAttributeForTransaction_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("setOrderAttributeForTransaction_result");



    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
;

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(setOrderAttributeForTransaction_result.class, metaDataMap);
    }

    public setOrderAttributeForTransaction_result() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public setOrderAttributeForTransaction_result(setOrderAttributeForTransaction_result other) {
    }

    public setOrderAttributeForTransaction_result deepCopy() {
      return new setOrderAttributeForTransaction_result(this);
    }

    @Override
    public void clear() {
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof setOrderAttributeForTransaction_result)
        return this.equals((setOrderAttributeForTransaction_result)that);
      return false;
    }

    public boolean equals(setOrderAttributeForTransaction_result that) {
      if (that == null)
        return false;

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(setOrderAttributeForTransaction_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      setOrderAttributeForTransaction_result typedOther = (setOrderAttributeForTransaction_result)other;

      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("setOrderAttributeForTransaction_result(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getReceivePendingOrders_args implements org.apache.thrift.TBase<getReceivePendingOrders_args, getReceivePendingOrders_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getReceivePendingOrders_args");

    private static final org.apache.thrift.protocol.TField STORE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("storeId", org.apache.thrift.protocol.TType.I64, (short)1);

    private long storeId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      STORE_ID((short)1, "storeId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // STORE_ID
            return STORE_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __STOREID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.STORE_ID, new org.apache.thrift.meta_data.FieldMetaData("storeId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getReceivePendingOrders_args.class, metaDataMap);
    }

    public getReceivePendingOrders_args() {
    }

    public getReceivePendingOrders_args(
      long storeId)
    {
      this();
      this.storeId = storeId;
      setStoreIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getReceivePendingOrders_args(getReceivePendingOrders_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.storeId = other.storeId;
    }

    public getReceivePendingOrders_args deepCopy() {
      return new getReceivePendingOrders_args(this);
    }

    @Override
    public void clear() {
      setStoreIdIsSet(false);
      this.storeId = 0;
    }

    public long getStoreId() {
      return this.storeId;
    }

    public void setStoreId(long storeId) {
      this.storeId = storeId;
      setStoreIdIsSet(true);
    }

    public void unsetStoreId() {
      __isset_bit_vector.clear(__STOREID_ISSET_ID);
    }

    /** Returns true if field storeId is set (has been assigned a value) and false otherwise */
    public boolean isSetStoreId() {
      return __isset_bit_vector.get(__STOREID_ISSET_ID);
    }

    public void setStoreIdIsSet(boolean value) {
      __isset_bit_vector.set(__STOREID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case STORE_ID:
        if (value == null) {
          unsetStoreId();
        } else {
          setStoreId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case STORE_ID:
        return Long.valueOf(getStoreId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case STORE_ID:
        return isSetStoreId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getReceivePendingOrders_args)
        return this.equals((getReceivePendingOrders_args)that);
      return false;
    }

    public boolean equals(getReceivePendingOrders_args that) {
      if (that == null)
        return false;

      boolean this_present_storeId = true;
      boolean that_present_storeId = true;
      if (this_present_storeId || that_present_storeId) {
        if (!(this_present_storeId && that_present_storeId))
          return false;
        if (this.storeId != that.storeId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getReceivePendingOrders_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getReceivePendingOrders_args typedOther = (getReceivePendingOrders_args)other;

      lastComparison = Boolean.valueOf(isSetStoreId()).compareTo(typedOther.isSetStoreId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetStoreId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.storeId, typedOther.storeId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // STORE_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.storeId = iprot.readI64();
              setStoreIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(STORE_ID_FIELD_DESC);
      oprot.writeI64(this.storeId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getReceivePendingOrders_args(");
      boolean first = true;

      sb.append("storeId:");
      sb.append(this.storeId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getReceivePendingOrders_result implements org.apache.thrift.TBase<getReceivePendingOrders_result, getReceivePendingOrders_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getReceivePendingOrders_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);

    private List<Order> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Order.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getReceivePendingOrders_result.class, metaDataMap);
    }

    public getReceivePendingOrders_result() {
    }

    public getReceivePendingOrders_result(
      List<Order> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getReceivePendingOrders_result(getReceivePendingOrders_result other) {
      if (other.isSetSuccess()) {
        List<Order> __this__success = new ArrayList<Order>();
        for (Order other_element : other.success) {
          __this__success.add(new Order(other_element));
        }
        this.success = __this__success;
      }
    }

    public getReceivePendingOrders_result deepCopy() {
      return new getReceivePendingOrders_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<Order> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(Order elem) {
      if (this.success == null) {
        this.success = new ArrayList<Order>();
      }
      this.success.add(elem);
    }

    public List<Order> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<Order> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<Order>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getReceivePendingOrders_result)
        return this.equals((getReceivePendingOrders_result)that);
      return false;
    }

    public boolean equals(getReceivePendingOrders_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getReceivePendingOrders_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getReceivePendingOrders_result typedOther = (getReceivePendingOrders_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list380 = iprot.readListBegin();
                this.success = new ArrayList<Order>(_list380.size);
                for (int _i381 = 0; _i381 < _list380.size; ++_i381)
                {
                  Order _elem382; // required
                  _elem382 = new Order();
                  _elem382.read(iprot);
                  this.success.add(_elem382);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (Order _iter383 : this.success)
          {
            _iter383.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getReceivePendingOrders_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getReceivedAtStoreOrders_args implements org.apache.thrift.TBase<getReceivedAtStoreOrders_args, getReceivedAtStoreOrders_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getReceivedAtStoreOrders_args");

    private static final org.apache.thrift.protocol.TField STORE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("storeId", org.apache.thrift.protocol.TType.I64, (short)1);

    private long storeId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      STORE_ID((short)1, "storeId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // STORE_ID
            return STORE_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __STOREID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.STORE_ID, new org.apache.thrift.meta_data.FieldMetaData("storeId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getReceivedAtStoreOrders_args.class, metaDataMap);
    }

    public getReceivedAtStoreOrders_args() {
    }

    public getReceivedAtStoreOrders_args(
      long storeId)
    {
      this();
      this.storeId = storeId;
      setStoreIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getReceivedAtStoreOrders_args(getReceivedAtStoreOrders_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.storeId = other.storeId;
    }

    public getReceivedAtStoreOrders_args deepCopy() {
      return new getReceivedAtStoreOrders_args(this);
    }

    @Override
    public void clear() {
      setStoreIdIsSet(false);
      this.storeId = 0;
    }

    public long getStoreId() {
      return this.storeId;
    }

    public void setStoreId(long storeId) {
      this.storeId = storeId;
      setStoreIdIsSet(true);
    }

    public void unsetStoreId() {
      __isset_bit_vector.clear(__STOREID_ISSET_ID);
    }

    /** Returns true if field storeId is set (has been assigned a value) and false otherwise */
    public boolean isSetStoreId() {
      return __isset_bit_vector.get(__STOREID_ISSET_ID);
    }

    public void setStoreIdIsSet(boolean value) {
      __isset_bit_vector.set(__STOREID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case STORE_ID:
        if (value == null) {
          unsetStoreId();
        } else {
          setStoreId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case STORE_ID:
        return Long.valueOf(getStoreId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case STORE_ID:
        return isSetStoreId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getReceivedAtStoreOrders_args)
        return this.equals((getReceivedAtStoreOrders_args)that);
      return false;
    }

    public boolean equals(getReceivedAtStoreOrders_args that) {
      if (that == null)
        return false;

      boolean this_present_storeId = true;
      boolean that_present_storeId = true;
      if (this_present_storeId || that_present_storeId) {
        if (!(this_present_storeId && that_present_storeId))
          return false;
        if (this.storeId != that.storeId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getReceivedAtStoreOrders_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getReceivedAtStoreOrders_args typedOther = (getReceivedAtStoreOrders_args)other;

      lastComparison = Boolean.valueOf(isSetStoreId()).compareTo(typedOther.isSetStoreId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetStoreId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.storeId, typedOther.storeId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // STORE_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.storeId = iprot.readI64();
              setStoreIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(STORE_ID_FIELD_DESC);
      oprot.writeI64(this.storeId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getReceivedAtStoreOrders_args(");
      boolean first = true;

      sb.append("storeId:");
      sb.append(this.storeId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getReceivedAtStoreOrders_result implements org.apache.thrift.TBase<getReceivedAtStoreOrders_result, getReceivedAtStoreOrders_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getReceivedAtStoreOrders_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);

    private List<Order> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Order.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getReceivedAtStoreOrders_result.class, metaDataMap);
    }

    public getReceivedAtStoreOrders_result() {
    }

    public getReceivedAtStoreOrders_result(
      List<Order> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getReceivedAtStoreOrders_result(getReceivedAtStoreOrders_result other) {
      if (other.isSetSuccess()) {
        List<Order> __this__success = new ArrayList<Order>();
        for (Order other_element : other.success) {
          __this__success.add(new Order(other_element));
        }
        this.success = __this__success;
      }
    }

    public getReceivedAtStoreOrders_result deepCopy() {
      return new getReceivedAtStoreOrders_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<Order> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(Order elem) {
      if (this.success == null) {
        this.success = new ArrayList<Order>();
      }
      this.success.add(elem);
    }

    public List<Order> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<Order> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<Order>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getReceivedAtStoreOrders_result)
        return this.equals((getReceivedAtStoreOrders_result)that);
      return false;
    }

    public boolean equals(getReceivedAtStoreOrders_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getReceivedAtStoreOrders_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getReceivedAtStoreOrders_result typedOther = (getReceivedAtStoreOrders_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list384 = iprot.readListBegin();
                this.success = new ArrayList<Order>(_list384.size);
                for (int _i385 = 0; _i385 < _list384.size; ++_i385)
                {
                  Order _elem386; // required
                  _elem386 = new Order();
                  _elem386.read(iprot);
                  this.success.add(_elem386);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (Order _iter387 : this.success)
          {
            _iter387.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getReceivedAtStoreOrders_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getOrdersCollectionAtStore_args implements org.apache.thrift.TBase<getOrdersCollectionAtStore_args, getOrdersCollectionAtStore_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getOrdersCollectionAtStore_args");

    private static final org.apache.thrift.protocol.TField STORE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("storeId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField FROM_DATE_FIELD_DESC = new org.apache.thrift.protocol.TField("fromDate", org.apache.thrift.protocol.TType.I64, (short)2);
    private static final org.apache.thrift.protocol.TField TO_DATE_FIELD_DESC = new org.apache.thrift.protocol.TField("toDate", org.apache.thrift.protocol.TType.I64, (short)3);
    private static final org.apache.thrift.protocol.TField ONLY_COD_FIELD_DESC = new org.apache.thrift.protocol.TField("onlyCod", org.apache.thrift.protocol.TType.BOOL, (short)4);

    private long storeId; // required
    private long fromDate; // required
    private long toDate; // required
    private boolean onlyCod; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      STORE_ID((short)1, "storeId"),
      FROM_DATE((short)2, "fromDate"),
      TO_DATE((short)3, "toDate"),
      ONLY_COD((short)4, "onlyCod");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // STORE_ID
            return STORE_ID;
          case 2: // FROM_DATE
            return FROM_DATE;
          case 3: // TO_DATE
            return TO_DATE;
          case 4: // ONLY_COD
            return ONLY_COD;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __STOREID_ISSET_ID = 0;
    private static final int __FROMDATE_ISSET_ID = 1;
    private static final int __TODATE_ISSET_ID = 2;
    private static final int __ONLYCOD_ISSET_ID = 3;
    private BitSet __isset_bit_vector = new BitSet(4);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.STORE_ID, new org.apache.thrift.meta_data.FieldMetaData("storeId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.FROM_DATE, new org.apache.thrift.meta_data.FieldMetaData("fromDate", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.TO_DATE, new org.apache.thrift.meta_data.FieldMetaData("toDate", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.ONLY_COD, new org.apache.thrift.meta_data.FieldMetaData("onlyCod", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getOrdersCollectionAtStore_args.class, metaDataMap);
    }

    public getOrdersCollectionAtStore_args() {
    }

    public getOrdersCollectionAtStore_args(
      long storeId,
      long fromDate,
      long toDate,
      boolean onlyCod)
    {
      this();
      this.storeId = storeId;
      setStoreIdIsSet(true);
      this.fromDate = fromDate;
      setFromDateIsSet(true);
      this.toDate = toDate;
      setToDateIsSet(true);
      this.onlyCod = onlyCod;
      setOnlyCodIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getOrdersCollectionAtStore_args(getOrdersCollectionAtStore_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.storeId = other.storeId;
      this.fromDate = other.fromDate;
      this.toDate = other.toDate;
      this.onlyCod = other.onlyCod;
    }

    public getOrdersCollectionAtStore_args deepCopy() {
      return new getOrdersCollectionAtStore_args(this);
    }

    @Override
    public void clear() {
      setStoreIdIsSet(false);
      this.storeId = 0;
      setFromDateIsSet(false);
      this.fromDate = 0;
      setToDateIsSet(false);
      this.toDate = 0;
      setOnlyCodIsSet(false);
      this.onlyCod = false;
    }

    public long getStoreId() {
      return this.storeId;
    }

    public void setStoreId(long storeId) {
      this.storeId = storeId;
      setStoreIdIsSet(true);
    }

    public void unsetStoreId() {
      __isset_bit_vector.clear(__STOREID_ISSET_ID);
    }

    /** Returns true if field storeId is set (has been assigned a value) and false otherwise */
    public boolean isSetStoreId() {
      return __isset_bit_vector.get(__STOREID_ISSET_ID);
    }

    public void setStoreIdIsSet(boolean value) {
      __isset_bit_vector.set(__STOREID_ISSET_ID, value);
    }

    public long getFromDate() {
      return this.fromDate;
    }

    public void setFromDate(long fromDate) {
      this.fromDate = fromDate;
      setFromDateIsSet(true);
    }

    public void unsetFromDate() {
      __isset_bit_vector.clear(__FROMDATE_ISSET_ID);
    }

    /** Returns true if field fromDate is set (has been assigned a value) and false otherwise */
    public boolean isSetFromDate() {
      return __isset_bit_vector.get(__FROMDATE_ISSET_ID);
    }

    public void setFromDateIsSet(boolean value) {
      __isset_bit_vector.set(__FROMDATE_ISSET_ID, value);
    }

    public long getToDate() {
      return this.toDate;
    }

    public void setToDate(long toDate) {
      this.toDate = toDate;
      setToDateIsSet(true);
    }

    public void unsetToDate() {
      __isset_bit_vector.clear(__TODATE_ISSET_ID);
    }

    /** Returns true if field toDate is set (has been assigned a value) and false otherwise */
    public boolean isSetToDate() {
      return __isset_bit_vector.get(__TODATE_ISSET_ID);
    }

    public void setToDateIsSet(boolean value) {
      __isset_bit_vector.set(__TODATE_ISSET_ID, value);
    }

    public boolean isOnlyCod() {
      return this.onlyCod;
    }

    public void setOnlyCod(boolean onlyCod) {
      this.onlyCod = onlyCod;
      setOnlyCodIsSet(true);
    }

    public void unsetOnlyCod() {
      __isset_bit_vector.clear(__ONLYCOD_ISSET_ID);
    }

    /** Returns true if field onlyCod is set (has been assigned a value) and false otherwise */
    public boolean isSetOnlyCod() {
      return __isset_bit_vector.get(__ONLYCOD_ISSET_ID);
    }

    public void setOnlyCodIsSet(boolean value) {
      __isset_bit_vector.set(__ONLYCOD_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case STORE_ID:
        if (value == null) {
          unsetStoreId();
        } else {
          setStoreId((Long)value);
        }
        break;

      case FROM_DATE:
        if (value == null) {
          unsetFromDate();
        } else {
          setFromDate((Long)value);
        }
        break;

      case TO_DATE:
        if (value == null) {
          unsetToDate();
        } else {
          setToDate((Long)value);
        }
        break;

      case ONLY_COD:
        if (value == null) {
          unsetOnlyCod();
        } else {
          setOnlyCod((Boolean)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case STORE_ID:
        return Long.valueOf(getStoreId());

      case FROM_DATE:
        return Long.valueOf(getFromDate());

      case TO_DATE:
        return Long.valueOf(getToDate());

      case ONLY_COD:
        return Boolean.valueOf(isOnlyCod());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case STORE_ID:
        return isSetStoreId();
      case FROM_DATE:
        return isSetFromDate();
      case TO_DATE:
        return isSetToDate();
      case ONLY_COD:
        return isSetOnlyCod();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getOrdersCollectionAtStore_args)
        return this.equals((getOrdersCollectionAtStore_args)that);
      return false;
    }

    public boolean equals(getOrdersCollectionAtStore_args that) {
      if (that == null)
        return false;

      boolean this_present_storeId = true;
      boolean that_present_storeId = true;
      if (this_present_storeId || that_present_storeId) {
        if (!(this_present_storeId && that_present_storeId))
          return false;
        if (this.storeId != that.storeId)
          return false;
      }

      boolean this_present_fromDate = true;
      boolean that_present_fromDate = true;
      if (this_present_fromDate || that_present_fromDate) {
        if (!(this_present_fromDate && that_present_fromDate))
          return false;
        if (this.fromDate != that.fromDate)
          return false;
      }

      boolean this_present_toDate = true;
      boolean that_present_toDate = true;
      if (this_present_toDate || that_present_toDate) {
        if (!(this_present_toDate && that_present_toDate))
          return false;
        if (this.toDate != that.toDate)
          return false;
      }

      boolean this_present_onlyCod = true;
      boolean that_present_onlyCod = true;
      if (this_present_onlyCod || that_present_onlyCod) {
        if (!(this_present_onlyCod && that_present_onlyCod))
          return false;
        if (this.onlyCod != that.onlyCod)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getOrdersCollectionAtStore_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getOrdersCollectionAtStore_args typedOther = (getOrdersCollectionAtStore_args)other;

      lastComparison = Boolean.valueOf(isSetStoreId()).compareTo(typedOther.isSetStoreId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetStoreId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.storeId, typedOther.storeId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetFromDate()).compareTo(typedOther.isSetFromDate());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetFromDate()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.fromDate, typedOther.fromDate);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetToDate()).compareTo(typedOther.isSetToDate());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetToDate()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.toDate, typedOther.toDate);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetOnlyCod()).compareTo(typedOther.isSetOnlyCod());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOnlyCod()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.onlyCod, typedOther.onlyCod);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // STORE_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.storeId = iprot.readI64();
              setStoreIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // FROM_DATE
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.fromDate = iprot.readI64();
              setFromDateIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // TO_DATE
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.toDate = iprot.readI64();
              setToDateIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 4: // ONLY_COD
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.onlyCod = iprot.readBool();
              setOnlyCodIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(STORE_ID_FIELD_DESC);
      oprot.writeI64(this.storeId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(FROM_DATE_FIELD_DESC);
      oprot.writeI64(this.fromDate);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(TO_DATE_FIELD_DESC);
      oprot.writeI64(this.toDate);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(ONLY_COD_FIELD_DESC);
      oprot.writeBool(this.onlyCod);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getOrdersCollectionAtStore_args(");
      boolean first = true;

      sb.append("storeId:");
      sb.append(this.storeId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("fromDate:");
      sb.append(this.fromDate);
      first = false;
      if (!first) sb.append(", ");
      sb.append("toDate:");
      sb.append(this.toDate);
      first = false;
      if (!first) sb.append(", ");
      sb.append("onlyCod:");
      sb.append(this.onlyCod);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getOrdersCollectionAtStore_result implements org.apache.thrift.TBase<getOrdersCollectionAtStore_result, getOrdersCollectionAtStore_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getOrdersCollectionAtStore_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);

    private List<Order> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Order.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getOrdersCollectionAtStore_result.class, metaDataMap);
    }

    public getOrdersCollectionAtStore_result() {
    }

    public getOrdersCollectionAtStore_result(
      List<Order> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getOrdersCollectionAtStore_result(getOrdersCollectionAtStore_result other) {
      if (other.isSetSuccess()) {
        List<Order> __this__success = new ArrayList<Order>();
        for (Order other_element : other.success) {
          __this__success.add(new Order(other_element));
        }
        this.success = __this__success;
      }
    }

    public getOrdersCollectionAtStore_result deepCopy() {
      return new getOrdersCollectionAtStore_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<Order> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(Order elem) {
      if (this.success == null) {
        this.success = new ArrayList<Order>();
      }
      this.success.add(elem);
    }

    public List<Order> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<Order> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<Order>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getOrdersCollectionAtStore_result)
        return this.equals((getOrdersCollectionAtStore_result)that);
      return false;
    }

    public boolean equals(getOrdersCollectionAtStore_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getOrdersCollectionAtStore_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getOrdersCollectionAtStore_result typedOther = (getOrdersCollectionAtStore_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list388 = iprot.readListBegin();
                this.success = new ArrayList<Order>(_list388.size);
                for (int _i389 = 0; _i389 < _list388.size; ++_i389)
                {
                  Order _elem390; // required
                  _elem390 = new Order();
                  _elem390.read(iprot);
                  this.success.add(_elem390);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (Order _iter391 : this.success)
          {
            _iter391.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getOrdersCollectionAtStore_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getOrderAttributeValue_args implements org.apache.thrift.TBase<getOrderAttributeValue_args, getOrderAttributeValue_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getOrderAttributeValue_args");

    private static final org.apache.thrift.protocol.TField ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("orderId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField ATTRIBUTE_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("attributeName", org.apache.thrift.protocol.TType.STRING, (short)-1);

    private long orderId; // required
    private String attributeName; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ORDER_ID((short)1, "orderId"),
      ATTRIBUTE_NAME((short)-1, "attributeName");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ORDER_ID
            return ORDER_ID;
          case -1: // ATTRIBUTE_NAME
            return ATTRIBUTE_NAME;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ORDERID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("orderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.ATTRIBUTE_NAME, new org.apache.thrift.meta_data.FieldMetaData("attributeName", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getOrderAttributeValue_args.class, metaDataMap);
    }

    public getOrderAttributeValue_args() {
    }

    public getOrderAttributeValue_args(
      long orderId,
      String attributeName)
    {
      this();
      this.orderId = orderId;
      setOrderIdIsSet(true);
      this.attributeName = attributeName;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getOrderAttributeValue_args(getOrderAttributeValue_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.orderId = other.orderId;
      if (other.isSetAttributeName()) {
        this.attributeName = other.attributeName;
      }
    }

    public getOrderAttributeValue_args deepCopy() {
      return new getOrderAttributeValue_args(this);
    }

    @Override
    public void clear() {
      setOrderIdIsSet(false);
      this.orderId = 0;
      this.attributeName = null;
    }

    public long getOrderId() {
      return this.orderId;
    }

    public void setOrderId(long orderId) {
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    public void unsetOrderId() {
      __isset_bit_vector.clear(__ORDERID_ISSET_ID);
    }

    /** Returns true if field orderId is set (has been assigned a value) and false otherwise */
    public boolean isSetOrderId() {
      return __isset_bit_vector.get(__ORDERID_ISSET_ID);
    }

    public void setOrderIdIsSet(boolean value) {
      __isset_bit_vector.set(__ORDERID_ISSET_ID, value);
    }

    public String getAttributeName() {
      return this.attributeName;
    }

    public void setAttributeName(String attributeName) {
      this.attributeName = attributeName;
    }

    public void unsetAttributeName() {
      this.attributeName = null;
    }

    /** Returns true if field attributeName is set (has been assigned a value) and false otherwise */
    public boolean isSetAttributeName() {
      return this.attributeName != null;
    }

    public void setAttributeNameIsSet(boolean value) {
      if (!value) {
        this.attributeName = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ORDER_ID:
        if (value == null) {
          unsetOrderId();
        } else {
          setOrderId((Long)value);
        }
        break;

      case ATTRIBUTE_NAME:
        if (value == null) {
          unsetAttributeName();
        } else {
          setAttributeName((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ORDER_ID:
        return Long.valueOf(getOrderId());

      case ATTRIBUTE_NAME:
        return getAttributeName();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ORDER_ID:
        return isSetOrderId();
      case ATTRIBUTE_NAME:
        return isSetAttributeName();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getOrderAttributeValue_args)
        return this.equals((getOrderAttributeValue_args)that);
      return false;
    }

    public boolean equals(getOrderAttributeValue_args that) {
      if (that == null)
        return false;

      boolean this_present_orderId = true;
      boolean that_present_orderId = true;
      if (this_present_orderId || that_present_orderId) {
        if (!(this_present_orderId && that_present_orderId))
          return false;
        if (this.orderId != that.orderId)
          return false;
      }

      boolean this_present_attributeName = true && this.isSetAttributeName();
      boolean that_present_attributeName = true && that.isSetAttributeName();
      if (this_present_attributeName || that_present_attributeName) {
        if (!(this_present_attributeName && that_present_attributeName))
          return false;
        if (!this.attributeName.equals(that.attributeName))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getOrderAttributeValue_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getOrderAttributeValue_args typedOther = (getOrderAttributeValue_args)other;

      lastComparison = Boolean.valueOf(isSetOrderId()).compareTo(typedOther.isSetOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.orderId, typedOther.orderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetAttributeName()).compareTo(typedOther.isSetAttributeName());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetAttributeName()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.attributeName, typedOther.attributeName);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.orderId = iprot.readI64();
              setOrderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case -1: // ATTRIBUTE_NAME
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.attributeName = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.attributeName != null) {
        oprot.writeFieldBegin(ATTRIBUTE_NAME_FIELD_DESC);
        oprot.writeString(this.attributeName);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldBegin(ORDER_ID_FIELD_DESC);
      oprot.writeI64(this.orderId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getOrderAttributeValue_args(");
      boolean first = true;

      sb.append("orderId:");
      sb.append(this.orderId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("attributeName:");
      if (this.attributeName == null) {
        sb.append("null");
      } else {
        sb.append(this.attributeName);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getOrderAttributeValue_result implements org.apache.thrift.TBase<getOrderAttributeValue_result, getOrderAttributeValue_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getOrderAttributeValue_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRING, (short)0);

    private String success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getOrderAttributeValue_result.class, metaDataMap);
    }

    public getOrderAttributeValue_result() {
    }

    public getOrderAttributeValue_result(
      String success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getOrderAttributeValue_result(getOrderAttributeValue_result other) {
      if (other.isSetSuccess()) {
        this.success = other.success;
      }
    }

    public getOrderAttributeValue_result deepCopy() {
      return new getOrderAttributeValue_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public String getSuccess() {
      return this.success;
    }

    public void setSuccess(String success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getOrderAttributeValue_result)
        return this.equals((getOrderAttributeValue_result)that);
      return false;
    }

    public boolean equals(getOrderAttributeValue_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getOrderAttributeValue_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getOrderAttributeValue_result typedOther = (getOrderAttributeValue_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.success = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeString(this.success);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getOrderAttributeValue_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class changeJacketNumber_args implements org.apache.thrift.TBase<changeJacketNumber_args, changeJacketNumber_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("changeJacketNumber_args");

    private static final org.apache.thrift.protocol.TField ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("orderId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField JACKET_NUMBER_FIELD_DESC = new org.apache.thrift.protocol.TField("jacketNumber", org.apache.thrift.protocol.TType.I64, (short)2);

    private long orderId; // required
    private long jacketNumber; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ORDER_ID((short)1, "orderId"),
      JACKET_NUMBER((short)2, "jacketNumber");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ORDER_ID
            return ORDER_ID;
          case 2: // JACKET_NUMBER
            return JACKET_NUMBER;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ORDERID_ISSET_ID = 0;
    private static final int __JACKETNUMBER_ISSET_ID = 1;
    private BitSet __isset_bit_vector = new BitSet(2);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("orderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.JACKET_NUMBER, new org.apache.thrift.meta_data.FieldMetaData("jacketNumber", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(changeJacketNumber_args.class, metaDataMap);
    }

    public changeJacketNumber_args() {
    }

    public changeJacketNumber_args(
      long orderId,
      long jacketNumber)
    {
      this();
      this.orderId = orderId;
      setOrderIdIsSet(true);
      this.jacketNumber = jacketNumber;
      setJacketNumberIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public changeJacketNumber_args(changeJacketNumber_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.orderId = other.orderId;
      this.jacketNumber = other.jacketNumber;
    }

    public changeJacketNumber_args deepCopy() {
      return new changeJacketNumber_args(this);
    }

    @Override
    public void clear() {
      setOrderIdIsSet(false);
      this.orderId = 0;
      setJacketNumberIsSet(false);
      this.jacketNumber = 0;
    }

    public long getOrderId() {
      return this.orderId;
    }

    public void setOrderId(long orderId) {
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    public void unsetOrderId() {
      __isset_bit_vector.clear(__ORDERID_ISSET_ID);
    }

    /** Returns true if field orderId is set (has been assigned a value) and false otherwise */
    public boolean isSetOrderId() {
      return __isset_bit_vector.get(__ORDERID_ISSET_ID);
    }

    public void setOrderIdIsSet(boolean value) {
      __isset_bit_vector.set(__ORDERID_ISSET_ID, value);
    }

    public long getJacketNumber() {
      return this.jacketNumber;
    }

    public void setJacketNumber(long jacketNumber) {
      this.jacketNumber = jacketNumber;
      setJacketNumberIsSet(true);
    }

    public void unsetJacketNumber() {
      __isset_bit_vector.clear(__JACKETNUMBER_ISSET_ID);
    }

    /** Returns true if field jacketNumber is set (has been assigned a value) and false otherwise */
    public boolean isSetJacketNumber() {
      return __isset_bit_vector.get(__JACKETNUMBER_ISSET_ID);
    }

    public void setJacketNumberIsSet(boolean value) {
      __isset_bit_vector.set(__JACKETNUMBER_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ORDER_ID:
        if (value == null) {
          unsetOrderId();
        } else {
          setOrderId((Long)value);
        }
        break;

      case JACKET_NUMBER:
        if (value == null) {
          unsetJacketNumber();
        } else {
          setJacketNumber((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ORDER_ID:
        return Long.valueOf(getOrderId());

      case JACKET_NUMBER:
        return Long.valueOf(getJacketNumber());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ORDER_ID:
        return isSetOrderId();
      case JACKET_NUMBER:
        return isSetJacketNumber();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof changeJacketNumber_args)
        return this.equals((changeJacketNumber_args)that);
      return false;
    }

    public boolean equals(changeJacketNumber_args that) {
      if (that == null)
        return false;

      boolean this_present_orderId = true;
      boolean that_present_orderId = true;
      if (this_present_orderId || that_present_orderId) {
        if (!(this_present_orderId && that_present_orderId))
          return false;
        if (this.orderId != that.orderId)
          return false;
      }

      boolean this_present_jacketNumber = true;
      boolean that_present_jacketNumber = true;
      if (this_present_jacketNumber || that_present_jacketNumber) {
        if (!(this_present_jacketNumber && that_present_jacketNumber))
          return false;
        if (this.jacketNumber != that.jacketNumber)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(changeJacketNumber_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      changeJacketNumber_args typedOther = (changeJacketNumber_args)other;

      lastComparison = Boolean.valueOf(isSetOrderId()).compareTo(typedOther.isSetOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.orderId, typedOther.orderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetJacketNumber()).compareTo(typedOther.isSetJacketNumber());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetJacketNumber()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.jacketNumber, typedOther.jacketNumber);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.orderId = iprot.readI64();
              setOrderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // JACKET_NUMBER
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.jacketNumber = iprot.readI64();
              setJacketNumberIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ORDER_ID_FIELD_DESC);
      oprot.writeI64(this.orderId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(JACKET_NUMBER_FIELD_DESC);
      oprot.writeI64(this.jacketNumber);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("changeJacketNumber_args(");
      boolean first = true;

      sb.append("orderId:");
      sb.append(this.orderId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("jacketNumber:");
      sb.append(this.jacketNumber);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class changeJacketNumber_result implements org.apache.thrift.TBase<changeJacketNumber_result, changeJacketNumber_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("changeJacketNumber_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);

    private boolean success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(changeJacketNumber_result.class, metaDataMap);
    }

    public changeJacketNumber_result() {
    }

    public changeJacketNumber_result(
      boolean success)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public changeJacketNumber_result(changeJacketNumber_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
    }

    public changeJacketNumber_result deepCopy() {
      return new changeJacketNumber_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = false;
    }

    public boolean isSuccess() {
      return this.success;
    }

    public void setSuccess(boolean success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Boolean.valueOf(isSuccess());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof changeJacketNumber_result)
        return this.equals((changeJacketNumber_result)that);
      return false;
    }

    public boolean equals(changeJacketNumber_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(changeJacketNumber_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      changeJacketNumber_result typedOther = (changeJacketNumber_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.success = iprot.readBool();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBool(this.success);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("changeJacketNumber_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class markOrderAsRtoInTransit_args implements org.apache.thrift.TBase<markOrderAsRtoInTransit_args, markOrderAsRtoInTransit_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("markOrderAsRtoInTransit_args");

    private static final org.apache.thrift.protocol.TField ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("orderId", org.apache.thrift.protocol.TType.I64, (short)1);

    private long orderId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ORDER_ID((short)1, "orderId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ORDER_ID
            return ORDER_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ORDERID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("orderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(markOrderAsRtoInTransit_args.class, metaDataMap);
    }

    public markOrderAsRtoInTransit_args() {
    }

    public markOrderAsRtoInTransit_args(
      long orderId)
    {
      this();
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public markOrderAsRtoInTransit_args(markOrderAsRtoInTransit_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.orderId = other.orderId;
    }

    public markOrderAsRtoInTransit_args deepCopy() {
      return new markOrderAsRtoInTransit_args(this);
    }

    @Override
    public void clear() {
      setOrderIdIsSet(false);
      this.orderId = 0;
    }

    public long getOrderId() {
      return this.orderId;
    }

    public void setOrderId(long orderId) {
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    public void unsetOrderId() {
      __isset_bit_vector.clear(__ORDERID_ISSET_ID);
    }

    /** Returns true if field orderId is set (has been assigned a value) and false otherwise */
    public boolean isSetOrderId() {
      return __isset_bit_vector.get(__ORDERID_ISSET_ID);
    }

    public void setOrderIdIsSet(boolean value) {
      __isset_bit_vector.set(__ORDERID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ORDER_ID:
        if (value == null) {
          unsetOrderId();
        } else {
          setOrderId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ORDER_ID:
        return Long.valueOf(getOrderId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ORDER_ID:
        return isSetOrderId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof markOrderAsRtoInTransit_args)
        return this.equals((markOrderAsRtoInTransit_args)that);
      return false;
    }

    public boolean equals(markOrderAsRtoInTransit_args that) {
      if (that == null)
        return false;

      boolean this_present_orderId = true;
      boolean that_present_orderId = true;
      if (this_present_orderId || that_present_orderId) {
        if (!(this_present_orderId && that_present_orderId))
          return false;
        if (this.orderId != that.orderId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(markOrderAsRtoInTransit_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      markOrderAsRtoInTransit_args typedOther = (markOrderAsRtoInTransit_args)other;

      lastComparison = Boolean.valueOf(isSetOrderId()).compareTo(typedOther.isSetOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.orderId, typedOther.orderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.orderId = iprot.readI64();
              setOrderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ORDER_ID_FIELD_DESC);
      oprot.writeI64(this.orderId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("markOrderAsRtoInTransit_args(");
      boolean first = true;

      sb.append("orderId:");
      sb.append(this.orderId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class markOrderAsRtoInTransit_result implements org.apache.thrift.TBase<markOrderAsRtoInTransit_result, markOrderAsRtoInTransit_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("markOrderAsRtoInTransit_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);

    private boolean success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(markOrderAsRtoInTransit_result.class, metaDataMap);
    }

    public markOrderAsRtoInTransit_result() {
    }

    public markOrderAsRtoInTransit_result(
      boolean success)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public markOrderAsRtoInTransit_result(markOrderAsRtoInTransit_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
    }

    public markOrderAsRtoInTransit_result deepCopy() {
      return new markOrderAsRtoInTransit_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = false;
    }

    public boolean isSuccess() {
      return this.success;
    }

    public void setSuccess(boolean success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Boolean.valueOf(isSuccess());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof markOrderAsRtoInTransit_result)
        return this.equals((markOrderAsRtoInTransit_result)that);
      return false;
    }

    public boolean equals(markOrderAsRtoInTransit_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(markOrderAsRtoInTransit_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      markOrderAsRtoInTransit_result typedOther = (markOrderAsRtoInTransit_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.success = iprot.readBool();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBool(this.success);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("markOrderAsRtoInTransit_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class acceptOrderForItem_args implements org.apache.thrift.TBase<acceptOrderForItem_args, acceptOrderForItem_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("acceptOrderForItem_args");

    private static final org.apache.thrift.protocol.TField ITEM_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("itemId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField QUANTITY_FIELD_DESC = new org.apache.thrift.protocol.TField("quantity", org.apache.thrift.protocol.TType.I64, (short)2);
    private static final org.apache.thrift.protocol.TField FULFILMENT_WAREHOUSE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("fulfilmentWarehouseId", org.apache.thrift.protocol.TType.I64, (short)3);
    private static final org.apache.thrift.protocol.TField BILLING_WAREHOUSE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("billingWarehouseId", org.apache.thrift.protocol.TType.I64, (short)4);

    private long itemId; // required
    private long quantity; // required
    private long fulfilmentWarehouseId; // required
    private long billingWarehouseId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ITEM_ID((short)1, "itemId"),
      QUANTITY((short)2, "quantity"),
      FULFILMENT_WAREHOUSE_ID((short)3, "fulfilmentWarehouseId"),
      BILLING_WAREHOUSE_ID((short)4, "billingWarehouseId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ITEM_ID
            return ITEM_ID;
          case 2: // QUANTITY
            return QUANTITY;
          case 3: // FULFILMENT_WAREHOUSE_ID
            return FULFILMENT_WAREHOUSE_ID;
          case 4: // BILLING_WAREHOUSE_ID
            return BILLING_WAREHOUSE_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ITEMID_ISSET_ID = 0;
    private static final int __QUANTITY_ISSET_ID = 1;
    private static final int __FULFILMENTWAREHOUSEID_ISSET_ID = 2;
    private static final int __BILLINGWAREHOUSEID_ISSET_ID = 3;
    private BitSet __isset_bit_vector = new BitSet(4);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ITEM_ID, new org.apache.thrift.meta_data.FieldMetaData("itemId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.QUANTITY, new org.apache.thrift.meta_data.FieldMetaData("quantity", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.FULFILMENT_WAREHOUSE_ID, new org.apache.thrift.meta_data.FieldMetaData("fulfilmentWarehouseId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.BILLING_WAREHOUSE_ID, new org.apache.thrift.meta_data.FieldMetaData("billingWarehouseId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(acceptOrderForItem_args.class, metaDataMap);
    }

    public acceptOrderForItem_args() {
    }

    public acceptOrderForItem_args(
      long itemId,
      long quantity,
      long fulfilmentWarehouseId,
      long billingWarehouseId)
    {
      this();
      this.itemId = itemId;
      setItemIdIsSet(true);
      this.quantity = quantity;
      setQuantityIsSet(true);
      this.fulfilmentWarehouseId = fulfilmentWarehouseId;
      setFulfilmentWarehouseIdIsSet(true);
      this.billingWarehouseId = billingWarehouseId;
      setBillingWarehouseIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public acceptOrderForItem_args(acceptOrderForItem_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.itemId = other.itemId;
      this.quantity = other.quantity;
      this.fulfilmentWarehouseId = other.fulfilmentWarehouseId;
      this.billingWarehouseId = other.billingWarehouseId;
    }

    public acceptOrderForItem_args deepCopy() {
      return new acceptOrderForItem_args(this);
    }

    @Override
    public void clear() {
      setItemIdIsSet(false);
      this.itemId = 0;
      setQuantityIsSet(false);
      this.quantity = 0;
      setFulfilmentWarehouseIdIsSet(false);
      this.fulfilmentWarehouseId = 0;
      setBillingWarehouseIdIsSet(false);
      this.billingWarehouseId = 0;
    }

    public long getItemId() {
      return this.itemId;
    }

    public void setItemId(long itemId) {
      this.itemId = itemId;
      setItemIdIsSet(true);
    }

    public void unsetItemId() {
      __isset_bit_vector.clear(__ITEMID_ISSET_ID);
    }

    /** Returns true if field itemId is set (has been assigned a value) and false otherwise */
    public boolean isSetItemId() {
      return __isset_bit_vector.get(__ITEMID_ISSET_ID);
    }

    public void setItemIdIsSet(boolean value) {
      __isset_bit_vector.set(__ITEMID_ISSET_ID, value);
    }

    public long getQuantity() {
      return this.quantity;
    }

    public void setQuantity(long quantity) {
      this.quantity = quantity;
      setQuantityIsSet(true);
    }

    public void unsetQuantity() {
      __isset_bit_vector.clear(__QUANTITY_ISSET_ID);
    }

    /** Returns true if field quantity is set (has been assigned a value) and false otherwise */
    public boolean isSetQuantity() {
      return __isset_bit_vector.get(__QUANTITY_ISSET_ID);
    }

    public void setQuantityIsSet(boolean value) {
      __isset_bit_vector.set(__QUANTITY_ISSET_ID, value);
    }

    public long getFulfilmentWarehouseId() {
      return this.fulfilmentWarehouseId;
    }

    public void setFulfilmentWarehouseId(long fulfilmentWarehouseId) {
      this.fulfilmentWarehouseId = fulfilmentWarehouseId;
      setFulfilmentWarehouseIdIsSet(true);
    }

    public void unsetFulfilmentWarehouseId() {
      __isset_bit_vector.clear(__FULFILMENTWAREHOUSEID_ISSET_ID);
    }

    /** Returns true if field fulfilmentWarehouseId is set (has been assigned a value) and false otherwise */
    public boolean isSetFulfilmentWarehouseId() {
      return __isset_bit_vector.get(__FULFILMENTWAREHOUSEID_ISSET_ID);
    }

    public void setFulfilmentWarehouseIdIsSet(boolean value) {
      __isset_bit_vector.set(__FULFILMENTWAREHOUSEID_ISSET_ID, value);
    }

    public long getBillingWarehouseId() {
      return this.billingWarehouseId;
    }

    public void setBillingWarehouseId(long billingWarehouseId) {
      this.billingWarehouseId = billingWarehouseId;
      setBillingWarehouseIdIsSet(true);
    }

    public void unsetBillingWarehouseId() {
      __isset_bit_vector.clear(__BILLINGWAREHOUSEID_ISSET_ID);
    }

    /** Returns true if field billingWarehouseId is set (has been assigned a value) and false otherwise */
    public boolean isSetBillingWarehouseId() {
      return __isset_bit_vector.get(__BILLINGWAREHOUSEID_ISSET_ID);
    }

    public void setBillingWarehouseIdIsSet(boolean value) {
      __isset_bit_vector.set(__BILLINGWAREHOUSEID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ITEM_ID:
        if (value == null) {
          unsetItemId();
        } else {
          setItemId((Long)value);
        }
        break;

      case QUANTITY:
        if (value == null) {
          unsetQuantity();
        } else {
          setQuantity((Long)value);
        }
        break;

      case FULFILMENT_WAREHOUSE_ID:
        if (value == null) {
          unsetFulfilmentWarehouseId();
        } else {
          setFulfilmentWarehouseId((Long)value);
        }
        break;

      case BILLING_WAREHOUSE_ID:
        if (value == null) {
          unsetBillingWarehouseId();
        } else {
          setBillingWarehouseId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ITEM_ID:
        return Long.valueOf(getItemId());

      case QUANTITY:
        return Long.valueOf(getQuantity());

      case FULFILMENT_WAREHOUSE_ID:
        return Long.valueOf(getFulfilmentWarehouseId());

      case BILLING_WAREHOUSE_ID:
        return Long.valueOf(getBillingWarehouseId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ITEM_ID:
        return isSetItemId();
      case QUANTITY:
        return isSetQuantity();
      case FULFILMENT_WAREHOUSE_ID:
        return isSetFulfilmentWarehouseId();
      case BILLING_WAREHOUSE_ID:
        return isSetBillingWarehouseId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof acceptOrderForItem_args)
        return this.equals((acceptOrderForItem_args)that);
      return false;
    }

    public boolean equals(acceptOrderForItem_args that) {
      if (that == null)
        return false;

      boolean this_present_itemId = true;
      boolean that_present_itemId = true;
      if (this_present_itemId || that_present_itemId) {
        if (!(this_present_itemId && that_present_itemId))
          return false;
        if (this.itemId != that.itemId)
          return false;
      }

      boolean this_present_quantity = true;
      boolean that_present_quantity = true;
      if (this_present_quantity || that_present_quantity) {
        if (!(this_present_quantity && that_present_quantity))
          return false;
        if (this.quantity != that.quantity)
          return false;
      }

      boolean this_present_fulfilmentWarehouseId = true;
      boolean that_present_fulfilmentWarehouseId = true;
      if (this_present_fulfilmentWarehouseId || that_present_fulfilmentWarehouseId) {
        if (!(this_present_fulfilmentWarehouseId && that_present_fulfilmentWarehouseId))
          return false;
        if (this.fulfilmentWarehouseId != that.fulfilmentWarehouseId)
          return false;
      }

      boolean this_present_billingWarehouseId = true;
      boolean that_present_billingWarehouseId = true;
      if (this_present_billingWarehouseId || that_present_billingWarehouseId) {
        if (!(this_present_billingWarehouseId && that_present_billingWarehouseId))
          return false;
        if (this.billingWarehouseId != that.billingWarehouseId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(acceptOrderForItem_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      acceptOrderForItem_args typedOther = (acceptOrderForItem_args)other;

      lastComparison = Boolean.valueOf(isSetItemId()).compareTo(typedOther.isSetItemId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetItemId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.itemId, typedOther.itemId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetQuantity()).compareTo(typedOther.isSetQuantity());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetQuantity()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.quantity, typedOther.quantity);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetFulfilmentWarehouseId()).compareTo(typedOther.isSetFulfilmentWarehouseId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetFulfilmentWarehouseId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.fulfilmentWarehouseId, typedOther.fulfilmentWarehouseId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetBillingWarehouseId()).compareTo(typedOther.isSetBillingWarehouseId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetBillingWarehouseId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.billingWarehouseId, typedOther.billingWarehouseId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ITEM_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.itemId = iprot.readI64();
              setItemIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // QUANTITY
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.quantity = iprot.readI64();
              setQuantityIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // FULFILMENT_WAREHOUSE_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.fulfilmentWarehouseId = iprot.readI64();
              setFulfilmentWarehouseIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 4: // BILLING_WAREHOUSE_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.billingWarehouseId = iprot.readI64();
              setBillingWarehouseIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ITEM_ID_FIELD_DESC);
      oprot.writeI64(this.itemId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(QUANTITY_FIELD_DESC);
      oprot.writeI64(this.quantity);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(FULFILMENT_WAREHOUSE_ID_FIELD_DESC);
      oprot.writeI64(this.fulfilmentWarehouseId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(BILLING_WAREHOUSE_ID_FIELD_DESC);
      oprot.writeI64(this.billingWarehouseId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("acceptOrderForItem_args(");
      boolean first = true;

      sb.append("itemId:");
      sb.append(this.itemId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("quantity:");
      sb.append(this.quantity);
      first = false;
      if (!first) sb.append(", ");
      sb.append("fulfilmentWarehouseId:");
      sb.append(this.fulfilmentWarehouseId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("billingWarehouseId:");
      sb.append(this.billingWarehouseId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class acceptOrderForItem_result implements org.apache.thrift.TBase<acceptOrderForItem_result, acceptOrderForItem_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("acceptOrderForItem_result");



    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
;

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(acceptOrderForItem_result.class, metaDataMap);
    }

    public acceptOrderForItem_result() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public acceptOrderForItem_result(acceptOrderForItem_result other) {
    }

    public acceptOrderForItem_result deepCopy() {
      return new acceptOrderForItem_result(this);
    }

    @Override
    public void clear() {
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof acceptOrderForItem_result)
        return this.equals((acceptOrderForItem_result)that);
      return false;
    }

    public boolean equals(acceptOrderForItem_result that) {
      if (that == null)
        return false;

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(acceptOrderForItem_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      acceptOrderForItem_result typedOther = (acceptOrderForItem_result)other;

      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("acceptOrderForItem_result(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class createRechargeOrder_args implements org.apache.thrift.TBase<createRechargeOrder_args, createRechargeOrder_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("createRechargeOrder_args");

    private static final org.apache.thrift.protocol.TField RECHARGE_ORDER_FIELD_DESC = new org.apache.thrift.protocol.TField("rechargeOrder", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private RechargeOrder rechargeOrder; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      RECHARGE_ORDER((short)1, "rechargeOrder");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // RECHARGE_ORDER
            return RECHARGE_ORDER;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.RECHARGE_ORDER, new org.apache.thrift.meta_data.FieldMetaData("rechargeOrder", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, RechargeOrder.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(createRechargeOrder_args.class, metaDataMap);
    }

    public createRechargeOrder_args() {
    }

    public createRechargeOrder_args(
      RechargeOrder rechargeOrder)
    {
      this();
      this.rechargeOrder = rechargeOrder;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public createRechargeOrder_args(createRechargeOrder_args other) {
      if (other.isSetRechargeOrder()) {
        this.rechargeOrder = new RechargeOrder(other.rechargeOrder);
      }
    }

    public createRechargeOrder_args deepCopy() {
      return new createRechargeOrder_args(this);
    }

    @Override
    public void clear() {
      this.rechargeOrder = null;
    }

    public RechargeOrder getRechargeOrder() {
      return this.rechargeOrder;
    }

    public void setRechargeOrder(RechargeOrder rechargeOrder) {
      this.rechargeOrder = rechargeOrder;
    }

    public void unsetRechargeOrder() {
      this.rechargeOrder = null;
    }

    /** Returns true if field rechargeOrder is set (has been assigned a value) and false otherwise */
    public boolean isSetRechargeOrder() {
      return this.rechargeOrder != null;
    }

    public void setRechargeOrderIsSet(boolean value) {
      if (!value) {
        this.rechargeOrder = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case RECHARGE_ORDER:
        if (value == null) {
          unsetRechargeOrder();
        } else {
          setRechargeOrder((RechargeOrder)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case RECHARGE_ORDER:
        return getRechargeOrder();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case RECHARGE_ORDER:
        return isSetRechargeOrder();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof createRechargeOrder_args)
        return this.equals((createRechargeOrder_args)that);
      return false;
    }

    public boolean equals(createRechargeOrder_args that) {
      if (that == null)
        return false;

      boolean this_present_rechargeOrder = true && this.isSetRechargeOrder();
      boolean that_present_rechargeOrder = true && that.isSetRechargeOrder();
      if (this_present_rechargeOrder || that_present_rechargeOrder) {
        if (!(this_present_rechargeOrder && that_present_rechargeOrder))
          return false;
        if (!this.rechargeOrder.equals(that.rechargeOrder))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(createRechargeOrder_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      createRechargeOrder_args typedOther = (createRechargeOrder_args)other;

      lastComparison = Boolean.valueOf(isSetRechargeOrder()).compareTo(typedOther.isSetRechargeOrder());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetRechargeOrder()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.rechargeOrder, typedOther.rechargeOrder);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // RECHARGE_ORDER
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.rechargeOrder = new RechargeOrder();
              this.rechargeOrder.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.rechargeOrder != null) {
        oprot.writeFieldBegin(RECHARGE_ORDER_FIELD_DESC);
        this.rechargeOrder.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("createRechargeOrder_args(");
      boolean first = true;

      sb.append("rechargeOrder:");
      if (this.rechargeOrder == null) {
        sb.append("null");
      } else {
        sb.append(this.rechargeOrder);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class createRechargeOrder_result implements org.apache.thrift.TBase<createRechargeOrder_result, createRechargeOrder_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("createRechargeOrder_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private RechargeOrder success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, RechargeOrder.class)));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(createRechargeOrder_result.class, metaDataMap);
    }

    public createRechargeOrder_result() {
    }

    public createRechargeOrder_result(
      RechargeOrder success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public createRechargeOrder_result(createRechargeOrder_result other) {
      if (other.isSetSuccess()) {
        this.success = new RechargeOrder(other.success);
      }
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public createRechargeOrder_result deepCopy() {
      return new createRechargeOrder_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.ex = null;
    }

    public RechargeOrder getSuccess() {
      return this.success;
    }

    public void setSuccess(RechargeOrder success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((RechargeOrder)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof createRechargeOrder_result)
        return this.equals((createRechargeOrder_result)that);
      return false;
    }

    public boolean equals(createRechargeOrder_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(createRechargeOrder_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      createRechargeOrder_result typedOther = (createRechargeOrder_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.success = new RechargeOrder();
              this.success.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        this.success.write(oprot);
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("createRechargeOrder_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getRechargeOrder_args implements org.apache.thrift.TBase<getRechargeOrder_args, getRechargeOrder_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getRechargeOrder_args");

    private static final org.apache.thrift.protocol.TField RECHARGE_RRDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("rechargeRrderId", org.apache.thrift.protocol.TType.I64, (short)1);

    private long rechargeRrderId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      RECHARGE_RRDER_ID((short)1, "rechargeRrderId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // RECHARGE_RRDER_ID
            return RECHARGE_RRDER_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __RECHARGERRDERID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.RECHARGE_RRDER_ID, new org.apache.thrift.meta_data.FieldMetaData("rechargeRrderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getRechargeOrder_args.class, metaDataMap);
    }

    public getRechargeOrder_args() {
    }

    public getRechargeOrder_args(
      long rechargeRrderId)
    {
      this();
      this.rechargeRrderId = rechargeRrderId;
      setRechargeRrderIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getRechargeOrder_args(getRechargeOrder_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.rechargeRrderId = other.rechargeRrderId;
    }

    public getRechargeOrder_args deepCopy() {
      return new getRechargeOrder_args(this);
    }

    @Override
    public void clear() {
      setRechargeRrderIdIsSet(false);
      this.rechargeRrderId = 0;
    }

    public long getRechargeRrderId() {
      return this.rechargeRrderId;
    }

    public void setRechargeRrderId(long rechargeRrderId) {
      this.rechargeRrderId = rechargeRrderId;
      setRechargeRrderIdIsSet(true);
    }

    public void unsetRechargeRrderId() {
      __isset_bit_vector.clear(__RECHARGERRDERID_ISSET_ID);
    }

    /** Returns true if field rechargeRrderId is set (has been assigned a value) and false otherwise */
    public boolean isSetRechargeRrderId() {
      return __isset_bit_vector.get(__RECHARGERRDERID_ISSET_ID);
    }

    public void setRechargeRrderIdIsSet(boolean value) {
      __isset_bit_vector.set(__RECHARGERRDERID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case RECHARGE_RRDER_ID:
        if (value == null) {
          unsetRechargeRrderId();
        } else {
          setRechargeRrderId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case RECHARGE_RRDER_ID:
        return Long.valueOf(getRechargeRrderId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case RECHARGE_RRDER_ID:
        return isSetRechargeRrderId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getRechargeOrder_args)
        return this.equals((getRechargeOrder_args)that);
      return false;
    }

    public boolean equals(getRechargeOrder_args that) {
      if (that == null)
        return false;

      boolean this_present_rechargeRrderId = true;
      boolean that_present_rechargeRrderId = true;
      if (this_present_rechargeRrderId || that_present_rechargeRrderId) {
        if (!(this_present_rechargeRrderId && that_present_rechargeRrderId))
          return false;
        if (this.rechargeRrderId != that.rechargeRrderId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getRechargeOrder_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getRechargeOrder_args typedOther = (getRechargeOrder_args)other;

      lastComparison = Boolean.valueOf(isSetRechargeRrderId()).compareTo(typedOther.isSetRechargeRrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetRechargeRrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.rechargeRrderId, typedOther.rechargeRrderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // RECHARGE_RRDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.rechargeRrderId = iprot.readI64();
              setRechargeRrderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(RECHARGE_RRDER_ID_FIELD_DESC);
      oprot.writeI64(this.rechargeRrderId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getRechargeOrder_args(");
      boolean first = true;

      sb.append("rechargeRrderId:");
      sb.append(this.rechargeRrderId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getRechargeOrder_result implements org.apache.thrift.TBase<getRechargeOrder_result, getRechargeOrder_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getRechargeOrder_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private RechargeOrder success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, RechargeOrder.class)));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getRechargeOrder_result.class, metaDataMap);
    }

    public getRechargeOrder_result() {
    }

    public getRechargeOrder_result(
      RechargeOrder success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getRechargeOrder_result(getRechargeOrder_result other) {
      if (other.isSetSuccess()) {
        this.success = new RechargeOrder(other.success);
      }
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public getRechargeOrder_result deepCopy() {
      return new getRechargeOrder_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.ex = null;
    }

    public RechargeOrder getSuccess() {
      return this.success;
    }

    public void setSuccess(RechargeOrder success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((RechargeOrder)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getRechargeOrder_result)
        return this.equals((getRechargeOrder_result)that);
      return false;
    }

    public boolean equals(getRechargeOrder_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getRechargeOrder_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getRechargeOrder_result typedOther = (getRechargeOrder_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.success = new RechargeOrder();
              this.success.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        this.success.write(oprot);
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getRechargeOrder_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getRechargeOrders_args implements org.apache.thrift.TBase<getRechargeOrders_args, getRechargeOrders_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getRechargeOrders_args");

    private static final org.apache.thrift.protocol.TField USER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("userId", org.apache.thrift.protocol.TType.I64, (short)1);

    private long userId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      USER_ID((short)1, "userId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // USER_ID
            return USER_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __USERID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.USER_ID, new org.apache.thrift.meta_data.FieldMetaData("userId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getRechargeOrders_args.class, metaDataMap);
    }

    public getRechargeOrders_args() {
    }

    public getRechargeOrders_args(
      long userId)
    {
      this();
      this.userId = userId;
      setUserIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getRechargeOrders_args(getRechargeOrders_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.userId = other.userId;
    }

    public getRechargeOrders_args deepCopy() {
      return new getRechargeOrders_args(this);
    }

    @Override
    public void clear() {
      setUserIdIsSet(false);
      this.userId = 0;
    }

    public long getUserId() {
      return this.userId;
    }

    public void setUserId(long userId) {
      this.userId = userId;
      setUserIdIsSet(true);
    }

    public void unsetUserId() {
      __isset_bit_vector.clear(__USERID_ISSET_ID);
    }

    /** Returns true if field userId is set (has been assigned a value) and false otherwise */
    public boolean isSetUserId() {
      return __isset_bit_vector.get(__USERID_ISSET_ID);
    }

    public void setUserIdIsSet(boolean value) {
      __isset_bit_vector.set(__USERID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case USER_ID:
        if (value == null) {
          unsetUserId();
        } else {
          setUserId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case USER_ID:
        return Long.valueOf(getUserId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case USER_ID:
        return isSetUserId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getRechargeOrders_args)
        return this.equals((getRechargeOrders_args)that);
      return false;
    }

    public boolean equals(getRechargeOrders_args that) {
      if (that == null)
        return false;

      boolean this_present_userId = true;
      boolean that_present_userId = true;
      if (this_present_userId || that_present_userId) {
        if (!(this_present_userId && that_present_userId))
          return false;
        if (this.userId != that.userId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getRechargeOrders_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getRechargeOrders_args typedOther = (getRechargeOrders_args)other;

      lastComparison = Boolean.valueOf(isSetUserId()).compareTo(typedOther.isSetUserId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetUserId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.userId, typedOther.userId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // USER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.userId = iprot.readI64();
              setUserIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(USER_ID_FIELD_DESC);
      oprot.writeI64(this.userId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getRechargeOrders_args(");
      boolean first = true;

      sb.append("userId:");
      sb.append(this.userId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getRechargeOrders_result implements org.apache.thrift.TBase<getRechargeOrders_result, getRechargeOrders_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getRechargeOrders_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);

    private List<RechargeOrder> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, RechargeOrder.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getRechargeOrders_result.class, metaDataMap);
    }

    public getRechargeOrders_result() {
    }

    public getRechargeOrders_result(
      List<RechargeOrder> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getRechargeOrders_result(getRechargeOrders_result other) {
      if (other.isSetSuccess()) {
        List<RechargeOrder> __this__success = new ArrayList<RechargeOrder>();
        for (RechargeOrder other_element : other.success) {
          __this__success.add(new RechargeOrder(other_element));
        }
        this.success = __this__success;
      }
    }

    public getRechargeOrders_result deepCopy() {
      return new getRechargeOrders_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<RechargeOrder> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(RechargeOrder elem) {
      if (this.success == null) {
        this.success = new ArrayList<RechargeOrder>();
      }
      this.success.add(elem);
    }

    public List<RechargeOrder> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<RechargeOrder> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<RechargeOrder>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getRechargeOrders_result)
        return this.equals((getRechargeOrders_result)that);
      return false;
    }

    public boolean equals(getRechargeOrders_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getRechargeOrders_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getRechargeOrders_result typedOther = (getRechargeOrders_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list392 = iprot.readListBegin();
                this.success = new ArrayList<RechargeOrder>(_list392.size);
                for (int _i393 = 0; _i393 < _list392.size; ++_i393)
                {
                  RechargeOrder _elem394; // required
                  _elem394 = new RechargeOrder();
                  _elem394.read(iprot);
                  this.success.add(_elem394);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (RechargeOrder _iter395 : this.success)
          {
            _iter395.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getRechargeOrders_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class updateRechargeOrderStatus_args implements org.apache.thrift.TBase<updateRechargeOrderStatus_args, updateRechargeOrderStatus_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateRechargeOrderStatus_args");

    private static final org.apache.thrift.protocol.TField RECHARGE_ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("rechargeOrderId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField RECHARGE_ORDER_STATUS_FIELD_DESC = new org.apache.thrift.protocol.TField("rechargeOrderStatus", org.apache.thrift.protocol.TType.I32, (short)2);

    private long rechargeOrderId; // required
    private RechargeOrderStatus rechargeOrderStatus; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      RECHARGE_ORDER_ID((short)1, "rechargeOrderId"),
      /**
       * 
       * @see RechargeOrderStatus
       */
      RECHARGE_ORDER_STATUS((short)2, "rechargeOrderStatus");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // RECHARGE_ORDER_ID
            return RECHARGE_ORDER_ID;
          case 2: // RECHARGE_ORDER_STATUS
            return RECHARGE_ORDER_STATUS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __RECHARGEORDERID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.RECHARGE_ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("rechargeOrderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.RECHARGE_ORDER_STATUS, new org.apache.thrift.meta_data.FieldMetaData("rechargeOrderStatus", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, RechargeOrderStatus.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateRechargeOrderStatus_args.class, metaDataMap);
    }

    public updateRechargeOrderStatus_args() {
    }

    public updateRechargeOrderStatus_args(
      long rechargeOrderId,
      RechargeOrderStatus rechargeOrderStatus)
    {
      this();
      this.rechargeOrderId = rechargeOrderId;
      setRechargeOrderIdIsSet(true);
      this.rechargeOrderStatus = rechargeOrderStatus;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public updateRechargeOrderStatus_args(updateRechargeOrderStatus_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.rechargeOrderId = other.rechargeOrderId;
      if (other.isSetRechargeOrderStatus()) {
        this.rechargeOrderStatus = other.rechargeOrderStatus;
      }
    }

    public updateRechargeOrderStatus_args deepCopy() {
      return new updateRechargeOrderStatus_args(this);
    }

    @Override
    public void clear() {
      setRechargeOrderIdIsSet(false);
      this.rechargeOrderId = 0;
      this.rechargeOrderStatus = null;
    }

    public long getRechargeOrderId() {
      return this.rechargeOrderId;
    }

    public void setRechargeOrderId(long rechargeOrderId) {
      this.rechargeOrderId = rechargeOrderId;
      setRechargeOrderIdIsSet(true);
    }

    public void unsetRechargeOrderId() {
      __isset_bit_vector.clear(__RECHARGEORDERID_ISSET_ID);
    }

    /** Returns true if field rechargeOrderId is set (has been assigned a value) and false otherwise */
    public boolean isSetRechargeOrderId() {
      return __isset_bit_vector.get(__RECHARGEORDERID_ISSET_ID);
    }

    public void setRechargeOrderIdIsSet(boolean value) {
      __isset_bit_vector.set(__RECHARGEORDERID_ISSET_ID, value);
    }

    /**
     * 
     * @see RechargeOrderStatus
     */
    public RechargeOrderStatus getRechargeOrderStatus() {
      return this.rechargeOrderStatus;
    }

    /**
     * 
     * @see RechargeOrderStatus
     */
    public void setRechargeOrderStatus(RechargeOrderStatus rechargeOrderStatus) {
      this.rechargeOrderStatus = rechargeOrderStatus;
    }

    public void unsetRechargeOrderStatus() {
      this.rechargeOrderStatus = null;
    }

    /** Returns true if field rechargeOrderStatus is set (has been assigned a value) and false otherwise */
    public boolean isSetRechargeOrderStatus() {
      return this.rechargeOrderStatus != null;
    }

    public void setRechargeOrderStatusIsSet(boolean value) {
      if (!value) {
        this.rechargeOrderStatus = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case RECHARGE_ORDER_ID:
        if (value == null) {
          unsetRechargeOrderId();
        } else {
          setRechargeOrderId((Long)value);
        }
        break;

      case RECHARGE_ORDER_STATUS:
        if (value == null) {
          unsetRechargeOrderStatus();
        } else {
          setRechargeOrderStatus((RechargeOrderStatus)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case RECHARGE_ORDER_ID:
        return Long.valueOf(getRechargeOrderId());

      case RECHARGE_ORDER_STATUS:
        return getRechargeOrderStatus();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case RECHARGE_ORDER_ID:
        return isSetRechargeOrderId();
      case RECHARGE_ORDER_STATUS:
        return isSetRechargeOrderStatus();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof updateRechargeOrderStatus_args)
        return this.equals((updateRechargeOrderStatus_args)that);
      return false;
    }

    public boolean equals(updateRechargeOrderStatus_args that) {
      if (that == null)
        return false;

      boolean this_present_rechargeOrderId = true;
      boolean that_present_rechargeOrderId = true;
      if (this_present_rechargeOrderId || that_present_rechargeOrderId) {
        if (!(this_present_rechargeOrderId && that_present_rechargeOrderId))
          return false;
        if (this.rechargeOrderId != that.rechargeOrderId)
          return false;
      }

      boolean this_present_rechargeOrderStatus = true && this.isSetRechargeOrderStatus();
      boolean that_present_rechargeOrderStatus = true && that.isSetRechargeOrderStatus();
      if (this_present_rechargeOrderStatus || that_present_rechargeOrderStatus) {
        if (!(this_present_rechargeOrderStatus && that_present_rechargeOrderStatus))
          return false;
        if (!this.rechargeOrderStatus.equals(that.rechargeOrderStatus))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(updateRechargeOrderStatus_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      updateRechargeOrderStatus_args typedOther = (updateRechargeOrderStatus_args)other;

      lastComparison = Boolean.valueOf(isSetRechargeOrderId()).compareTo(typedOther.isSetRechargeOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetRechargeOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.rechargeOrderId, typedOther.rechargeOrderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetRechargeOrderStatus()).compareTo(typedOther.isSetRechargeOrderStatus());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetRechargeOrderStatus()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.rechargeOrderStatus, typedOther.rechargeOrderStatus);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // RECHARGE_ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.rechargeOrderId = iprot.readI64();
              setRechargeOrderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // RECHARGE_ORDER_STATUS
            if (field.type == org.apache.thrift.protocol.TType.I32) {
              this.rechargeOrderStatus = RechargeOrderStatus.findByValue(iprot.readI32());
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(RECHARGE_ORDER_ID_FIELD_DESC);
      oprot.writeI64(this.rechargeOrderId);
      oprot.writeFieldEnd();
      if (this.rechargeOrderStatus != null) {
        oprot.writeFieldBegin(RECHARGE_ORDER_STATUS_FIELD_DESC);
        oprot.writeI32(this.rechargeOrderStatus.getValue());
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("updateRechargeOrderStatus_args(");
      boolean first = true;

      sb.append("rechargeOrderId:");
      sb.append(this.rechargeOrderId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("rechargeOrderStatus:");
      if (this.rechargeOrderStatus == null) {
        sb.append("null");
      } else {
        sb.append(this.rechargeOrderStatus);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class updateRechargeOrderStatus_result implements org.apache.thrift.TBase<updateRechargeOrderStatus_result, updateRechargeOrderStatus_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateRechargeOrderStatus_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private boolean success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateRechargeOrderStatus_result.class, metaDataMap);
    }

    public updateRechargeOrderStatus_result() {
    }

    public updateRechargeOrderStatus_result(
      boolean success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public updateRechargeOrderStatus_result(updateRechargeOrderStatus_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public updateRechargeOrderStatus_result deepCopy() {
      return new updateRechargeOrderStatus_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = false;
      this.ex = null;
    }

    public boolean isSuccess() {
      return this.success;
    }

    public void setSuccess(boolean success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Boolean.valueOf(isSuccess());

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof updateRechargeOrderStatus_result)
        return this.equals((updateRechargeOrderStatus_result)that);
      return false;
    }

    public boolean equals(updateRechargeOrderStatus_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(updateRechargeOrderStatus_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      updateRechargeOrderStatus_result typedOther = (updateRechargeOrderStatus_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.success = iprot.readBool();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBool(this.success);
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("updateRechargeOrderStatus_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class activateRechargeTxn_args implements org.apache.thrift.TBase<activateRechargeTxn_args, activateRechargeTxn_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("activateRechargeTxn_args");

    private static final org.apache.thrift.protocol.TField RECHARGE_ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("rechargeOrderId", org.apache.thrift.protocol.TType.I64, (short)1);

    private long rechargeOrderId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      RECHARGE_ORDER_ID((short)1, "rechargeOrderId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // RECHARGE_ORDER_ID
            return RECHARGE_ORDER_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __RECHARGEORDERID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.RECHARGE_ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("rechargeOrderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(activateRechargeTxn_args.class, metaDataMap);
    }

    public activateRechargeTxn_args() {
    }

    public activateRechargeTxn_args(
      long rechargeOrderId)
    {
      this();
      this.rechargeOrderId = rechargeOrderId;
      setRechargeOrderIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public activateRechargeTxn_args(activateRechargeTxn_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.rechargeOrderId = other.rechargeOrderId;
    }

    public activateRechargeTxn_args deepCopy() {
      return new activateRechargeTxn_args(this);
    }

    @Override
    public void clear() {
      setRechargeOrderIdIsSet(false);
      this.rechargeOrderId = 0;
    }

    public long getRechargeOrderId() {
      return this.rechargeOrderId;
    }

    public void setRechargeOrderId(long rechargeOrderId) {
      this.rechargeOrderId = rechargeOrderId;
      setRechargeOrderIdIsSet(true);
    }

    public void unsetRechargeOrderId() {
      __isset_bit_vector.clear(__RECHARGEORDERID_ISSET_ID);
    }

    /** Returns true if field rechargeOrderId is set (has been assigned a value) and false otherwise */
    public boolean isSetRechargeOrderId() {
      return __isset_bit_vector.get(__RECHARGEORDERID_ISSET_ID);
    }

    public void setRechargeOrderIdIsSet(boolean value) {
      __isset_bit_vector.set(__RECHARGEORDERID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case RECHARGE_ORDER_ID:
        if (value == null) {
          unsetRechargeOrderId();
        } else {
          setRechargeOrderId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case RECHARGE_ORDER_ID:
        return Long.valueOf(getRechargeOrderId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case RECHARGE_ORDER_ID:
        return isSetRechargeOrderId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof activateRechargeTxn_args)
        return this.equals((activateRechargeTxn_args)that);
      return false;
    }

    public boolean equals(activateRechargeTxn_args that) {
      if (that == null)
        return false;

      boolean this_present_rechargeOrderId = true;
      boolean that_present_rechargeOrderId = true;
      if (this_present_rechargeOrderId || that_present_rechargeOrderId) {
        if (!(this_present_rechargeOrderId && that_present_rechargeOrderId))
          return false;
        if (this.rechargeOrderId != that.rechargeOrderId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(activateRechargeTxn_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      activateRechargeTxn_args typedOther = (activateRechargeTxn_args)other;

      lastComparison = Boolean.valueOf(isSetRechargeOrderId()).compareTo(typedOther.isSetRechargeOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetRechargeOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.rechargeOrderId, typedOther.rechargeOrderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // RECHARGE_ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.rechargeOrderId = iprot.readI64();
              setRechargeOrderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(RECHARGE_ORDER_ID_FIELD_DESC);
      oprot.writeI64(this.rechargeOrderId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("activateRechargeTxn_args(");
      boolean first = true;

      sb.append("rechargeOrderId:");
      sb.append(this.rechargeOrderId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class activateRechargeTxn_result implements org.apache.thrift.TBase<activateRechargeTxn_result, activateRechargeTxn_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("activateRechargeTxn_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private boolean success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(activateRechargeTxn_result.class, metaDataMap);
    }

    public activateRechargeTxn_result() {
    }

    public activateRechargeTxn_result(
      boolean success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public activateRechargeTxn_result(activateRechargeTxn_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public activateRechargeTxn_result deepCopy() {
      return new activateRechargeTxn_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = false;
      this.ex = null;
    }

    public boolean isSuccess() {
      return this.success;
    }

    public void setSuccess(boolean success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Boolean.valueOf(isSuccess());

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof activateRechargeTxn_result)
        return this.equals((activateRechargeTxn_result)that);
      return false;
    }

    public boolean equals(activateRechargeTxn_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(activateRechargeTxn_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      activateRechargeTxn_result typedOther = (activateRechargeTxn_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.success = iprot.readBool();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBool(this.success);
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("activateRechargeTxn_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getUserWallet_args implements org.apache.thrift.TBase<getUserWallet_args, getUserWallet_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getUserWallet_args");

    private static final org.apache.thrift.protocol.TField USER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("userId", org.apache.thrift.protocol.TType.I64, (short)1);

    private long userId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      USER_ID((short)1, "userId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // USER_ID
            return USER_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __USERID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.USER_ID, new org.apache.thrift.meta_data.FieldMetaData("userId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getUserWallet_args.class, metaDataMap);
    }

    public getUserWallet_args() {
    }

    public getUserWallet_args(
      long userId)
    {
      this();
      this.userId = userId;
      setUserIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getUserWallet_args(getUserWallet_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.userId = other.userId;
    }

    public getUserWallet_args deepCopy() {
      return new getUserWallet_args(this);
    }

    @Override
    public void clear() {
      setUserIdIsSet(false);
      this.userId = 0;
    }

    public long getUserId() {
      return this.userId;
    }

    public void setUserId(long userId) {
      this.userId = userId;
      setUserIdIsSet(true);
    }

    public void unsetUserId() {
      __isset_bit_vector.clear(__USERID_ISSET_ID);
    }

    /** Returns true if field userId is set (has been assigned a value) and false otherwise */
    public boolean isSetUserId() {
      return __isset_bit_vector.get(__USERID_ISSET_ID);
    }

    public void setUserIdIsSet(boolean value) {
      __isset_bit_vector.set(__USERID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case USER_ID:
        if (value == null) {
          unsetUserId();
        } else {
          setUserId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case USER_ID:
        return Long.valueOf(getUserId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case USER_ID:
        return isSetUserId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getUserWallet_args)
        return this.equals((getUserWallet_args)that);
      return false;
    }

    public boolean equals(getUserWallet_args that) {
      if (that == null)
        return false;

      boolean this_present_userId = true;
      boolean that_present_userId = true;
      if (this_present_userId || that_present_userId) {
        if (!(this_present_userId && that_present_userId))
          return false;
        if (this.userId != that.userId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getUserWallet_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getUserWallet_args typedOther = (getUserWallet_args)other;

      lastComparison = Boolean.valueOf(isSetUserId()).compareTo(typedOther.isSetUserId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetUserId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.userId, typedOther.userId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // USER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.userId = iprot.readI64();
              setUserIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(USER_ID_FIELD_DESC);
      oprot.writeI64(this.userId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getUserWallet_args(");
      boolean first = true;

      sb.append("userId:");
      sb.append(this.userId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getUserWallet_result implements org.apache.thrift.TBase<getUserWallet_result, getUserWallet_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getUserWallet_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);

    private UserWallet success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, UserWallet.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getUserWallet_result.class, metaDataMap);
    }

    public getUserWallet_result() {
    }

    public getUserWallet_result(
      UserWallet success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getUserWallet_result(getUserWallet_result other) {
      if (other.isSetSuccess()) {
        this.success = new UserWallet(other.success);
      }
    }

    public getUserWallet_result deepCopy() {
      return new getUserWallet_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public UserWallet getSuccess() {
      return this.success;
    }

    public void setSuccess(UserWallet success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((UserWallet)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getUserWallet_result)
        return this.equals((getUserWallet_result)that);
      return false;
    }

    public boolean equals(getUserWallet_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getUserWallet_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getUserWallet_result typedOther = (getUserWallet_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.success = new UserWallet();
              this.success.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        this.success.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getUserWallet_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getUserWalletHistory_args implements org.apache.thrift.TBase<getUserWalletHistory_args, getUserWalletHistory_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getUserWalletHistory_args");

    private static final org.apache.thrift.protocol.TField USER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("userId", org.apache.thrift.protocol.TType.I64, (short)1);

    private long userId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      USER_ID((short)1, "userId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // USER_ID
            return USER_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __USERID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.USER_ID, new org.apache.thrift.meta_data.FieldMetaData("userId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getUserWalletHistory_args.class, metaDataMap);
    }

    public getUserWalletHistory_args() {
    }

    public getUserWalletHistory_args(
      long userId)
    {
      this();
      this.userId = userId;
      setUserIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getUserWalletHistory_args(getUserWalletHistory_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.userId = other.userId;
    }

    public getUserWalletHistory_args deepCopy() {
      return new getUserWalletHistory_args(this);
    }

    @Override
    public void clear() {
      setUserIdIsSet(false);
      this.userId = 0;
    }

    public long getUserId() {
      return this.userId;
    }

    public void setUserId(long userId) {
      this.userId = userId;
      setUserIdIsSet(true);
    }

    public void unsetUserId() {
      __isset_bit_vector.clear(__USERID_ISSET_ID);
    }

    /** Returns true if field userId is set (has been assigned a value) and false otherwise */
    public boolean isSetUserId() {
      return __isset_bit_vector.get(__USERID_ISSET_ID);
    }

    public void setUserIdIsSet(boolean value) {
      __isset_bit_vector.set(__USERID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case USER_ID:
        if (value == null) {
          unsetUserId();
        } else {
          setUserId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case USER_ID:
        return Long.valueOf(getUserId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case USER_ID:
        return isSetUserId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getUserWalletHistory_args)
        return this.equals((getUserWalletHistory_args)that);
      return false;
    }

    public boolean equals(getUserWalletHistory_args that) {
      if (that == null)
        return false;

      boolean this_present_userId = true;
      boolean that_present_userId = true;
      if (this_present_userId || that_present_userId) {
        if (!(this_present_userId && that_present_userId))
          return false;
        if (this.userId != that.userId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getUserWalletHistory_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getUserWalletHistory_args typedOther = (getUserWalletHistory_args)other;

      lastComparison = Boolean.valueOf(isSetUserId()).compareTo(typedOther.isSetUserId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetUserId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.userId, typedOther.userId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // USER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.userId = iprot.readI64();
              setUserIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(USER_ID_FIELD_DESC);
      oprot.writeI64(this.userId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getUserWalletHistory_args(");
      boolean first = true;

      sb.append("userId:");
      sb.append(this.userId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getUserWalletHistory_result implements org.apache.thrift.TBase<getUserWalletHistory_result, getUserWalletHistory_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getUserWalletHistory_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);

    private List<UserWalletHistory> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, UserWalletHistory.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getUserWalletHistory_result.class, metaDataMap);
    }

    public getUserWalletHistory_result() {
    }

    public getUserWalletHistory_result(
      List<UserWalletHistory> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getUserWalletHistory_result(getUserWalletHistory_result other) {
      if (other.isSetSuccess()) {
        List<UserWalletHistory> __this__success = new ArrayList<UserWalletHistory>();
        for (UserWalletHistory other_element : other.success) {
          __this__success.add(new UserWalletHistory(other_element));
        }
        this.success = __this__success;
      }
    }

    public getUserWalletHistory_result deepCopy() {
      return new getUserWalletHistory_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<UserWalletHistory> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(UserWalletHistory elem) {
      if (this.success == null) {
        this.success = new ArrayList<UserWalletHistory>();
      }
      this.success.add(elem);
    }

    public List<UserWalletHistory> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<UserWalletHistory> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<UserWalletHistory>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getUserWalletHistory_result)
        return this.equals((getUserWalletHistory_result)that);
      return false;
    }

    public boolean equals(getUserWalletHistory_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getUserWalletHistory_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getUserWalletHistory_result typedOther = (getUserWalletHistory_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list396 = iprot.readListBegin();
                this.success = new ArrayList<UserWalletHistory>(_list396.size);
                for (int _i397 = 0; _i397 < _list396.size; ++_i397)
                {
                  UserWalletHistory _elem398; // required
                  _elem398 = new UserWalletHistory();
                  _elem398.read(iprot);
                  this.success.add(_elem398);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (UserWalletHistory _iter399 : this.success)
          {
            _iter399.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getUserWalletHistory_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getLatestUserWalletHistory_args implements org.apache.thrift.TBase<getLatestUserWalletHistory_args, getLatestUserWalletHistory_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getLatestUserWalletHistory_args");

    private static final org.apache.thrift.protocol.TField USER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("userId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField OFFSET_FIELD_DESC = new org.apache.thrift.protocol.TField("offset", org.apache.thrift.protocol.TType.I64, (short)2);
    private static final org.apache.thrift.protocol.TField LIMIT_FIELD_DESC = new org.apache.thrift.protocol.TField("limit", org.apache.thrift.protocol.TType.I64, (short)3);

    private long userId; // required
    private long offset; // required
    private long limit; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      USER_ID((short)1, "userId"),
      OFFSET((short)2, "offset"),
      LIMIT((short)3, "limit");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // USER_ID
            return USER_ID;
          case 2: // OFFSET
            return OFFSET;
          case 3: // LIMIT
            return LIMIT;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __USERID_ISSET_ID = 0;
    private static final int __OFFSET_ISSET_ID = 1;
    private static final int __LIMIT_ISSET_ID = 2;
    private BitSet __isset_bit_vector = new BitSet(3);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.USER_ID, new org.apache.thrift.meta_data.FieldMetaData("userId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.OFFSET, new org.apache.thrift.meta_data.FieldMetaData("offset", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.LIMIT, new org.apache.thrift.meta_data.FieldMetaData("limit", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getLatestUserWalletHistory_args.class, metaDataMap);
    }

    public getLatestUserWalletHistory_args() {
    }

    public getLatestUserWalletHistory_args(
      long userId,
      long offset,
      long limit)
    {
      this();
      this.userId = userId;
      setUserIdIsSet(true);
      this.offset = offset;
      setOffsetIsSet(true);
      this.limit = limit;
      setLimitIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getLatestUserWalletHistory_args(getLatestUserWalletHistory_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.userId = other.userId;
      this.offset = other.offset;
      this.limit = other.limit;
    }

    public getLatestUserWalletHistory_args deepCopy() {
      return new getLatestUserWalletHistory_args(this);
    }

    @Override
    public void clear() {
      setUserIdIsSet(false);
      this.userId = 0;
      setOffsetIsSet(false);
      this.offset = 0;
      setLimitIsSet(false);
      this.limit = 0;
    }

    public long getUserId() {
      return this.userId;
    }

    public void setUserId(long userId) {
      this.userId = userId;
      setUserIdIsSet(true);
    }

    public void unsetUserId() {
      __isset_bit_vector.clear(__USERID_ISSET_ID);
    }

    /** Returns true if field userId is set (has been assigned a value) and false otherwise */
    public boolean isSetUserId() {
      return __isset_bit_vector.get(__USERID_ISSET_ID);
    }

    public void setUserIdIsSet(boolean value) {
      __isset_bit_vector.set(__USERID_ISSET_ID, value);
    }

    public long getOffset() {
      return this.offset;
    }

    public void setOffset(long offset) {
      this.offset = offset;
      setOffsetIsSet(true);
    }

    public void unsetOffset() {
      __isset_bit_vector.clear(__OFFSET_ISSET_ID);
    }

    /** Returns true if field offset is set (has been assigned a value) and false otherwise */
    public boolean isSetOffset() {
      return __isset_bit_vector.get(__OFFSET_ISSET_ID);
    }

    public void setOffsetIsSet(boolean value) {
      __isset_bit_vector.set(__OFFSET_ISSET_ID, value);
    }

    public long getLimit() {
      return this.limit;
    }

    public void setLimit(long limit) {
      this.limit = limit;
      setLimitIsSet(true);
    }

    public void unsetLimit() {
      __isset_bit_vector.clear(__LIMIT_ISSET_ID);
    }

    /** Returns true if field limit is set (has been assigned a value) and false otherwise */
    public boolean isSetLimit() {
      return __isset_bit_vector.get(__LIMIT_ISSET_ID);
    }

    public void setLimitIsSet(boolean value) {
      __isset_bit_vector.set(__LIMIT_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case USER_ID:
        if (value == null) {
          unsetUserId();
        } else {
          setUserId((Long)value);
        }
        break;

      case OFFSET:
        if (value == null) {
          unsetOffset();
        } else {
          setOffset((Long)value);
        }
        break;

      case LIMIT:
        if (value == null) {
          unsetLimit();
        } else {
          setLimit((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case USER_ID:
        return Long.valueOf(getUserId());

      case OFFSET:
        return Long.valueOf(getOffset());

      case LIMIT:
        return Long.valueOf(getLimit());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case USER_ID:
        return isSetUserId();
      case OFFSET:
        return isSetOffset();
      case LIMIT:
        return isSetLimit();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getLatestUserWalletHistory_args)
        return this.equals((getLatestUserWalletHistory_args)that);
      return false;
    }

    public boolean equals(getLatestUserWalletHistory_args that) {
      if (that == null)
        return false;

      boolean this_present_userId = true;
      boolean that_present_userId = true;
      if (this_present_userId || that_present_userId) {
        if (!(this_present_userId && that_present_userId))
          return false;
        if (this.userId != that.userId)
          return false;
      }

      boolean this_present_offset = true;
      boolean that_present_offset = true;
      if (this_present_offset || that_present_offset) {
        if (!(this_present_offset && that_present_offset))
          return false;
        if (this.offset != that.offset)
          return false;
      }

      boolean this_present_limit = true;
      boolean that_present_limit = true;
      if (this_present_limit || that_present_limit) {
        if (!(this_present_limit && that_present_limit))
          return false;
        if (this.limit != that.limit)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getLatestUserWalletHistory_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getLatestUserWalletHistory_args typedOther = (getLatestUserWalletHistory_args)other;

      lastComparison = Boolean.valueOf(isSetUserId()).compareTo(typedOther.isSetUserId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetUserId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.userId, typedOther.userId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetOffset()).compareTo(typedOther.isSetOffset());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOffset()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.offset, typedOther.offset);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetLimit()).compareTo(typedOther.isSetLimit());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetLimit()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.limit, typedOther.limit);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // USER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.userId = iprot.readI64();
              setUserIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // OFFSET
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.offset = iprot.readI64();
              setOffsetIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // LIMIT
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.limit = iprot.readI64();
              setLimitIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(USER_ID_FIELD_DESC);
      oprot.writeI64(this.userId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(OFFSET_FIELD_DESC);
      oprot.writeI64(this.offset);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(LIMIT_FIELD_DESC);
      oprot.writeI64(this.limit);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getLatestUserWalletHistory_args(");
      boolean first = true;

      sb.append("userId:");
      sb.append(this.userId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("offset:");
      sb.append(this.offset);
      first = false;
      if (!first) sb.append(", ");
      sb.append("limit:");
      sb.append(this.limit);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getLatestUserWalletHistory_result implements org.apache.thrift.TBase<getLatestUserWalletHistory_result, getLatestUserWalletHistory_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getLatestUserWalletHistory_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);

    private List<UserWalletHistory> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, UserWalletHistory.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getLatestUserWalletHistory_result.class, metaDataMap);
    }

    public getLatestUserWalletHistory_result() {
    }

    public getLatestUserWalletHistory_result(
      List<UserWalletHistory> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getLatestUserWalletHistory_result(getLatestUserWalletHistory_result other) {
      if (other.isSetSuccess()) {
        List<UserWalletHistory> __this__success = new ArrayList<UserWalletHistory>();
        for (UserWalletHistory other_element : other.success) {
          __this__success.add(new UserWalletHistory(other_element));
        }
        this.success = __this__success;
      }
    }

    public getLatestUserWalletHistory_result deepCopy() {
      return new getLatestUserWalletHistory_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<UserWalletHistory> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(UserWalletHistory elem) {
      if (this.success == null) {
        this.success = new ArrayList<UserWalletHistory>();
      }
      this.success.add(elem);
    }

    public List<UserWalletHistory> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<UserWalletHistory> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<UserWalletHistory>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getLatestUserWalletHistory_result)
        return this.equals((getLatestUserWalletHistory_result)that);
      return false;
    }

    public boolean equals(getLatestUserWalletHistory_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getLatestUserWalletHistory_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getLatestUserWalletHistory_result typedOther = (getLatestUserWalletHistory_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list400 = iprot.readListBegin();
                this.success = new ArrayList<UserWalletHistory>(_list400.size);
                for (int _i401 = 0; _i401 < _list400.size; ++_i401)
                {
                  UserWalletHistory _elem402; // required
                  _elem402 = new UserWalletHistory();
                  _elem402.read(iprot);
                  this.success.add(_elem402);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (UserWalletHistory _iter403 : this.success)
          {
            _iter403.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getLatestUserWalletHistory_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getRechargeOrdersForTransaction_args implements org.apache.thrift.TBase<getRechargeOrdersForTransaction_args, getRechargeOrdersForTransaction_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getRechargeOrdersForTransaction_args");

    private static final org.apache.thrift.protocol.TField TXN_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("txnId", org.apache.thrift.protocol.TType.I64, (short)1);

    private long txnId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      TXN_ID((short)1, "txnId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // TXN_ID
            return TXN_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __TXNID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.TXN_ID, new org.apache.thrift.meta_data.FieldMetaData("txnId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getRechargeOrdersForTransaction_args.class, metaDataMap);
    }

    public getRechargeOrdersForTransaction_args() {
    }

    public getRechargeOrdersForTransaction_args(
      long txnId)
    {
      this();
      this.txnId = txnId;
      setTxnIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getRechargeOrdersForTransaction_args(getRechargeOrdersForTransaction_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.txnId = other.txnId;
    }

    public getRechargeOrdersForTransaction_args deepCopy() {
      return new getRechargeOrdersForTransaction_args(this);
    }

    @Override
    public void clear() {
      setTxnIdIsSet(false);
      this.txnId = 0;
    }

    public long getTxnId() {
      return this.txnId;
    }

    public void setTxnId(long txnId) {
      this.txnId = txnId;
      setTxnIdIsSet(true);
    }

    public void unsetTxnId() {
      __isset_bit_vector.clear(__TXNID_ISSET_ID);
    }

    /** Returns true if field txnId is set (has been assigned a value) and false otherwise */
    public boolean isSetTxnId() {
      return __isset_bit_vector.get(__TXNID_ISSET_ID);
    }

    public void setTxnIdIsSet(boolean value) {
      __isset_bit_vector.set(__TXNID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case TXN_ID:
        if (value == null) {
          unsetTxnId();
        } else {
          setTxnId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case TXN_ID:
        return Long.valueOf(getTxnId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case TXN_ID:
        return isSetTxnId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getRechargeOrdersForTransaction_args)
        return this.equals((getRechargeOrdersForTransaction_args)that);
      return false;
    }

    public boolean equals(getRechargeOrdersForTransaction_args that) {
      if (that == null)
        return false;

      boolean this_present_txnId = true;
      boolean that_present_txnId = true;
      if (this_present_txnId || that_present_txnId) {
        if (!(this_present_txnId && that_present_txnId))
          return false;
        if (this.txnId != that.txnId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getRechargeOrdersForTransaction_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getRechargeOrdersForTransaction_args typedOther = (getRechargeOrdersForTransaction_args)other;

      lastComparison = Boolean.valueOf(isSetTxnId()).compareTo(typedOther.isSetTxnId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetTxnId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.txnId, typedOther.txnId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // TXN_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.txnId = iprot.readI64();
              setTxnIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(TXN_ID_FIELD_DESC);
      oprot.writeI64(this.txnId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getRechargeOrdersForTransaction_args(");
      boolean first = true;

      sb.append("txnId:");
      sb.append(this.txnId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getRechargeOrdersForTransaction_result implements org.apache.thrift.TBase<getRechargeOrdersForTransaction_result, getRechargeOrdersForTransaction_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getRechargeOrdersForTransaction_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private RechargeOrder success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, RechargeOrder.class)));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getRechargeOrdersForTransaction_result.class, metaDataMap);
    }

    public getRechargeOrdersForTransaction_result() {
    }

    public getRechargeOrdersForTransaction_result(
      RechargeOrder success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getRechargeOrdersForTransaction_result(getRechargeOrdersForTransaction_result other) {
      if (other.isSetSuccess()) {
        this.success = new RechargeOrder(other.success);
      }
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public getRechargeOrdersForTransaction_result deepCopy() {
      return new getRechargeOrdersForTransaction_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.ex = null;
    }

    public RechargeOrder getSuccess() {
      return this.success;
    }

    public void setSuccess(RechargeOrder success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((RechargeOrder)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getRechargeOrdersForTransaction_result)
        return this.equals((getRechargeOrdersForTransaction_result)that);
      return false;
    }

    public boolean equals(getRechargeOrdersForTransaction_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getRechargeOrdersForTransaction_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getRechargeOrdersForTransaction_result typedOther = (getRechargeOrdersForTransaction_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.success = new RechargeOrder();
              this.success.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        this.success.write(oprot);
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getRechargeOrdersForTransaction_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getServiceProviders_args implements org.apache.thrift.TBase<getServiceProviders_args, getServiceProviders_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getServiceProviders_args");

    private static final org.apache.thrift.protocol.TField RECHARGE_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("rechargeType", org.apache.thrift.protocol.TType.I32, (short)1);
    private static final org.apache.thrift.protocol.TField ONLY_ACTIVE_FIELD_DESC = new org.apache.thrift.protocol.TField("onlyActive", org.apache.thrift.protocol.TType.BOOL, (short)2);

    private RechargeType rechargeType; // required
    private boolean onlyActive; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      /**
       * 
       * @see RechargeType
       */
      RECHARGE_TYPE((short)1, "rechargeType"),
      ONLY_ACTIVE((short)2, "onlyActive");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // RECHARGE_TYPE
            return RECHARGE_TYPE;
          case 2: // ONLY_ACTIVE
            return ONLY_ACTIVE;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ONLYACTIVE_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.RECHARGE_TYPE, new org.apache.thrift.meta_data.FieldMetaData("rechargeType", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, RechargeType.class)));
      tmpMap.put(_Fields.ONLY_ACTIVE, new org.apache.thrift.meta_data.FieldMetaData("onlyActive", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getServiceProviders_args.class, metaDataMap);
    }

    public getServiceProviders_args() {
    }

    public getServiceProviders_args(
      RechargeType rechargeType,
      boolean onlyActive)
    {
      this();
      this.rechargeType = rechargeType;
      this.onlyActive = onlyActive;
      setOnlyActiveIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getServiceProviders_args(getServiceProviders_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      if (other.isSetRechargeType()) {
        this.rechargeType = other.rechargeType;
      }
      this.onlyActive = other.onlyActive;
    }

    public getServiceProviders_args deepCopy() {
      return new getServiceProviders_args(this);
    }

    @Override
    public void clear() {
      this.rechargeType = null;
      setOnlyActiveIsSet(false);
      this.onlyActive = false;
    }

    /**
     * 
     * @see RechargeType
     */
    public RechargeType getRechargeType() {
      return this.rechargeType;
    }

    /**
     * 
     * @see RechargeType
     */
    public void setRechargeType(RechargeType rechargeType) {
      this.rechargeType = rechargeType;
    }

    public void unsetRechargeType() {
      this.rechargeType = null;
    }

    /** Returns true if field rechargeType is set (has been assigned a value) and false otherwise */
    public boolean isSetRechargeType() {
      return this.rechargeType != null;
    }

    public void setRechargeTypeIsSet(boolean value) {
      if (!value) {
        this.rechargeType = null;
      }
    }

    public boolean isOnlyActive() {
      return this.onlyActive;
    }

    public void setOnlyActive(boolean onlyActive) {
      this.onlyActive = onlyActive;
      setOnlyActiveIsSet(true);
    }

    public void unsetOnlyActive() {
      __isset_bit_vector.clear(__ONLYACTIVE_ISSET_ID);
    }

    /** Returns true if field onlyActive is set (has been assigned a value) and false otherwise */
    public boolean isSetOnlyActive() {
      return __isset_bit_vector.get(__ONLYACTIVE_ISSET_ID);
    }

    public void setOnlyActiveIsSet(boolean value) {
      __isset_bit_vector.set(__ONLYACTIVE_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case RECHARGE_TYPE:
        if (value == null) {
          unsetRechargeType();
        } else {
          setRechargeType((RechargeType)value);
        }
        break;

      case ONLY_ACTIVE:
        if (value == null) {
          unsetOnlyActive();
        } else {
          setOnlyActive((Boolean)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case RECHARGE_TYPE:
        return getRechargeType();

      case ONLY_ACTIVE:
        return Boolean.valueOf(isOnlyActive());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case RECHARGE_TYPE:
        return isSetRechargeType();
      case ONLY_ACTIVE:
        return isSetOnlyActive();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getServiceProviders_args)
        return this.equals((getServiceProviders_args)that);
      return false;
    }

    public boolean equals(getServiceProviders_args that) {
      if (that == null)
        return false;

      boolean this_present_rechargeType = true && this.isSetRechargeType();
      boolean that_present_rechargeType = true && that.isSetRechargeType();
      if (this_present_rechargeType || that_present_rechargeType) {
        if (!(this_present_rechargeType && that_present_rechargeType))
          return false;
        if (!this.rechargeType.equals(that.rechargeType))
          return false;
      }

      boolean this_present_onlyActive = true;
      boolean that_present_onlyActive = true;
      if (this_present_onlyActive || that_present_onlyActive) {
        if (!(this_present_onlyActive && that_present_onlyActive))
          return false;
        if (this.onlyActive != that.onlyActive)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getServiceProviders_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getServiceProviders_args typedOther = (getServiceProviders_args)other;

      lastComparison = Boolean.valueOf(isSetRechargeType()).compareTo(typedOther.isSetRechargeType());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetRechargeType()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.rechargeType, typedOther.rechargeType);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetOnlyActive()).compareTo(typedOther.isSetOnlyActive());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOnlyActive()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.onlyActive, typedOther.onlyActive);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // RECHARGE_TYPE
            if (field.type == org.apache.thrift.protocol.TType.I32) {
              this.rechargeType = RechargeType.findByValue(iprot.readI32());
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // ONLY_ACTIVE
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.onlyActive = iprot.readBool();
              setOnlyActiveIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.rechargeType != null) {
        oprot.writeFieldBegin(RECHARGE_TYPE_FIELD_DESC);
        oprot.writeI32(this.rechargeType.getValue());
        oprot.writeFieldEnd();
      }
      oprot.writeFieldBegin(ONLY_ACTIVE_FIELD_DESC);
      oprot.writeBool(this.onlyActive);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getServiceProviders_args(");
      boolean first = true;

      sb.append("rechargeType:");
      if (this.rechargeType == null) {
        sb.append("null");
      } else {
        sb.append(this.rechargeType);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("onlyActive:");
      sb.append(this.onlyActive);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getServiceProviders_result implements org.apache.thrift.TBase<getServiceProviders_result, getServiceProviders_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getServiceProviders_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.MAP, (short)0);

    private Map<Long,String> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64), 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getServiceProviders_result.class, metaDataMap);
    }

    public getServiceProviders_result() {
    }

    public getServiceProviders_result(
      Map<Long,String> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getServiceProviders_result(getServiceProviders_result other) {
      if (other.isSetSuccess()) {
        Map<Long,String> __this__success = new HashMap<Long,String>();
        for (Map.Entry<Long, String> other_element : other.success.entrySet()) {

          Long other_element_key = other_element.getKey();
          String other_element_value = other_element.getValue();

          Long __this__success_copy_key = other_element_key;

          String __this__success_copy_value = other_element_value;

          __this__success.put(__this__success_copy_key, __this__success_copy_value);
        }
        this.success = __this__success;
      }
    }

    public getServiceProviders_result deepCopy() {
      return new getServiceProviders_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public void putToSuccess(long key, String val) {
      if (this.success == null) {
        this.success = new HashMap<Long,String>();
      }
      this.success.put(key, val);
    }

    public Map<Long,String> getSuccess() {
      return this.success;
    }

    public void setSuccess(Map<Long,String> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Map<Long,String>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getServiceProviders_result)
        return this.equals((getServiceProviders_result)that);
      return false;
    }

    public boolean equals(getServiceProviders_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getServiceProviders_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getServiceProviders_result typedOther = (getServiceProviders_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.MAP) {
              {
                org.apache.thrift.protocol.TMap _map404 = iprot.readMapBegin();
                this.success = new HashMap<Long,String>(2*_map404.size);
                for (int _i405 = 0; _i405 < _map404.size; ++_i405)
                {
                  long _key406; // required
                  String _val407; // required
                  _key406 = iprot.readI64();
                  _val407 = iprot.readString();
                  this.success.put(_key406, _val407);
                }
                iprot.readMapEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.I64, org.apache.thrift.protocol.TType.STRING, this.success.size()));
          for (Map.Entry<Long, String> _iter408 : this.success.entrySet())
          {
            oprot.writeI64(_iter408.getKey());
            oprot.writeString(_iter408.getValue());
          }
          oprot.writeMapEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getServiceProviders_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getServiceProviderForDevice_args implements org.apache.thrift.TBase<getServiceProviderForDevice_args, getServiceProviderForDevice_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getServiceProviderForDevice_args");

    private static final org.apache.thrift.protocol.TField RECHARGE_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("rechargeType", org.apache.thrift.protocol.TType.I32, (short)1);
    private static final org.apache.thrift.protocol.TField DEVICE_NUMBER_FIELD_DESC = new org.apache.thrift.protocol.TField("deviceNumber", org.apache.thrift.protocol.TType.STRING, (short)2);

    private RechargeType rechargeType; // required
    private String deviceNumber; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      /**
       * 
       * @see RechargeType
       */
      RECHARGE_TYPE((short)1, "rechargeType"),
      DEVICE_NUMBER((short)2, "deviceNumber");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // RECHARGE_TYPE
            return RECHARGE_TYPE;
          case 2: // DEVICE_NUMBER
            return DEVICE_NUMBER;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.RECHARGE_TYPE, new org.apache.thrift.meta_data.FieldMetaData("rechargeType", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, RechargeType.class)));
      tmpMap.put(_Fields.DEVICE_NUMBER, new org.apache.thrift.meta_data.FieldMetaData("deviceNumber", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getServiceProviderForDevice_args.class, metaDataMap);
    }

    public getServiceProviderForDevice_args() {
    }

    public getServiceProviderForDevice_args(
      RechargeType rechargeType,
      String deviceNumber)
    {
      this();
      this.rechargeType = rechargeType;
      this.deviceNumber = deviceNumber;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getServiceProviderForDevice_args(getServiceProviderForDevice_args other) {
      if (other.isSetRechargeType()) {
        this.rechargeType = other.rechargeType;
      }
      if (other.isSetDeviceNumber()) {
        this.deviceNumber = other.deviceNumber;
      }
    }

    public getServiceProviderForDevice_args deepCopy() {
      return new getServiceProviderForDevice_args(this);
    }

    @Override
    public void clear() {
      this.rechargeType = null;
      this.deviceNumber = null;
    }

    /**
     * 
     * @see RechargeType
     */
    public RechargeType getRechargeType() {
      return this.rechargeType;
    }

    /**
     * 
     * @see RechargeType
     */
    public void setRechargeType(RechargeType rechargeType) {
      this.rechargeType = rechargeType;
    }

    public void unsetRechargeType() {
      this.rechargeType = null;
    }

    /** Returns true if field rechargeType is set (has been assigned a value) and false otherwise */
    public boolean isSetRechargeType() {
      return this.rechargeType != null;
    }

    public void setRechargeTypeIsSet(boolean value) {
      if (!value) {
        this.rechargeType = null;
      }
    }

    public String getDeviceNumber() {
      return this.deviceNumber;
    }

    public void setDeviceNumber(String deviceNumber) {
      this.deviceNumber = deviceNumber;
    }

    public void unsetDeviceNumber() {
      this.deviceNumber = null;
    }

    /** Returns true if field deviceNumber is set (has been assigned a value) and false otherwise */
    public boolean isSetDeviceNumber() {
      return this.deviceNumber != null;
    }

    public void setDeviceNumberIsSet(boolean value) {
      if (!value) {
        this.deviceNumber = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case RECHARGE_TYPE:
        if (value == null) {
          unsetRechargeType();
        } else {
          setRechargeType((RechargeType)value);
        }
        break;

      case DEVICE_NUMBER:
        if (value == null) {
          unsetDeviceNumber();
        } else {
          setDeviceNumber((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case RECHARGE_TYPE:
        return getRechargeType();

      case DEVICE_NUMBER:
        return getDeviceNumber();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case RECHARGE_TYPE:
        return isSetRechargeType();
      case DEVICE_NUMBER:
        return isSetDeviceNumber();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getServiceProviderForDevice_args)
        return this.equals((getServiceProviderForDevice_args)that);
      return false;
    }

    public boolean equals(getServiceProviderForDevice_args that) {
      if (that == null)
        return false;

      boolean this_present_rechargeType = true && this.isSetRechargeType();
      boolean that_present_rechargeType = true && that.isSetRechargeType();
      if (this_present_rechargeType || that_present_rechargeType) {
        if (!(this_present_rechargeType && that_present_rechargeType))
          return false;
        if (!this.rechargeType.equals(that.rechargeType))
          return false;
      }

      boolean this_present_deviceNumber = true && this.isSetDeviceNumber();
      boolean that_present_deviceNumber = true && that.isSetDeviceNumber();
      if (this_present_deviceNumber || that_present_deviceNumber) {
        if (!(this_present_deviceNumber && that_present_deviceNumber))
          return false;
        if (!this.deviceNumber.equals(that.deviceNumber))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getServiceProviderForDevice_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getServiceProviderForDevice_args typedOther = (getServiceProviderForDevice_args)other;

      lastComparison = Boolean.valueOf(isSetRechargeType()).compareTo(typedOther.isSetRechargeType());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetRechargeType()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.rechargeType, typedOther.rechargeType);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetDeviceNumber()).compareTo(typedOther.isSetDeviceNumber());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetDeviceNumber()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.deviceNumber, typedOther.deviceNumber);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // RECHARGE_TYPE
            if (field.type == org.apache.thrift.protocol.TType.I32) {
              this.rechargeType = RechargeType.findByValue(iprot.readI32());
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // DEVICE_NUMBER
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.deviceNumber = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.rechargeType != null) {
        oprot.writeFieldBegin(RECHARGE_TYPE_FIELD_DESC);
        oprot.writeI32(this.rechargeType.getValue());
        oprot.writeFieldEnd();
      }
      if (this.deviceNumber != null) {
        oprot.writeFieldBegin(DEVICE_NUMBER_FIELD_DESC);
        oprot.writeString(this.deviceNumber);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getServiceProviderForDevice_args(");
      boolean first = true;

      sb.append("rechargeType:");
      if (this.rechargeType == null) {
        sb.append("null");
      } else {
        sb.append(this.rechargeType);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("deviceNumber:");
      if (this.deviceNumber == null) {
        sb.append("null");
      } else {
        sb.append(this.deviceNumber);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getServiceProviderForDevice_result implements org.apache.thrift.TBase<getServiceProviderForDevice_result, getServiceProviderForDevice_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getServiceProviderForDevice_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);

    private DeviceNumberInfo success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, DeviceNumberInfo.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getServiceProviderForDevice_result.class, metaDataMap);
    }

    public getServiceProviderForDevice_result() {
    }

    public getServiceProviderForDevice_result(
      DeviceNumberInfo success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getServiceProviderForDevice_result(getServiceProviderForDevice_result other) {
      if (other.isSetSuccess()) {
        this.success = new DeviceNumberInfo(other.success);
      }
    }

    public getServiceProviderForDevice_result deepCopy() {
      return new getServiceProviderForDevice_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public DeviceNumberInfo getSuccess() {
      return this.success;
    }

    public void setSuccess(DeviceNumberInfo success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((DeviceNumberInfo)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getServiceProviderForDevice_result)
        return this.equals((getServiceProviderForDevice_result)that);
      return false;
    }

    public boolean equals(getServiceProviderForDevice_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getServiceProviderForDevice_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getServiceProviderForDevice_result typedOther = (getServiceProviderForDevice_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.success = new DeviceNumberInfo();
              this.success.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        this.success.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getServiceProviderForDevice_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class validateRecharge_args implements org.apache.thrift.TBase<validateRecharge_args, validateRecharge_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("validateRecharge_args");

    private static final org.apache.thrift.protocol.TField RECHARGE_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("rechargeType", org.apache.thrift.protocol.TType.I32, (short)1);
    private static final org.apache.thrift.protocol.TField DEVICE_NUMBER_FIELD_DESC = new org.apache.thrift.protocol.TField("deviceNumber", org.apache.thrift.protocol.TType.STRING, (short)2);
    private static final org.apache.thrift.protocol.TField USER_SELECTED_PROVIDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("userSelectedProviderId", org.apache.thrift.protocol.TType.I64, (short)3);
    private static final org.apache.thrift.protocol.TField CLIENT_ADDRESS_FIELD_DESC = new org.apache.thrift.protocol.TField("clientAddress", org.apache.thrift.protocol.TType.STRING, (short)4);

    private RechargeType rechargeType; // required
    private String deviceNumber; // required
    private long userSelectedProviderId; // required
    private String clientAddress; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      /**
       * 
       * @see RechargeType
       */
      RECHARGE_TYPE((short)1, "rechargeType"),
      DEVICE_NUMBER((short)2, "deviceNumber"),
      USER_SELECTED_PROVIDER_ID((short)3, "userSelectedProviderId"),
      CLIENT_ADDRESS((short)4, "clientAddress");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // RECHARGE_TYPE
            return RECHARGE_TYPE;
          case 2: // DEVICE_NUMBER
            return DEVICE_NUMBER;
          case 3: // USER_SELECTED_PROVIDER_ID
            return USER_SELECTED_PROVIDER_ID;
          case 4: // CLIENT_ADDRESS
            return CLIENT_ADDRESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __USERSELECTEDPROVIDERID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.RECHARGE_TYPE, new org.apache.thrift.meta_data.FieldMetaData("rechargeType", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, RechargeType.class)));
      tmpMap.put(_Fields.DEVICE_NUMBER, new org.apache.thrift.meta_data.FieldMetaData("deviceNumber", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.USER_SELECTED_PROVIDER_ID, new org.apache.thrift.meta_data.FieldMetaData("userSelectedProviderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.CLIENT_ADDRESS, new org.apache.thrift.meta_data.FieldMetaData("clientAddress", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(validateRecharge_args.class, metaDataMap);
    }

    public validateRecharge_args() {
    }

    public validateRecharge_args(
      RechargeType rechargeType,
      String deviceNumber,
      long userSelectedProviderId,
      String clientAddress)
    {
      this();
      this.rechargeType = rechargeType;
      this.deviceNumber = deviceNumber;
      this.userSelectedProviderId = userSelectedProviderId;
      setUserSelectedProviderIdIsSet(true);
      this.clientAddress = clientAddress;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public validateRecharge_args(validateRecharge_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      if (other.isSetRechargeType()) {
        this.rechargeType = other.rechargeType;
      }
      if (other.isSetDeviceNumber()) {
        this.deviceNumber = other.deviceNumber;
      }
      this.userSelectedProviderId = other.userSelectedProviderId;
      if (other.isSetClientAddress()) {
        this.clientAddress = other.clientAddress;
      }
    }

    public validateRecharge_args deepCopy() {
      return new validateRecharge_args(this);
    }

    @Override
    public void clear() {
      this.rechargeType = null;
      this.deviceNumber = null;
      setUserSelectedProviderIdIsSet(false);
      this.userSelectedProviderId = 0;
      this.clientAddress = null;
    }

    /**
     * 
     * @see RechargeType
     */
    public RechargeType getRechargeType() {
      return this.rechargeType;
    }

    /**
     * 
     * @see RechargeType
     */
    public void setRechargeType(RechargeType rechargeType) {
      this.rechargeType = rechargeType;
    }

    public void unsetRechargeType() {
      this.rechargeType = null;
    }

    /** Returns true if field rechargeType is set (has been assigned a value) and false otherwise */
    public boolean isSetRechargeType() {
      return this.rechargeType != null;
    }

    public void setRechargeTypeIsSet(boolean value) {
      if (!value) {
        this.rechargeType = null;
      }
    }

    public String getDeviceNumber() {
      return this.deviceNumber;
    }

    public void setDeviceNumber(String deviceNumber) {
      this.deviceNumber = deviceNumber;
    }

    public void unsetDeviceNumber() {
      this.deviceNumber = null;
    }

    /** Returns true if field deviceNumber is set (has been assigned a value) and false otherwise */
    public boolean isSetDeviceNumber() {
      return this.deviceNumber != null;
    }

    public void setDeviceNumberIsSet(boolean value) {
      if (!value) {
        this.deviceNumber = null;
      }
    }

    public long getUserSelectedProviderId() {
      return this.userSelectedProviderId;
    }

    public void setUserSelectedProviderId(long userSelectedProviderId) {
      this.userSelectedProviderId = userSelectedProviderId;
      setUserSelectedProviderIdIsSet(true);
    }

    public void unsetUserSelectedProviderId() {
      __isset_bit_vector.clear(__USERSELECTEDPROVIDERID_ISSET_ID);
    }

    /** Returns true if field userSelectedProviderId is set (has been assigned a value) and false otherwise */
    public boolean isSetUserSelectedProviderId() {
      return __isset_bit_vector.get(__USERSELECTEDPROVIDERID_ISSET_ID);
    }

    public void setUserSelectedProviderIdIsSet(boolean value) {
      __isset_bit_vector.set(__USERSELECTEDPROVIDERID_ISSET_ID, value);
    }

    public String getClientAddress() {
      return this.clientAddress;
    }

    public void setClientAddress(String clientAddress) {
      this.clientAddress = clientAddress;
    }

    public void unsetClientAddress() {
      this.clientAddress = null;
    }

    /** Returns true if field clientAddress is set (has been assigned a value) and false otherwise */
    public boolean isSetClientAddress() {
      return this.clientAddress != null;
    }

    public void setClientAddressIsSet(boolean value) {
      if (!value) {
        this.clientAddress = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case RECHARGE_TYPE:
        if (value == null) {
          unsetRechargeType();
        } else {
          setRechargeType((RechargeType)value);
        }
        break;

      case DEVICE_NUMBER:
        if (value == null) {
          unsetDeviceNumber();
        } else {
          setDeviceNumber((String)value);
        }
        break;

      case USER_SELECTED_PROVIDER_ID:
        if (value == null) {
          unsetUserSelectedProviderId();
        } else {
          setUserSelectedProviderId((Long)value);
        }
        break;

      case CLIENT_ADDRESS:
        if (value == null) {
          unsetClientAddress();
        } else {
          setClientAddress((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case RECHARGE_TYPE:
        return getRechargeType();

      case DEVICE_NUMBER:
        return getDeviceNumber();

      case USER_SELECTED_PROVIDER_ID:
        return Long.valueOf(getUserSelectedProviderId());

      case CLIENT_ADDRESS:
        return getClientAddress();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case RECHARGE_TYPE:
        return isSetRechargeType();
      case DEVICE_NUMBER:
        return isSetDeviceNumber();
      case USER_SELECTED_PROVIDER_ID:
        return isSetUserSelectedProviderId();
      case CLIENT_ADDRESS:
        return isSetClientAddress();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof validateRecharge_args)
        return this.equals((validateRecharge_args)that);
      return false;
    }

    public boolean equals(validateRecharge_args that) {
      if (that == null)
        return false;

      boolean this_present_rechargeType = true && this.isSetRechargeType();
      boolean that_present_rechargeType = true && that.isSetRechargeType();
      if (this_present_rechargeType || that_present_rechargeType) {
        if (!(this_present_rechargeType && that_present_rechargeType))
          return false;
        if (!this.rechargeType.equals(that.rechargeType))
          return false;
      }

      boolean this_present_deviceNumber = true && this.isSetDeviceNumber();
      boolean that_present_deviceNumber = true && that.isSetDeviceNumber();
      if (this_present_deviceNumber || that_present_deviceNumber) {
        if (!(this_present_deviceNumber && that_present_deviceNumber))
          return false;
        if (!this.deviceNumber.equals(that.deviceNumber))
          return false;
      }

      boolean this_present_userSelectedProviderId = true;
      boolean that_present_userSelectedProviderId = true;
      if (this_present_userSelectedProviderId || that_present_userSelectedProviderId) {
        if (!(this_present_userSelectedProviderId && that_present_userSelectedProviderId))
          return false;
        if (this.userSelectedProviderId != that.userSelectedProviderId)
          return false;
      }

      boolean this_present_clientAddress = true && this.isSetClientAddress();
      boolean that_present_clientAddress = true && that.isSetClientAddress();
      if (this_present_clientAddress || that_present_clientAddress) {
        if (!(this_present_clientAddress && that_present_clientAddress))
          return false;
        if (!this.clientAddress.equals(that.clientAddress))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(validateRecharge_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      validateRecharge_args typedOther = (validateRecharge_args)other;

      lastComparison = Boolean.valueOf(isSetRechargeType()).compareTo(typedOther.isSetRechargeType());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetRechargeType()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.rechargeType, typedOther.rechargeType);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetDeviceNumber()).compareTo(typedOther.isSetDeviceNumber());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetDeviceNumber()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.deviceNumber, typedOther.deviceNumber);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetUserSelectedProviderId()).compareTo(typedOther.isSetUserSelectedProviderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetUserSelectedProviderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.userSelectedProviderId, typedOther.userSelectedProviderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetClientAddress()).compareTo(typedOther.isSetClientAddress());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetClientAddress()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.clientAddress, typedOther.clientAddress);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // RECHARGE_TYPE
            if (field.type == org.apache.thrift.protocol.TType.I32) {
              this.rechargeType = RechargeType.findByValue(iprot.readI32());
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // DEVICE_NUMBER
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.deviceNumber = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // USER_SELECTED_PROVIDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.userSelectedProviderId = iprot.readI64();
              setUserSelectedProviderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 4: // CLIENT_ADDRESS
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.clientAddress = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.rechargeType != null) {
        oprot.writeFieldBegin(RECHARGE_TYPE_FIELD_DESC);
        oprot.writeI32(this.rechargeType.getValue());
        oprot.writeFieldEnd();
      }
      if (this.deviceNumber != null) {
        oprot.writeFieldBegin(DEVICE_NUMBER_FIELD_DESC);
        oprot.writeString(this.deviceNumber);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldBegin(USER_SELECTED_PROVIDER_ID_FIELD_DESC);
      oprot.writeI64(this.userSelectedProviderId);
      oprot.writeFieldEnd();
      if (this.clientAddress != null) {
        oprot.writeFieldBegin(CLIENT_ADDRESS_FIELD_DESC);
        oprot.writeString(this.clientAddress);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("validateRecharge_args(");
      boolean first = true;

      sb.append("rechargeType:");
      if (this.rechargeType == null) {
        sb.append("null");
      } else {
        sb.append(this.rechargeType);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("deviceNumber:");
      if (this.deviceNumber == null) {
        sb.append("null");
      } else {
        sb.append(this.deviceNumber);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("userSelectedProviderId:");
      sb.append(this.userSelectedProviderId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("clientAddress:");
      if (this.clientAddress == null) {
        sb.append("null");
      } else {
        sb.append(this.clientAddress);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class validateRecharge_result implements org.apache.thrift.TBase<validateRecharge_result, validateRecharge_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("validateRecharge_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRING, (short)0);

    private String success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(validateRecharge_result.class, metaDataMap);
    }

    public validateRecharge_result() {
    }

    public validateRecharge_result(
      String success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public validateRecharge_result(validateRecharge_result other) {
      if (other.isSetSuccess()) {
        this.success = other.success;
      }
    }

    public validateRecharge_result deepCopy() {
      return new validateRecharge_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public String getSuccess() {
      return this.success;
    }

    public void setSuccess(String success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof validateRecharge_result)
        return this.equals((validateRecharge_result)that);
      return false;
    }

    public boolean equals(validateRecharge_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(validateRecharge_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      validateRecharge_result typedOther = (validateRecharge_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.success = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeString(this.success);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("validateRecharge_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getRechargeOrdersForDevice_args implements org.apache.thrift.TBase<getRechargeOrdersForDevice_args, getRechargeOrdersForDevice_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getRechargeOrdersForDevice_args");

    private static final org.apache.thrift.protocol.TField DEVICE_NUMBER_FIELD_DESC = new org.apache.thrift.protocol.TField("deviceNumber", org.apache.thrift.protocol.TType.STRING, (short)1);

    private String deviceNumber; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      DEVICE_NUMBER((short)1, "deviceNumber");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // DEVICE_NUMBER
            return DEVICE_NUMBER;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.DEVICE_NUMBER, new org.apache.thrift.meta_data.FieldMetaData("deviceNumber", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getRechargeOrdersForDevice_args.class, metaDataMap);
    }

    public getRechargeOrdersForDevice_args() {
    }

    public getRechargeOrdersForDevice_args(
      String deviceNumber)
    {
      this();
      this.deviceNumber = deviceNumber;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getRechargeOrdersForDevice_args(getRechargeOrdersForDevice_args other) {
      if (other.isSetDeviceNumber()) {
        this.deviceNumber = other.deviceNumber;
      }
    }

    public getRechargeOrdersForDevice_args deepCopy() {
      return new getRechargeOrdersForDevice_args(this);
    }

    @Override
    public void clear() {
      this.deviceNumber = null;
    }

    public String getDeviceNumber() {
      return this.deviceNumber;
    }

    public void setDeviceNumber(String deviceNumber) {
      this.deviceNumber = deviceNumber;
    }

    public void unsetDeviceNumber() {
      this.deviceNumber = null;
    }

    /** Returns true if field deviceNumber is set (has been assigned a value) and false otherwise */
    public boolean isSetDeviceNumber() {
      return this.deviceNumber != null;
    }

    public void setDeviceNumberIsSet(boolean value) {
      if (!value) {
        this.deviceNumber = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case DEVICE_NUMBER:
        if (value == null) {
          unsetDeviceNumber();
        } else {
          setDeviceNumber((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case DEVICE_NUMBER:
        return getDeviceNumber();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case DEVICE_NUMBER:
        return isSetDeviceNumber();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getRechargeOrdersForDevice_args)
        return this.equals((getRechargeOrdersForDevice_args)that);
      return false;
    }

    public boolean equals(getRechargeOrdersForDevice_args that) {
      if (that == null)
        return false;

      boolean this_present_deviceNumber = true && this.isSetDeviceNumber();
      boolean that_present_deviceNumber = true && that.isSetDeviceNumber();
      if (this_present_deviceNumber || that_present_deviceNumber) {
        if (!(this_present_deviceNumber && that_present_deviceNumber))
          return false;
        if (!this.deviceNumber.equals(that.deviceNumber))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getRechargeOrdersForDevice_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getRechargeOrdersForDevice_args typedOther = (getRechargeOrdersForDevice_args)other;

      lastComparison = Boolean.valueOf(isSetDeviceNumber()).compareTo(typedOther.isSetDeviceNumber());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetDeviceNumber()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.deviceNumber, typedOther.deviceNumber);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // DEVICE_NUMBER
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.deviceNumber = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.deviceNumber != null) {
        oprot.writeFieldBegin(DEVICE_NUMBER_FIELD_DESC);
        oprot.writeString(this.deviceNumber);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getRechargeOrdersForDevice_args(");
      boolean first = true;

      sb.append("deviceNumber:");
      if (this.deviceNumber == null) {
        sb.append("null");
      } else {
        sb.append(this.deviceNumber);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getRechargeOrdersForDevice_result implements org.apache.thrift.TBase<getRechargeOrdersForDevice_result, getRechargeOrdersForDevice_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getRechargeOrdersForDevice_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);

    private List<RechargeOrder> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, RechargeOrder.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getRechargeOrdersForDevice_result.class, metaDataMap);
    }

    public getRechargeOrdersForDevice_result() {
    }

    public getRechargeOrdersForDevice_result(
      List<RechargeOrder> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getRechargeOrdersForDevice_result(getRechargeOrdersForDevice_result other) {
      if (other.isSetSuccess()) {
        List<RechargeOrder> __this__success = new ArrayList<RechargeOrder>();
        for (RechargeOrder other_element : other.success) {
          __this__success.add(new RechargeOrder(other_element));
        }
        this.success = __this__success;
      }
    }

    public getRechargeOrdersForDevice_result deepCopy() {
      return new getRechargeOrdersForDevice_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<RechargeOrder> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(RechargeOrder elem) {
      if (this.success == null) {
        this.success = new ArrayList<RechargeOrder>();
      }
      this.success.add(elem);
    }

    public List<RechargeOrder> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<RechargeOrder> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<RechargeOrder>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getRechargeOrdersForDevice_result)
        return this.equals((getRechargeOrdersForDevice_result)that);
      return false;
    }

    public boolean equals(getRechargeOrdersForDevice_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getRechargeOrdersForDevice_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getRechargeOrdersForDevice_result typedOther = (getRechargeOrdersForDevice_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list409 = iprot.readListBegin();
                this.success = new ArrayList<RechargeOrder>(_list409.size);
                for (int _i410 = 0; _i410 < _list409.size; ++_i410)
                {
                  RechargeOrder _elem411; // required
                  _elem411 = new RechargeOrder();
                  _elem411.read(iprot);
                  this.success.add(_elem411);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (RechargeOrder _iter412 : this.success)
          {
            _iter412.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getRechargeOrdersForDevice_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class creditBatch_args implements org.apache.thrift.TBase<creditBatch_args, creditBatch_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("creditBatch_args");

    private static final org.apache.thrift.protocol.TField BATCH_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("batchId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField USER_AMOUNT_FIELD_DESC = new org.apache.thrift.protocol.TField("userAmount", org.apache.thrift.protocol.TType.STRING, (short)2);

    private long batchId; // required
    private String userAmount; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      BATCH_ID((short)1, "batchId"),
      USER_AMOUNT((short)2, "userAmount");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // BATCH_ID
            return BATCH_ID;
          case 2: // USER_AMOUNT
            return USER_AMOUNT;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __BATCHID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.BATCH_ID, new org.apache.thrift.meta_data.FieldMetaData("batchId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.USER_AMOUNT, new org.apache.thrift.meta_data.FieldMetaData("userAmount", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(creditBatch_args.class, metaDataMap);
    }

    public creditBatch_args() {
    }

    public creditBatch_args(
      long batchId,
      String userAmount)
    {
      this();
      this.batchId = batchId;
      setBatchIdIsSet(true);
      this.userAmount = userAmount;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public creditBatch_args(creditBatch_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.batchId = other.batchId;
      if (other.isSetUserAmount()) {
        this.userAmount = other.userAmount;
      }
    }

    public creditBatch_args deepCopy() {
      return new creditBatch_args(this);
    }

    @Override
    public void clear() {
      setBatchIdIsSet(false);
      this.batchId = 0;
      this.userAmount = null;
    }

    public long getBatchId() {
      return this.batchId;
    }

    public void setBatchId(long batchId) {
      this.batchId = batchId;
      setBatchIdIsSet(true);
    }

    public void unsetBatchId() {
      __isset_bit_vector.clear(__BATCHID_ISSET_ID);
    }

    /** Returns true if field batchId is set (has been assigned a value) and false otherwise */
    public boolean isSetBatchId() {
      return __isset_bit_vector.get(__BATCHID_ISSET_ID);
    }

    public void setBatchIdIsSet(boolean value) {
      __isset_bit_vector.set(__BATCHID_ISSET_ID, value);
    }

    public String getUserAmount() {
      return this.userAmount;
    }

    public void setUserAmount(String userAmount) {
      this.userAmount = userAmount;
    }

    public void unsetUserAmount() {
      this.userAmount = null;
    }

    /** Returns true if field userAmount is set (has been assigned a value) and false otherwise */
    public boolean isSetUserAmount() {
      return this.userAmount != null;
    }

    public void setUserAmountIsSet(boolean value) {
      if (!value) {
        this.userAmount = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case BATCH_ID:
        if (value == null) {
          unsetBatchId();
        } else {
          setBatchId((Long)value);
        }
        break;

      case USER_AMOUNT:
        if (value == null) {
          unsetUserAmount();
        } else {
          setUserAmount((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case BATCH_ID:
        return Long.valueOf(getBatchId());

      case USER_AMOUNT:
        return getUserAmount();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case BATCH_ID:
        return isSetBatchId();
      case USER_AMOUNT:
        return isSetUserAmount();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof creditBatch_args)
        return this.equals((creditBatch_args)that);
      return false;
    }

    public boolean equals(creditBatch_args that) {
      if (that == null)
        return false;

      boolean this_present_batchId = true;
      boolean that_present_batchId = true;
      if (this_present_batchId || that_present_batchId) {
        if (!(this_present_batchId && that_present_batchId))
          return false;
        if (this.batchId != that.batchId)
          return false;
      }

      boolean this_present_userAmount = true && this.isSetUserAmount();
      boolean that_present_userAmount = true && that.isSetUserAmount();
      if (this_present_userAmount || that_present_userAmount) {
        if (!(this_present_userAmount && that_present_userAmount))
          return false;
        if (!this.userAmount.equals(that.userAmount))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(creditBatch_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      creditBatch_args typedOther = (creditBatch_args)other;

      lastComparison = Boolean.valueOf(isSetBatchId()).compareTo(typedOther.isSetBatchId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetBatchId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.batchId, typedOther.batchId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetUserAmount()).compareTo(typedOther.isSetUserAmount());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetUserAmount()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.userAmount, typedOther.userAmount);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // BATCH_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.batchId = iprot.readI64();
              setBatchIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // USER_AMOUNT
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.userAmount = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(BATCH_ID_FIELD_DESC);
      oprot.writeI64(this.batchId);
      oprot.writeFieldEnd();
      if (this.userAmount != null) {
        oprot.writeFieldBegin(USER_AMOUNT_FIELD_DESC);
        oprot.writeString(this.userAmount);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("creditBatch_args(");
      boolean first = true;

      sb.append("batchId:");
      sb.append(this.batchId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("userAmount:");
      if (this.userAmount == null) {
        sb.append("null");
      } else {
        sb.append(this.userAmount);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class creditBatch_result implements org.apache.thrift.TBase<creditBatch_result, creditBatch_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("creditBatch_result");



    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
;

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(creditBatch_result.class, metaDataMap);
    }

    public creditBatch_result() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public creditBatch_result(creditBatch_result other) {
    }

    public creditBatch_result deepCopy() {
      return new creditBatch_result(this);
    }

    @Override
    public void clear() {
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof creditBatch_result)
        return this.equals((creditBatch_result)that);
      return false;
    }

    public boolean equals(creditBatch_result that) {
      if (that == null)
        return false;

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(creditBatch_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      creditBatch_result typedOther = (creditBatch_result)other;

      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("creditBatch_result(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getRechargeStatistics_args implements org.apache.thrift.TBase<getRechargeStatistics_args, getRechargeStatistics_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getRechargeStatistics_args");



    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
;

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getRechargeStatistics_args.class, metaDataMap);
    }

    public getRechargeStatistics_args() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getRechargeStatistics_args(getRechargeStatistics_args other) {
    }

    public getRechargeStatistics_args deepCopy() {
      return new getRechargeStatistics_args(this);
    }

    @Override
    public void clear() {
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getRechargeStatistics_args)
        return this.equals((getRechargeStatistics_args)that);
      return false;
    }

    public boolean equals(getRechargeStatistics_args that) {
      if (that == null)
        return false;

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getRechargeStatistics_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getRechargeStatistics_args typedOther = (getRechargeStatistics_args)other;

      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getRechargeStatistics_args(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getRechargeStatistics_result implements org.apache.thrift.TBase<getRechargeStatistics_result, getRechargeStatistics_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getRechargeStatistics_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);

    private RechargeStatistics success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, RechargeStatistics.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getRechargeStatistics_result.class, metaDataMap);
    }

    public getRechargeStatistics_result() {
    }

    public getRechargeStatistics_result(
      RechargeStatistics success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getRechargeStatistics_result(getRechargeStatistics_result other) {
      if (other.isSetSuccess()) {
        this.success = new RechargeStatistics(other.success);
      }
    }

    public getRechargeStatistics_result deepCopy() {
      return new getRechargeStatistics_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public RechargeStatistics getSuccess() {
      return this.success;
    }

    public void setSuccess(RechargeStatistics success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((RechargeStatistics)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getRechargeStatistics_result)
        return this.equals((getRechargeStatistics_result)that);
      return false;
    }

    public boolean equals(getRechargeStatistics_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getRechargeStatistics_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getRechargeStatistics_result typedOther = (getRechargeStatistics_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.success = new RechargeStatistics();
              this.success.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        this.success.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getRechargeStatistics_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getRechargeOrdersForStatus_args implements org.apache.thrift.TBase<getRechargeOrdersForStatus_args, getRechargeOrdersForStatus_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getRechargeOrdersForStatus_args");

    private static final org.apache.thrift.protocol.TField STATUS_FIELD_DESC = new org.apache.thrift.protocol.TField("status", org.apache.thrift.protocol.TType.I64, (short)1);

    private long status; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      STATUS((short)1, "status");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // STATUS
            return STATUS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __STATUS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.STATUS, new org.apache.thrift.meta_data.FieldMetaData("status", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getRechargeOrdersForStatus_args.class, metaDataMap);
    }

    public getRechargeOrdersForStatus_args() {
    }

    public getRechargeOrdersForStatus_args(
      long status)
    {
      this();
      this.status = status;
      setStatusIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getRechargeOrdersForStatus_args(getRechargeOrdersForStatus_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.status = other.status;
    }

    public getRechargeOrdersForStatus_args deepCopy() {
      return new getRechargeOrdersForStatus_args(this);
    }

    @Override
    public void clear() {
      setStatusIsSet(false);
      this.status = 0;
    }

    public long getStatus() {
      return this.status;
    }

    public void setStatus(long status) {
      this.status = status;
      setStatusIsSet(true);
    }

    public void unsetStatus() {
      __isset_bit_vector.clear(__STATUS_ISSET_ID);
    }

    /** Returns true if field status is set (has been assigned a value) and false otherwise */
    public boolean isSetStatus() {
      return __isset_bit_vector.get(__STATUS_ISSET_ID);
    }

    public void setStatusIsSet(boolean value) {
      __isset_bit_vector.set(__STATUS_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case STATUS:
        if (value == null) {
          unsetStatus();
        } else {
          setStatus((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case STATUS:
        return Long.valueOf(getStatus());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case STATUS:
        return isSetStatus();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getRechargeOrdersForStatus_args)
        return this.equals((getRechargeOrdersForStatus_args)that);
      return false;
    }

    public boolean equals(getRechargeOrdersForStatus_args that) {
      if (that == null)
        return false;

      boolean this_present_status = true;
      boolean that_present_status = true;
      if (this_present_status || that_present_status) {
        if (!(this_present_status && that_present_status))
          return false;
        if (this.status != that.status)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getRechargeOrdersForStatus_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getRechargeOrdersForStatus_args typedOther = (getRechargeOrdersForStatus_args)other;

      lastComparison = Boolean.valueOf(isSetStatus()).compareTo(typedOther.isSetStatus());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetStatus()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.status, typedOther.status);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // STATUS
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.status = iprot.readI64();
              setStatusIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(STATUS_FIELD_DESC);
      oprot.writeI64(this.status);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getRechargeOrdersForStatus_args(");
      boolean first = true;

      sb.append("status:");
      sb.append(this.status);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getRechargeOrdersForStatus_result implements org.apache.thrift.TBase<getRechargeOrdersForStatus_result, getRechargeOrdersForStatus_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getRechargeOrdersForStatus_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);

    private List<RechargeOrder> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, RechargeOrder.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getRechargeOrdersForStatus_result.class, metaDataMap);
    }

    public getRechargeOrdersForStatus_result() {
    }

    public getRechargeOrdersForStatus_result(
      List<RechargeOrder> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getRechargeOrdersForStatus_result(getRechargeOrdersForStatus_result other) {
      if (other.isSetSuccess()) {
        List<RechargeOrder> __this__success = new ArrayList<RechargeOrder>();
        for (RechargeOrder other_element : other.success) {
          __this__success.add(new RechargeOrder(other_element));
        }
        this.success = __this__success;
      }
    }

    public getRechargeOrdersForStatus_result deepCopy() {
      return new getRechargeOrdersForStatus_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<RechargeOrder> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(RechargeOrder elem) {
      if (this.success == null) {
        this.success = new ArrayList<RechargeOrder>();
      }
      this.success.add(elem);
    }

    public List<RechargeOrder> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<RechargeOrder> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<RechargeOrder>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getRechargeOrdersForStatus_result)
        return this.equals((getRechargeOrdersForStatus_result)that);
      return false;
    }

    public boolean equals(getRechargeOrdersForStatus_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getRechargeOrdersForStatus_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getRechargeOrdersForStatus_result typedOther = (getRechargeOrdersForStatus_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list413 = iprot.readListBegin();
                this.success = new ArrayList<RechargeOrder>(_list413.size);
                for (int _i414 = 0; _i414 < _list413.size; ++_i414)
                {
                  RechargeOrder _elem415; // required
                  _elem415 = new RechargeOrder();
                  _elem415.read(iprot);
                  this.success.add(_elem415);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (RechargeOrder _iter416 : this.success)
          {
            _iter416.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getRechargeOrdersForStatus_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getPlansForOperator_args implements org.apache.thrift.TBase<getPlansForOperator_args, getPlansForOperator_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getPlansForOperator_args");

    private static final org.apache.thrift.protocol.TField OPERATOR_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("operatorId", org.apache.thrift.protocol.TType.I64, (short)1);

    private long operatorId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      OPERATOR_ID((short)1, "operatorId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // OPERATOR_ID
            return OPERATOR_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __OPERATORID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.OPERATOR_ID, new org.apache.thrift.meta_data.FieldMetaData("operatorId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getPlansForOperator_args.class, metaDataMap);
    }

    public getPlansForOperator_args() {
    }

    public getPlansForOperator_args(
      long operatorId)
    {
      this();
      this.operatorId = operatorId;
      setOperatorIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getPlansForOperator_args(getPlansForOperator_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.operatorId = other.operatorId;
    }

    public getPlansForOperator_args deepCopy() {
      return new getPlansForOperator_args(this);
    }

    @Override
    public void clear() {
      setOperatorIdIsSet(false);
      this.operatorId = 0;
    }

    public long getOperatorId() {
      return this.operatorId;
    }

    public void setOperatorId(long operatorId) {
      this.operatorId = operatorId;
      setOperatorIdIsSet(true);
    }

    public void unsetOperatorId() {
      __isset_bit_vector.clear(__OPERATORID_ISSET_ID);
    }

    /** Returns true if field operatorId is set (has been assigned a value) and false otherwise */
    public boolean isSetOperatorId() {
      return __isset_bit_vector.get(__OPERATORID_ISSET_ID);
    }

    public void setOperatorIdIsSet(boolean value) {
      __isset_bit_vector.set(__OPERATORID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case OPERATOR_ID:
        if (value == null) {
          unsetOperatorId();
        } else {
          setOperatorId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case OPERATOR_ID:
        return Long.valueOf(getOperatorId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case OPERATOR_ID:
        return isSetOperatorId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getPlansForOperator_args)
        return this.equals((getPlansForOperator_args)that);
      return false;
    }

    public boolean equals(getPlansForOperator_args that) {
      if (that == null)
        return false;

      boolean this_present_operatorId = true;
      boolean that_present_operatorId = true;
      if (this_present_operatorId || that_present_operatorId) {
        if (!(this_present_operatorId && that_present_operatorId))
          return false;
        if (this.operatorId != that.operatorId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getPlansForOperator_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getPlansForOperator_args typedOther = (getPlansForOperator_args)other;

      lastComparison = Boolean.valueOf(isSetOperatorId()).compareTo(typedOther.isSetOperatorId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOperatorId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.operatorId, typedOther.operatorId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // OPERATOR_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.operatorId = iprot.readI64();
              setOperatorIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(OPERATOR_ID_FIELD_DESC);
      oprot.writeI64(this.operatorId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getPlansForOperator_args(");
      boolean first = true;

      sb.append("operatorId:");
      sb.append(this.operatorId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getPlansForOperator_result implements org.apache.thrift.TBase<getPlansForOperator_result, getPlansForOperator_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getPlansForOperator_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);

    private List<RechargePlan> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, RechargePlan.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getPlansForOperator_result.class, metaDataMap);
    }

    public getPlansForOperator_result() {
    }

    public getPlansForOperator_result(
      List<RechargePlan> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getPlansForOperator_result(getPlansForOperator_result other) {
      if (other.isSetSuccess()) {
        List<RechargePlan> __this__success = new ArrayList<RechargePlan>();
        for (RechargePlan other_element : other.success) {
          __this__success.add(new RechargePlan(other_element));
        }
        this.success = __this__success;
      }
    }

    public getPlansForOperator_result deepCopy() {
      return new getPlansForOperator_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<RechargePlan> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(RechargePlan elem) {
      if (this.success == null) {
        this.success = new ArrayList<RechargePlan>();
      }
      this.success.add(elem);
    }

    public List<RechargePlan> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<RechargePlan> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<RechargePlan>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getPlansForOperator_result)
        return this.equals((getPlansForOperator_result)that);
      return false;
    }

    public boolean equals(getPlansForOperator_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getPlansForOperator_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getPlansForOperator_result typedOther = (getPlansForOperator_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list417 = iprot.readListBegin();
                this.success = new ArrayList<RechargePlan>(_list417.size);
                for (int _i418 = 0; _i418 < _list417.size; ++_i418)
                {
                  RechargePlan _elem419; // required
                  _elem419 = new RechargePlan();
                  _elem419.read(iprot);
                  this.success.add(_elem419);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (RechargePlan _iter420 : this.success)
          {
            _iter420.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getPlansForOperator_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getRechargeDenominations_args implements org.apache.thrift.TBase<getRechargeDenominations_args, getRechargeDenominations_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getRechargeDenominations_args");

    private static final org.apache.thrift.protocol.TField OPERATOR_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("operatorId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField CIRCLE_CODE_FIELD_DESC = new org.apache.thrift.protocol.TField("circleCode", org.apache.thrift.protocol.TType.STRING, (short)2);
    private static final org.apache.thrift.protocol.TField DENOMINATION_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("denominationType", org.apache.thrift.protocol.TType.I32, (short)3);

    private long operatorId; // required
    private String circleCode; // required
    private DenominationType denominationType; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      OPERATOR_ID((short)1, "operatorId"),
      CIRCLE_CODE((short)2, "circleCode"),
      /**
       * 
       * @see DenominationType
       */
      DENOMINATION_TYPE((short)3, "denominationType");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // OPERATOR_ID
            return OPERATOR_ID;
          case 2: // CIRCLE_CODE
            return CIRCLE_CODE;
          case 3: // DENOMINATION_TYPE
            return DENOMINATION_TYPE;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __OPERATORID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.OPERATOR_ID, new org.apache.thrift.meta_data.FieldMetaData("operatorId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.CIRCLE_CODE, new org.apache.thrift.meta_data.FieldMetaData("circleCode", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.DENOMINATION_TYPE, new org.apache.thrift.meta_data.FieldMetaData("denominationType", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, DenominationType.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getRechargeDenominations_args.class, metaDataMap);
    }

    public getRechargeDenominations_args() {
    }

    public getRechargeDenominations_args(
      long operatorId,
      String circleCode,
      DenominationType denominationType)
    {
      this();
      this.operatorId = operatorId;
      setOperatorIdIsSet(true);
      this.circleCode = circleCode;
      this.denominationType = denominationType;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getRechargeDenominations_args(getRechargeDenominations_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.operatorId = other.operatorId;
      if (other.isSetCircleCode()) {
        this.circleCode = other.circleCode;
      }
      if (other.isSetDenominationType()) {
        this.denominationType = other.denominationType;
      }
    }

    public getRechargeDenominations_args deepCopy() {
      return new getRechargeDenominations_args(this);
    }

    @Override
    public void clear() {
      setOperatorIdIsSet(false);
      this.operatorId = 0;
      this.circleCode = null;
      this.denominationType = null;
    }

    public long getOperatorId() {
      return this.operatorId;
    }

    public void setOperatorId(long operatorId) {
      this.operatorId = operatorId;
      setOperatorIdIsSet(true);
    }

    public void unsetOperatorId() {
      __isset_bit_vector.clear(__OPERATORID_ISSET_ID);
    }

    /** Returns true if field operatorId is set (has been assigned a value) and false otherwise */
    public boolean isSetOperatorId() {
      return __isset_bit_vector.get(__OPERATORID_ISSET_ID);
    }

    public void setOperatorIdIsSet(boolean value) {
      __isset_bit_vector.set(__OPERATORID_ISSET_ID, value);
    }

    public String getCircleCode() {
      return this.circleCode;
    }

    public void setCircleCode(String circleCode) {
      this.circleCode = circleCode;
    }

    public void unsetCircleCode() {
      this.circleCode = null;
    }

    /** Returns true if field circleCode is set (has been assigned a value) and false otherwise */
    public boolean isSetCircleCode() {
      return this.circleCode != null;
    }

    public void setCircleCodeIsSet(boolean value) {
      if (!value) {
        this.circleCode = null;
      }
    }

    /**
     * 
     * @see DenominationType
     */
    public DenominationType getDenominationType() {
      return this.denominationType;
    }

    /**
     * 
     * @see DenominationType
     */
    public void setDenominationType(DenominationType denominationType) {
      this.denominationType = denominationType;
    }

    public void unsetDenominationType() {
      this.denominationType = null;
    }

    /** Returns true if field denominationType is set (has been assigned a value) and false otherwise */
    public boolean isSetDenominationType() {
      return this.denominationType != null;
    }

    public void setDenominationTypeIsSet(boolean value) {
      if (!value) {
        this.denominationType = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case OPERATOR_ID:
        if (value == null) {
          unsetOperatorId();
        } else {
          setOperatorId((Long)value);
        }
        break;

      case CIRCLE_CODE:
        if (value == null) {
          unsetCircleCode();
        } else {
          setCircleCode((String)value);
        }
        break;

      case DENOMINATION_TYPE:
        if (value == null) {
          unsetDenominationType();
        } else {
          setDenominationType((DenominationType)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case OPERATOR_ID:
        return Long.valueOf(getOperatorId());

      case CIRCLE_CODE:
        return getCircleCode();

      case DENOMINATION_TYPE:
        return getDenominationType();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case OPERATOR_ID:
        return isSetOperatorId();
      case CIRCLE_CODE:
        return isSetCircleCode();
      case DENOMINATION_TYPE:
        return isSetDenominationType();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getRechargeDenominations_args)
        return this.equals((getRechargeDenominations_args)that);
      return false;
    }

    public boolean equals(getRechargeDenominations_args that) {
      if (that == null)
        return false;

      boolean this_present_operatorId = true;
      boolean that_present_operatorId = true;
      if (this_present_operatorId || that_present_operatorId) {
        if (!(this_present_operatorId && that_present_operatorId))
          return false;
        if (this.operatorId != that.operatorId)
          return false;
      }

      boolean this_present_circleCode = true && this.isSetCircleCode();
      boolean that_present_circleCode = true && that.isSetCircleCode();
      if (this_present_circleCode || that_present_circleCode) {
        if (!(this_present_circleCode && that_present_circleCode))
          return false;
        if (!this.circleCode.equals(that.circleCode))
          return false;
      }

      boolean this_present_denominationType = true && this.isSetDenominationType();
      boolean that_present_denominationType = true && that.isSetDenominationType();
      if (this_present_denominationType || that_present_denominationType) {
        if (!(this_present_denominationType && that_present_denominationType))
          return false;
        if (!this.denominationType.equals(that.denominationType))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getRechargeDenominations_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getRechargeDenominations_args typedOther = (getRechargeDenominations_args)other;

      lastComparison = Boolean.valueOf(isSetOperatorId()).compareTo(typedOther.isSetOperatorId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOperatorId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.operatorId, typedOther.operatorId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetCircleCode()).compareTo(typedOther.isSetCircleCode());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetCircleCode()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.circleCode, typedOther.circleCode);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetDenominationType()).compareTo(typedOther.isSetDenominationType());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetDenominationType()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.denominationType, typedOther.denominationType);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // OPERATOR_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.operatorId = iprot.readI64();
              setOperatorIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // CIRCLE_CODE
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.circleCode = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // DENOMINATION_TYPE
            if (field.type == org.apache.thrift.protocol.TType.I32) {
              this.denominationType = DenominationType.findByValue(iprot.readI32());
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(OPERATOR_ID_FIELD_DESC);
      oprot.writeI64(this.operatorId);
      oprot.writeFieldEnd();
      if (this.circleCode != null) {
        oprot.writeFieldBegin(CIRCLE_CODE_FIELD_DESC);
        oprot.writeString(this.circleCode);
        oprot.writeFieldEnd();
      }
      if (this.denominationType != null) {
        oprot.writeFieldBegin(DENOMINATION_TYPE_FIELD_DESC);
        oprot.writeI32(this.denominationType.getValue());
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getRechargeDenominations_args(");
      boolean first = true;

      sb.append("operatorId:");
      sb.append(this.operatorId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("circleCode:");
      if (this.circleCode == null) {
        sb.append("null");
      } else {
        sb.append(this.circleCode);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("denominationType:");
      if (this.denominationType == null) {
        sb.append("null");
      } else {
        sb.append(this.denominationType);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getRechargeDenominations_result implements org.apache.thrift.TBase<getRechargeDenominations_result, getRechargeDenominations_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getRechargeDenominations_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private List<RechargeDenomination> success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, RechargeDenomination.class))));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getRechargeDenominations_result.class, metaDataMap);
    }

    public getRechargeDenominations_result() {
    }

    public getRechargeDenominations_result(
      List<RechargeDenomination> success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getRechargeDenominations_result(getRechargeDenominations_result other) {
      if (other.isSetSuccess()) {
        List<RechargeDenomination> __this__success = new ArrayList<RechargeDenomination>();
        for (RechargeDenomination other_element : other.success) {
          __this__success.add(new RechargeDenomination(other_element));
        }
        this.success = __this__success;
      }
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public getRechargeDenominations_result deepCopy() {
      return new getRechargeDenominations_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.ex = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<RechargeDenomination> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(RechargeDenomination elem) {
      if (this.success == null) {
        this.success = new ArrayList<RechargeDenomination>();
      }
      this.success.add(elem);
    }

    public List<RechargeDenomination> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<RechargeDenomination> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<RechargeDenomination>)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getRechargeDenominations_result)
        return this.equals((getRechargeDenominations_result)that);
      return false;
    }

    public boolean equals(getRechargeDenominations_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getRechargeDenominations_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getRechargeDenominations_result typedOther = (getRechargeDenominations_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list421 = iprot.readListBegin();
                this.success = new ArrayList<RechargeDenomination>(_list421.size);
                for (int _i422 = 0; _i422 < _list421.size; ++_i422)
                {
                  RechargeDenomination _elem423; // required
                  _elem423 = new RechargeDenomination();
                  _elem423.read(iprot);
                  this.success.add(_elem423);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (RechargeDenomination _iter424 : this.success)
          {
            _iter424.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getRechargeDenominations_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class updateAvailabilityStatus_args implements org.apache.thrift.TBase<updateAvailabilityStatus_args, updateAvailabilityStatus_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateAvailabilityStatus_args");

    private static final org.apache.thrift.protocol.TField OPERATOR_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("operatorId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField CIRCLE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("circleId", org.apache.thrift.protocol.TType.I64, (short)2);
    private static final org.apache.thrift.protocol.TField IS_AVAILABLE_FIELD_DESC = new org.apache.thrift.protocol.TField("isAvailable", org.apache.thrift.protocol.TType.BOOL, (short)3);

    private long operatorId; // required
    private long circleId; // required
    private boolean isAvailable; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      OPERATOR_ID((short)1, "operatorId"),
      CIRCLE_ID((short)2, "circleId"),
      IS_AVAILABLE((short)3, "isAvailable");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // OPERATOR_ID
            return OPERATOR_ID;
          case 2: // CIRCLE_ID
            return CIRCLE_ID;
          case 3: // IS_AVAILABLE
            return IS_AVAILABLE;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __OPERATORID_ISSET_ID = 0;
    private static final int __CIRCLEID_ISSET_ID = 1;
    private static final int __ISAVAILABLE_ISSET_ID = 2;
    private BitSet __isset_bit_vector = new BitSet(3);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.OPERATOR_ID, new org.apache.thrift.meta_data.FieldMetaData("operatorId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.CIRCLE_ID, new org.apache.thrift.meta_data.FieldMetaData("circleId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.IS_AVAILABLE, new org.apache.thrift.meta_data.FieldMetaData("isAvailable", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateAvailabilityStatus_args.class, metaDataMap);
    }

    public updateAvailabilityStatus_args() {
    }

    public updateAvailabilityStatus_args(
      long operatorId,
      long circleId,
      boolean isAvailable)
    {
      this();
      this.operatorId = operatorId;
      setOperatorIdIsSet(true);
      this.circleId = circleId;
      setCircleIdIsSet(true);
      this.isAvailable = isAvailable;
      setIsAvailableIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public updateAvailabilityStatus_args(updateAvailabilityStatus_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.operatorId = other.operatorId;
      this.circleId = other.circleId;
      this.isAvailable = other.isAvailable;
    }

    public updateAvailabilityStatus_args deepCopy() {
      return new updateAvailabilityStatus_args(this);
    }

    @Override
    public void clear() {
      setOperatorIdIsSet(false);
      this.operatorId = 0;
      setCircleIdIsSet(false);
      this.circleId = 0;
      setIsAvailableIsSet(false);
      this.isAvailable = false;
    }

    public long getOperatorId() {
      return this.operatorId;
    }

    public void setOperatorId(long operatorId) {
      this.operatorId = operatorId;
      setOperatorIdIsSet(true);
    }

    public void unsetOperatorId() {
      __isset_bit_vector.clear(__OPERATORID_ISSET_ID);
    }

    /** Returns true if field operatorId is set (has been assigned a value) and false otherwise */
    public boolean isSetOperatorId() {
      return __isset_bit_vector.get(__OPERATORID_ISSET_ID);
    }

    public void setOperatorIdIsSet(boolean value) {
      __isset_bit_vector.set(__OPERATORID_ISSET_ID, value);
    }

    public long getCircleId() {
      return this.circleId;
    }

    public void setCircleId(long circleId) {
      this.circleId = circleId;
      setCircleIdIsSet(true);
    }

    public void unsetCircleId() {
      __isset_bit_vector.clear(__CIRCLEID_ISSET_ID);
    }

    /** Returns true if field circleId is set (has been assigned a value) and false otherwise */
    public boolean isSetCircleId() {
      return __isset_bit_vector.get(__CIRCLEID_ISSET_ID);
    }

    public void setCircleIdIsSet(boolean value) {
      __isset_bit_vector.set(__CIRCLEID_ISSET_ID, value);
    }

    public boolean isIsAvailable() {
      return this.isAvailable;
    }

    public void setIsAvailable(boolean isAvailable) {
      this.isAvailable = isAvailable;
      setIsAvailableIsSet(true);
    }

    public void unsetIsAvailable() {
      __isset_bit_vector.clear(__ISAVAILABLE_ISSET_ID);
    }

    /** Returns true if field isAvailable is set (has been assigned a value) and false otherwise */
    public boolean isSetIsAvailable() {
      return __isset_bit_vector.get(__ISAVAILABLE_ISSET_ID);
    }

    public void setIsAvailableIsSet(boolean value) {
      __isset_bit_vector.set(__ISAVAILABLE_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case OPERATOR_ID:
        if (value == null) {
          unsetOperatorId();
        } else {
          setOperatorId((Long)value);
        }
        break;

      case CIRCLE_ID:
        if (value == null) {
          unsetCircleId();
        } else {
          setCircleId((Long)value);
        }
        break;

      case IS_AVAILABLE:
        if (value == null) {
          unsetIsAvailable();
        } else {
          setIsAvailable((Boolean)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case OPERATOR_ID:
        return Long.valueOf(getOperatorId());

      case CIRCLE_ID:
        return Long.valueOf(getCircleId());

      case IS_AVAILABLE:
        return Boolean.valueOf(isIsAvailable());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case OPERATOR_ID:
        return isSetOperatorId();
      case CIRCLE_ID:
        return isSetCircleId();
      case IS_AVAILABLE:
        return isSetIsAvailable();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof updateAvailabilityStatus_args)
        return this.equals((updateAvailabilityStatus_args)that);
      return false;
    }

    public boolean equals(updateAvailabilityStatus_args that) {
      if (that == null)
        return false;

      boolean this_present_operatorId = true;
      boolean that_present_operatorId = true;
      if (this_present_operatorId || that_present_operatorId) {
        if (!(this_present_operatorId && that_present_operatorId))
          return false;
        if (this.operatorId != that.operatorId)
          return false;
      }

      boolean this_present_circleId = true;
      boolean that_present_circleId = true;
      if (this_present_circleId || that_present_circleId) {
        if (!(this_present_circleId && that_present_circleId))
          return false;
        if (this.circleId != that.circleId)
          return false;
      }

      boolean this_present_isAvailable = true;
      boolean that_present_isAvailable = true;
      if (this_present_isAvailable || that_present_isAvailable) {
        if (!(this_present_isAvailable && that_present_isAvailable))
          return false;
        if (this.isAvailable != that.isAvailable)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(updateAvailabilityStatus_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      updateAvailabilityStatus_args typedOther = (updateAvailabilityStatus_args)other;

      lastComparison = Boolean.valueOf(isSetOperatorId()).compareTo(typedOther.isSetOperatorId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOperatorId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.operatorId, typedOther.operatorId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetCircleId()).compareTo(typedOther.isSetCircleId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetCircleId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.circleId, typedOther.circleId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetIsAvailable()).compareTo(typedOther.isSetIsAvailable());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetIsAvailable()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.isAvailable, typedOther.isAvailable);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // OPERATOR_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.operatorId = iprot.readI64();
              setOperatorIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // CIRCLE_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.circleId = iprot.readI64();
              setCircleIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // IS_AVAILABLE
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.isAvailable = iprot.readBool();
              setIsAvailableIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(OPERATOR_ID_FIELD_DESC);
      oprot.writeI64(this.operatorId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(CIRCLE_ID_FIELD_DESC);
      oprot.writeI64(this.circleId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(IS_AVAILABLE_FIELD_DESC);
      oprot.writeBool(this.isAvailable);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("updateAvailabilityStatus_args(");
      boolean first = true;

      sb.append("operatorId:");
      sb.append(this.operatorId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("circleId:");
      sb.append(this.circleId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("isAvailable:");
      sb.append(this.isAvailable);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class updateAvailabilityStatus_result implements org.apache.thrift.TBase<updateAvailabilityStatus_result, updateAvailabilityStatus_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateAvailabilityStatus_result");



    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
;

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateAvailabilityStatus_result.class, metaDataMap);
    }

    public updateAvailabilityStatus_result() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public updateAvailabilityStatus_result(updateAvailabilityStatus_result other) {
    }

    public updateAvailabilityStatus_result deepCopy() {
      return new updateAvailabilityStatus_result(this);
    }

    @Override
    public void clear() {
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof updateAvailabilityStatus_result)
        return this.equals((updateAvailabilityStatus_result)that);
      return false;
    }

    public boolean equals(updateAvailabilityStatus_result that) {
      if (that == null)
        return false;

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(updateAvailabilityStatus_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      updateAvailabilityStatus_result typedOther = (updateAvailabilityStatus_result)other;

      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("updateAvailabilityStatus_result(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getAvailableEmiSchemes_args implements org.apache.thrift.TBase<getAvailableEmiSchemes_args, getAvailableEmiSchemes_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAvailableEmiSchemes_args");



    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
;

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAvailableEmiSchemes_args.class, metaDataMap);
    }

    public getAvailableEmiSchemes_args() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getAvailableEmiSchemes_args(getAvailableEmiSchemes_args other) {
    }

    public getAvailableEmiSchemes_args deepCopy() {
      return new getAvailableEmiSchemes_args(this);
    }

    @Override
    public void clear() {
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getAvailableEmiSchemes_args)
        return this.equals((getAvailableEmiSchemes_args)that);
      return false;
    }

    public boolean equals(getAvailableEmiSchemes_args that) {
      if (that == null)
        return false;

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getAvailableEmiSchemes_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getAvailableEmiSchemes_args typedOther = (getAvailableEmiSchemes_args)other;

      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getAvailableEmiSchemes_args(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getAvailableEmiSchemes_result implements org.apache.thrift.TBase<getAvailableEmiSchemes_result, getAvailableEmiSchemes_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAvailableEmiSchemes_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);

    private List<EmiScheme> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, EmiScheme.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAvailableEmiSchemes_result.class, metaDataMap);
    }

    public getAvailableEmiSchemes_result() {
    }

    public getAvailableEmiSchemes_result(
      List<EmiScheme> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getAvailableEmiSchemes_result(getAvailableEmiSchemes_result other) {
      if (other.isSetSuccess()) {
        List<EmiScheme> __this__success = new ArrayList<EmiScheme>();
        for (EmiScheme other_element : other.success) {
          __this__success.add(new EmiScheme(other_element));
        }
        this.success = __this__success;
      }
    }

    public getAvailableEmiSchemes_result deepCopy() {
      return new getAvailableEmiSchemes_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<EmiScheme> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(EmiScheme elem) {
      if (this.success == null) {
        this.success = new ArrayList<EmiScheme>();
      }
      this.success.add(elem);
    }

    public List<EmiScheme> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<EmiScheme> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<EmiScheme>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getAvailableEmiSchemes_result)
        return this.equals((getAvailableEmiSchemes_result)that);
      return false;
    }

    public boolean equals(getAvailableEmiSchemes_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getAvailableEmiSchemes_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getAvailableEmiSchemes_result typedOther = (getAvailableEmiSchemes_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list425 = iprot.readListBegin();
                this.success = new ArrayList<EmiScheme>(_list425.size);
                for (int _i426 = 0; _i426 < _list425.size; ++_i426)
                {
                  EmiScheme _elem427; // required
                  _elem427 = new EmiScheme();
                  _elem427.read(iprot);
                  this.success.add(_elem427);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (EmiScheme _iter428 : this.success)
          {
            _iter428.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getAvailableEmiSchemes_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getMiscCharges_args implements org.apache.thrift.TBase<getMiscCharges_args, getMiscCharges_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getMiscCharges_args");

    private static final org.apache.thrift.protocol.TField TRANSACTION_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("transactionId", org.apache.thrift.protocol.TType.I64, (short)1);

    private long transactionId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      TRANSACTION_ID((short)1, "transactionId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // TRANSACTION_ID
            return TRANSACTION_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __TRANSACTIONID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.TRANSACTION_ID, new org.apache.thrift.meta_data.FieldMetaData("transactionId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getMiscCharges_args.class, metaDataMap);
    }

    public getMiscCharges_args() {
    }

    public getMiscCharges_args(
      long transactionId)
    {
      this();
      this.transactionId = transactionId;
      setTransactionIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getMiscCharges_args(getMiscCharges_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.transactionId = other.transactionId;
    }

    public getMiscCharges_args deepCopy() {
      return new getMiscCharges_args(this);
    }

    @Override
    public void clear() {
      setTransactionIdIsSet(false);
      this.transactionId = 0;
    }

    public long getTransactionId() {
      return this.transactionId;
    }

    public void setTransactionId(long transactionId) {
      this.transactionId = transactionId;
      setTransactionIdIsSet(true);
    }

    public void unsetTransactionId() {
      __isset_bit_vector.clear(__TRANSACTIONID_ISSET_ID);
    }

    /** Returns true if field transactionId is set (has been assigned a value) and false otherwise */
    public boolean isSetTransactionId() {
      return __isset_bit_vector.get(__TRANSACTIONID_ISSET_ID);
    }

    public void setTransactionIdIsSet(boolean value) {
      __isset_bit_vector.set(__TRANSACTIONID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case TRANSACTION_ID:
        if (value == null) {
          unsetTransactionId();
        } else {
          setTransactionId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case TRANSACTION_ID:
        return Long.valueOf(getTransactionId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case TRANSACTION_ID:
        return isSetTransactionId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getMiscCharges_args)
        return this.equals((getMiscCharges_args)that);
      return false;
    }

    public boolean equals(getMiscCharges_args that) {
      if (that == null)
        return false;

      boolean this_present_transactionId = true;
      boolean that_present_transactionId = true;
      if (this_present_transactionId || that_present_transactionId) {
        if (!(this_present_transactionId && that_present_transactionId))
          return false;
        if (this.transactionId != that.transactionId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getMiscCharges_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getMiscCharges_args typedOther = (getMiscCharges_args)other;

      lastComparison = Boolean.valueOf(isSetTransactionId()).compareTo(typedOther.isSetTransactionId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetTransactionId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.transactionId, typedOther.transactionId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // TRANSACTION_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.transactionId = iprot.readI64();
              setTransactionIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(TRANSACTION_ID_FIELD_DESC);
      oprot.writeI64(this.transactionId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getMiscCharges_args(");
      boolean first = true;

      sb.append("transactionId:");
      sb.append(this.transactionId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getMiscCharges_result implements org.apache.thrift.TBase<getMiscCharges_result, getMiscCharges_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getMiscCharges_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.MAP, (short)0);

    private Map<Long,Double> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64), 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getMiscCharges_result.class, metaDataMap);
    }

    public getMiscCharges_result() {
    }

    public getMiscCharges_result(
      Map<Long,Double> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getMiscCharges_result(getMiscCharges_result other) {
      if (other.isSetSuccess()) {
        Map<Long,Double> __this__success = new HashMap<Long,Double>();
        for (Map.Entry<Long, Double> other_element : other.success.entrySet()) {

          Long other_element_key = other_element.getKey();
          Double other_element_value = other_element.getValue();

          Long __this__success_copy_key = other_element_key;

          Double __this__success_copy_value = other_element_value;

          __this__success.put(__this__success_copy_key, __this__success_copy_value);
        }
        this.success = __this__success;
      }
    }

    public getMiscCharges_result deepCopy() {
      return new getMiscCharges_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public void putToSuccess(long key, double val) {
      if (this.success == null) {
        this.success = new HashMap<Long,Double>();
      }
      this.success.put(key, val);
    }

    public Map<Long,Double> getSuccess() {
      return this.success;
    }

    public void setSuccess(Map<Long,Double> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Map<Long,Double>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getMiscCharges_result)
        return this.equals((getMiscCharges_result)that);
      return false;
    }

    public boolean equals(getMiscCharges_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getMiscCharges_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getMiscCharges_result typedOther = (getMiscCharges_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.MAP) {
              {
                org.apache.thrift.protocol.TMap _map429 = iprot.readMapBegin();
                this.success = new HashMap<Long,Double>(2*_map429.size);
                for (int _i430 = 0; _i430 < _map429.size; ++_i430)
                {
                  long _key431; // required
                  double _val432; // required
                  _key431 = iprot.readI64();
                  _val432 = iprot.readDouble();
                  this.success.put(_key431, _val432);
                }
                iprot.readMapEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.I64, org.apache.thrift.protocol.TType.DOUBLE, this.success.size()));
          for (Map.Entry<Long, Double> _iter433 : this.success.entrySet())
          {
            oprot.writeI64(_iter433.getKey());
            oprot.writeDouble(_iter433.getValue());
          }
          oprot.writeMapEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getMiscCharges_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class refundRechargeOrder_args implements org.apache.thrift.TBase<refundRechargeOrder_args, refundRechargeOrder_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("refundRechargeOrder_args");

    private static final org.apache.thrift.protocol.TField RECHARGE_ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("rechargeOrderId", org.apache.thrift.protocol.TType.I64, (short)1);

    private long rechargeOrderId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      RECHARGE_ORDER_ID((short)1, "rechargeOrderId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // RECHARGE_ORDER_ID
            return RECHARGE_ORDER_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __RECHARGEORDERID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.RECHARGE_ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("rechargeOrderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(refundRechargeOrder_args.class, metaDataMap);
    }

    public refundRechargeOrder_args() {
    }

    public refundRechargeOrder_args(
      long rechargeOrderId)
    {
      this();
      this.rechargeOrderId = rechargeOrderId;
      setRechargeOrderIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public refundRechargeOrder_args(refundRechargeOrder_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.rechargeOrderId = other.rechargeOrderId;
    }

    public refundRechargeOrder_args deepCopy() {
      return new refundRechargeOrder_args(this);
    }

    @Override
    public void clear() {
      setRechargeOrderIdIsSet(false);
      this.rechargeOrderId = 0;
    }

    public long getRechargeOrderId() {
      return this.rechargeOrderId;
    }

    public void setRechargeOrderId(long rechargeOrderId) {
      this.rechargeOrderId = rechargeOrderId;
      setRechargeOrderIdIsSet(true);
    }

    public void unsetRechargeOrderId() {
      __isset_bit_vector.clear(__RECHARGEORDERID_ISSET_ID);
    }

    /** Returns true if field rechargeOrderId is set (has been assigned a value) and false otherwise */
    public boolean isSetRechargeOrderId() {
      return __isset_bit_vector.get(__RECHARGEORDERID_ISSET_ID);
    }

    public void setRechargeOrderIdIsSet(boolean value) {
      __isset_bit_vector.set(__RECHARGEORDERID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case RECHARGE_ORDER_ID:
        if (value == null) {
          unsetRechargeOrderId();
        } else {
          setRechargeOrderId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case RECHARGE_ORDER_ID:
        return Long.valueOf(getRechargeOrderId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case RECHARGE_ORDER_ID:
        return isSetRechargeOrderId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof refundRechargeOrder_args)
        return this.equals((refundRechargeOrder_args)that);
      return false;
    }

    public boolean equals(refundRechargeOrder_args that) {
      if (that == null)
        return false;

      boolean this_present_rechargeOrderId = true;
      boolean that_present_rechargeOrderId = true;
      if (this_present_rechargeOrderId || that_present_rechargeOrderId) {
        if (!(this_present_rechargeOrderId && that_present_rechargeOrderId))
          return false;
        if (this.rechargeOrderId != that.rechargeOrderId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(refundRechargeOrder_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      refundRechargeOrder_args typedOther = (refundRechargeOrder_args)other;

      lastComparison = Boolean.valueOf(isSetRechargeOrderId()).compareTo(typedOther.isSetRechargeOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetRechargeOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.rechargeOrderId, typedOther.rechargeOrderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // RECHARGE_ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.rechargeOrderId = iprot.readI64();
              setRechargeOrderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(RECHARGE_ORDER_ID_FIELD_DESC);
      oprot.writeI64(this.rechargeOrderId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("refundRechargeOrder_args(");
      boolean first = true;

      sb.append("rechargeOrderId:");
      sb.append(this.rechargeOrderId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class refundRechargeOrder_result implements org.apache.thrift.TBase<refundRechargeOrder_result, refundRechargeOrder_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("refundRechargeOrder_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private boolean success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(refundRechargeOrder_result.class, metaDataMap);
    }

    public refundRechargeOrder_result() {
    }

    public refundRechargeOrder_result(
      boolean success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public refundRechargeOrder_result(refundRechargeOrder_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public refundRechargeOrder_result deepCopy() {
      return new refundRechargeOrder_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = false;
      this.ex = null;
    }

    public boolean isSuccess() {
      return this.success;
    }

    public void setSuccess(boolean success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Boolean.valueOf(isSuccess());

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof refundRechargeOrder_result)
        return this.equals((refundRechargeOrder_result)that);
      return false;
    }

    public boolean equals(refundRechargeOrder_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(refundRechargeOrder_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      refundRechargeOrder_result typedOther = (refundRechargeOrder_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.success = iprot.readBool();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBool(this.success);
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("refundRechargeOrder_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getPhysicalOrders_args implements org.apache.thrift.TBase<getPhysicalOrders_args, getPhysicalOrders_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getPhysicalOrders_args");

    private static final org.apache.thrift.protocol.TField FROM_DATE_FIELD_DESC = new org.apache.thrift.protocol.TField("fromDate", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField TO_DATE_FIELD_DESC = new org.apache.thrift.protocol.TField("toDate", org.apache.thrift.protocol.TType.I64, (short)2);

    private long fromDate; // required
    private long toDate; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      FROM_DATE((short)1, "fromDate"),
      TO_DATE((short)2, "toDate");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // FROM_DATE
            return FROM_DATE;
          case 2: // TO_DATE
            return TO_DATE;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __FROMDATE_ISSET_ID = 0;
    private static final int __TODATE_ISSET_ID = 1;
    private BitSet __isset_bit_vector = new BitSet(2);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.FROM_DATE, new org.apache.thrift.meta_data.FieldMetaData("fromDate", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.TO_DATE, new org.apache.thrift.meta_data.FieldMetaData("toDate", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getPhysicalOrders_args.class, metaDataMap);
    }

    public getPhysicalOrders_args() {
    }

    public getPhysicalOrders_args(
      long fromDate,
      long toDate)
    {
      this();
      this.fromDate = fromDate;
      setFromDateIsSet(true);
      this.toDate = toDate;
      setToDateIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getPhysicalOrders_args(getPhysicalOrders_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.fromDate = other.fromDate;
      this.toDate = other.toDate;
    }

    public getPhysicalOrders_args deepCopy() {
      return new getPhysicalOrders_args(this);
    }

    @Override
    public void clear() {
      setFromDateIsSet(false);
      this.fromDate = 0;
      setToDateIsSet(false);
      this.toDate = 0;
    }

    public long getFromDate() {
      return this.fromDate;
    }

    public void setFromDate(long fromDate) {
      this.fromDate = fromDate;
      setFromDateIsSet(true);
    }

    public void unsetFromDate() {
      __isset_bit_vector.clear(__FROMDATE_ISSET_ID);
    }

    /** Returns true if field fromDate is set (has been assigned a value) and false otherwise */
    public boolean isSetFromDate() {
      return __isset_bit_vector.get(__FROMDATE_ISSET_ID);
    }

    public void setFromDateIsSet(boolean value) {
      __isset_bit_vector.set(__FROMDATE_ISSET_ID, value);
    }

    public long getToDate() {
      return this.toDate;
    }

    public void setToDate(long toDate) {
      this.toDate = toDate;
      setToDateIsSet(true);
    }

    public void unsetToDate() {
      __isset_bit_vector.clear(__TODATE_ISSET_ID);
    }

    /** Returns true if field toDate is set (has been assigned a value) and false otherwise */
    public boolean isSetToDate() {
      return __isset_bit_vector.get(__TODATE_ISSET_ID);
    }

    public void setToDateIsSet(boolean value) {
      __isset_bit_vector.set(__TODATE_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case FROM_DATE:
        if (value == null) {
          unsetFromDate();
        } else {
          setFromDate((Long)value);
        }
        break;

      case TO_DATE:
        if (value == null) {
          unsetToDate();
        } else {
          setToDate((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case FROM_DATE:
        return Long.valueOf(getFromDate());

      case TO_DATE:
        return Long.valueOf(getToDate());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case FROM_DATE:
        return isSetFromDate();
      case TO_DATE:
        return isSetToDate();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getPhysicalOrders_args)
        return this.equals((getPhysicalOrders_args)that);
      return false;
    }

    public boolean equals(getPhysicalOrders_args that) {
      if (that == null)
        return false;

      boolean this_present_fromDate = true;
      boolean that_present_fromDate = true;
      if (this_present_fromDate || that_present_fromDate) {
        if (!(this_present_fromDate && that_present_fromDate))
          return false;
        if (this.fromDate != that.fromDate)
          return false;
      }

      boolean this_present_toDate = true;
      boolean that_present_toDate = true;
      if (this_present_toDate || that_present_toDate) {
        if (!(this_present_toDate && that_present_toDate))
          return false;
        if (this.toDate != that.toDate)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getPhysicalOrders_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getPhysicalOrders_args typedOther = (getPhysicalOrders_args)other;

      lastComparison = Boolean.valueOf(isSetFromDate()).compareTo(typedOther.isSetFromDate());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetFromDate()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.fromDate, typedOther.fromDate);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetToDate()).compareTo(typedOther.isSetToDate());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetToDate()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.toDate, typedOther.toDate);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // FROM_DATE
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.fromDate = iprot.readI64();
              setFromDateIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // TO_DATE
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.toDate = iprot.readI64();
              setToDateIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(FROM_DATE_FIELD_DESC);
      oprot.writeI64(this.fromDate);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(TO_DATE_FIELD_DESC);
      oprot.writeI64(this.toDate);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getPhysicalOrders_args(");
      boolean first = true;

      sb.append("fromDate:");
      sb.append(this.fromDate);
      first = false;
      if (!first) sb.append(", ");
      sb.append("toDate:");
      sb.append(this.toDate);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getPhysicalOrders_result implements org.apache.thrift.TBase<getPhysicalOrders_result, getPhysicalOrders_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getPhysicalOrders_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);

    private List<Order> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Order.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getPhysicalOrders_result.class, metaDataMap);
    }

    public getPhysicalOrders_result() {
    }

    public getPhysicalOrders_result(
      List<Order> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getPhysicalOrders_result(getPhysicalOrders_result other) {
      if (other.isSetSuccess()) {
        List<Order> __this__success = new ArrayList<Order>();
        for (Order other_element : other.success) {
          __this__success.add(new Order(other_element));
        }
        this.success = __this__success;
      }
    }

    public getPhysicalOrders_result deepCopy() {
      return new getPhysicalOrders_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<Order> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(Order elem) {
      if (this.success == null) {
        this.success = new ArrayList<Order>();
      }
      this.success.add(elem);
    }

    public List<Order> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<Order> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<Order>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getPhysicalOrders_result)
        return this.equals((getPhysicalOrders_result)that);
      return false;
    }

    public boolean equals(getPhysicalOrders_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getPhysicalOrders_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getPhysicalOrders_result typedOther = (getPhysicalOrders_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list434 = iprot.readListBegin();
                this.success = new ArrayList<Order>(_list434.size);
                for (int _i435 = 0; _i435 < _list434.size; ++_i435)
                {
                  Order _elem436; // required
                  _elem436 = new Order();
                  _elem436.read(iprot);
                  this.success.add(_elem436);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (Order _iter437 : this.success)
          {
            _iter437.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getPhysicalOrders_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getDocument_args implements org.apache.thrift.TBase<getDocument_args, getDocument_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getDocument_args");

    private static final org.apache.thrift.protocol.TField DOC_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("docType", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField DOC_SOURCE_FIELD_DESC = new org.apache.thrift.protocol.TField("docSource", org.apache.thrift.protocol.TType.I64, (short)2);

    private long docType; // required
    private long docSource; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      DOC_TYPE((short)1, "docType"),
      DOC_SOURCE((short)2, "docSource");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // DOC_TYPE
            return DOC_TYPE;
          case 2: // DOC_SOURCE
            return DOC_SOURCE;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __DOCTYPE_ISSET_ID = 0;
    private static final int __DOCSOURCE_ISSET_ID = 1;
    private BitSet __isset_bit_vector = new BitSet(2);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.DOC_TYPE, new org.apache.thrift.meta_data.FieldMetaData("docType", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.DOC_SOURCE, new org.apache.thrift.meta_data.FieldMetaData("docSource", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getDocument_args.class, metaDataMap);
    }

    public getDocument_args() {
    }

    public getDocument_args(
      long docType,
      long docSource)
    {
      this();
      this.docType = docType;
      setDocTypeIsSet(true);
      this.docSource = docSource;
      setDocSourceIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getDocument_args(getDocument_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.docType = other.docType;
      this.docSource = other.docSource;
    }

    public getDocument_args deepCopy() {
      return new getDocument_args(this);
    }

    @Override
    public void clear() {
      setDocTypeIsSet(false);
      this.docType = 0;
      setDocSourceIsSet(false);
      this.docSource = 0;
    }

    public long getDocType() {
      return this.docType;
    }

    public void setDocType(long docType) {
      this.docType = docType;
      setDocTypeIsSet(true);
    }

    public void unsetDocType() {
      __isset_bit_vector.clear(__DOCTYPE_ISSET_ID);
    }

    /** Returns true if field docType is set (has been assigned a value) and false otherwise */
    public boolean isSetDocType() {
      return __isset_bit_vector.get(__DOCTYPE_ISSET_ID);
    }

    public void setDocTypeIsSet(boolean value) {
      __isset_bit_vector.set(__DOCTYPE_ISSET_ID, value);
    }

    public long getDocSource() {
      return this.docSource;
    }

    public void setDocSource(long docSource) {
      this.docSource = docSource;
      setDocSourceIsSet(true);
    }

    public void unsetDocSource() {
      __isset_bit_vector.clear(__DOCSOURCE_ISSET_ID);
    }

    /** Returns true if field docSource is set (has been assigned a value) and false otherwise */
    public boolean isSetDocSource() {
      return __isset_bit_vector.get(__DOCSOURCE_ISSET_ID);
    }

    public void setDocSourceIsSet(boolean value) {
      __isset_bit_vector.set(__DOCSOURCE_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case DOC_TYPE:
        if (value == null) {
          unsetDocType();
        } else {
          setDocType((Long)value);
        }
        break;

      case DOC_SOURCE:
        if (value == null) {
          unsetDocSource();
        } else {
          setDocSource((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case DOC_TYPE:
        return Long.valueOf(getDocType());

      case DOC_SOURCE:
        return Long.valueOf(getDocSource());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case DOC_TYPE:
        return isSetDocType();
      case DOC_SOURCE:
        return isSetDocSource();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getDocument_args)
        return this.equals((getDocument_args)that);
      return false;
    }

    public boolean equals(getDocument_args that) {
      if (that == null)
        return false;

      boolean this_present_docType = true;
      boolean that_present_docType = true;
      if (this_present_docType || that_present_docType) {
        if (!(this_present_docType && that_present_docType))
          return false;
        if (this.docType != that.docType)
          return false;
      }

      boolean this_present_docSource = true;
      boolean that_present_docSource = true;
      if (this_present_docSource || that_present_docSource) {
        if (!(this_present_docSource && that_present_docSource))
          return false;
        if (this.docSource != that.docSource)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getDocument_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getDocument_args typedOther = (getDocument_args)other;

      lastComparison = Boolean.valueOf(isSetDocType()).compareTo(typedOther.isSetDocType());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetDocType()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.docType, typedOther.docType);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetDocSource()).compareTo(typedOther.isSetDocSource());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetDocSource()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.docSource, typedOther.docSource);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // DOC_TYPE
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.docType = iprot.readI64();
              setDocTypeIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // DOC_SOURCE
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.docSource = iprot.readI64();
              setDocSourceIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(DOC_TYPE_FIELD_DESC);
      oprot.writeI64(this.docType);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(DOC_SOURCE_FIELD_DESC);
      oprot.writeI64(this.docSource);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getDocument_args(");
      boolean first = true;

      sb.append("docType:");
      sb.append(this.docType);
      first = false;
      if (!first) sb.append(", ");
      sb.append("docSource:");
      sb.append(this.docSource);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getDocument_result implements org.apache.thrift.TBase<getDocument_result, getDocument_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getDocument_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRING, (short)0);

    private ByteBuffer success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING          , true)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getDocument_result.class, metaDataMap);
    }

    public getDocument_result() {
    }

    public getDocument_result(
      ByteBuffer success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getDocument_result(getDocument_result other) {
      if (other.isSetSuccess()) {
        this.success = org.apache.thrift.TBaseHelper.copyBinary(other.success);
;
      }
    }

    public getDocument_result deepCopy() {
      return new getDocument_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public byte[] getSuccess() {
      setSuccess(org.apache.thrift.TBaseHelper.rightSize(success));
      return success == null ? null : success.array();
    }

    public ByteBuffer bufferForSuccess() {
      return success;
    }

    public void setSuccess(byte[] success) {
      setSuccess(success == null ? (ByteBuffer)null : ByteBuffer.wrap(success));
    }

    public void setSuccess(ByteBuffer success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((ByteBuffer)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getDocument_result)
        return this.equals((getDocument_result)that);
      return false;
    }

    public boolean equals(getDocument_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getDocument_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getDocument_result typedOther = (getDocument_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.success = iprot.readBinary();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBinary(this.success);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getDocument_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        org.apache.thrift.TBaseHelper.toString(this.success, sb);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class changeShippingAddress_args implements org.apache.thrift.TBase<changeShippingAddress_args, changeShippingAddress_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("changeShippingAddress_args");

    private static final org.apache.thrift.protocol.TField ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("orderId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField LINE1_FIELD_DESC = new org.apache.thrift.protocol.TField("line1", org.apache.thrift.protocol.TType.STRING, (short)2);
    private static final org.apache.thrift.protocol.TField LINE2_FIELD_DESC = new org.apache.thrift.protocol.TField("line2", org.apache.thrift.protocol.TType.STRING, (short)3);
    private static final org.apache.thrift.protocol.TField CITY_FIELD_DESC = new org.apache.thrift.protocol.TField("city", org.apache.thrift.protocol.TType.STRING, (short)4);
    private static final org.apache.thrift.protocol.TField STATE_FIELD_DESC = new org.apache.thrift.protocol.TField("state", org.apache.thrift.protocol.TType.STRING, (short)5);
    private static final org.apache.thrift.protocol.TField PIN_FIELD_DESC = new org.apache.thrift.protocol.TField("pin", org.apache.thrift.protocol.TType.STRING, (short)6);

    private long orderId; // required
    private String line1; // required
    private String line2; // required
    private String city; // required
    private String state; // required
    private String pin; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ORDER_ID((short)1, "orderId"),
      LINE1((short)2, "line1"),
      LINE2((short)3, "line2"),
      CITY((short)4, "city"),
      STATE((short)5, "state"),
      PIN((short)6, "pin");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ORDER_ID
            return ORDER_ID;
          case 2: // LINE1
            return LINE1;
          case 3: // LINE2
            return LINE2;
          case 4: // CITY
            return CITY;
          case 5: // STATE
            return STATE;
          case 6: // PIN
            return PIN;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ORDERID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("orderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.LINE1, new org.apache.thrift.meta_data.FieldMetaData("line1", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.LINE2, new org.apache.thrift.meta_data.FieldMetaData("line2", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.CITY, new org.apache.thrift.meta_data.FieldMetaData("city", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.STATE, new org.apache.thrift.meta_data.FieldMetaData("state", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.PIN, new org.apache.thrift.meta_data.FieldMetaData("pin", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(changeShippingAddress_args.class, metaDataMap);
    }

    public changeShippingAddress_args() {
    }

    public changeShippingAddress_args(
      long orderId,
      String line1,
      String line2,
      String city,
      String state,
      String pin)
    {
      this();
      this.orderId = orderId;
      setOrderIdIsSet(true);
      this.line1 = line1;
      this.line2 = line2;
      this.city = city;
      this.state = state;
      this.pin = pin;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public changeShippingAddress_args(changeShippingAddress_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.orderId = other.orderId;
      if (other.isSetLine1()) {
        this.line1 = other.line1;
      }
      if (other.isSetLine2()) {
        this.line2 = other.line2;
      }
      if (other.isSetCity()) {
        this.city = other.city;
      }
      if (other.isSetState()) {
        this.state = other.state;
      }
      if (other.isSetPin()) {
        this.pin = other.pin;
      }
    }

    public changeShippingAddress_args deepCopy() {
      return new changeShippingAddress_args(this);
    }

    @Override
    public void clear() {
      setOrderIdIsSet(false);
      this.orderId = 0;
      this.line1 = null;
      this.line2 = null;
      this.city = null;
      this.state = null;
      this.pin = null;
    }

    public long getOrderId() {
      return this.orderId;
    }

    public void setOrderId(long orderId) {
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    public void unsetOrderId() {
      __isset_bit_vector.clear(__ORDERID_ISSET_ID);
    }

    /** Returns true if field orderId is set (has been assigned a value) and false otherwise */
    public boolean isSetOrderId() {
      return __isset_bit_vector.get(__ORDERID_ISSET_ID);
    }

    public void setOrderIdIsSet(boolean value) {
      __isset_bit_vector.set(__ORDERID_ISSET_ID, value);
    }

    public String getLine1() {
      return this.line1;
    }

    public void setLine1(String line1) {
      this.line1 = line1;
    }

    public void unsetLine1() {
      this.line1 = null;
    }

    /** Returns true if field line1 is set (has been assigned a value) and false otherwise */
    public boolean isSetLine1() {
      return this.line1 != null;
    }

    public void setLine1IsSet(boolean value) {
      if (!value) {
        this.line1 = null;
      }
    }

    public String getLine2() {
      return this.line2;
    }

    public void setLine2(String line2) {
      this.line2 = line2;
    }

    public void unsetLine2() {
      this.line2 = null;
    }

    /** Returns true if field line2 is set (has been assigned a value) and false otherwise */
    public boolean isSetLine2() {
      return this.line2 != null;
    }

    public void setLine2IsSet(boolean value) {
      if (!value) {
        this.line2 = null;
      }
    }

    public String getCity() {
      return this.city;
    }

    public void setCity(String city) {
      this.city = city;
    }

    public void unsetCity() {
      this.city = null;
    }

    /** Returns true if field city is set (has been assigned a value) and false otherwise */
    public boolean isSetCity() {
      return this.city != null;
    }

    public void setCityIsSet(boolean value) {
      if (!value) {
        this.city = null;
      }
    }

    public String getState() {
      return this.state;
    }

    public void setState(String state) {
      this.state = state;
    }

    public void unsetState() {
      this.state = null;
    }

    /** Returns true if field state is set (has been assigned a value) and false otherwise */
    public boolean isSetState() {
      return this.state != null;
    }

    public void setStateIsSet(boolean value) {
      if (!value) {
        this.state = null;
      }
    }

    public String getPin() {
      return this.pin;
    }

    public void setPin(String pin) {
      this.pin = pin;
    }

    public void unsetPin() {
      this.pin = null;
    }

    /** Returns true if field pin is set (has been assigned a value) and false otherwise */
    public boolean isSetPin() {
      return this.pin != null;
    }

    public void setPinIsSet(boolean value) {
      if (!value) {
        this.pin = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ORDER_ID:
        if (value == null) {
          unsetOrderId();
        } else {
          setOrderId((Long)value);
        }
        break;

      case LINE1:
        if (value == null) {
          unsetLine1();
        } else {
          setLine1((String)value);
        }
        break;

      case LINE2:
        if (value == null) {
          unsetLine2();
        } else {
          setLine2((String)value);
        }
        break;

      case CITY:
        if (value == null) {
          unsetCity();
        } else {
          setCity((String)value);
        }
        break;

      case STATE:
        if (value == null) {
          unsetState();
        } else {
          setState((String)value);
        }
        break;

      case PIN:
        if (value == null) {
          unsetPin();
        } else {
          setPin((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ORDER_ID:
        return Long.valueOf(getOrderId());

      case LINE1:
        return getLine1();

      case LINE2:
        return getLine2();

      case CITY:
        return getCity();

      case STATE:
        return getState();

      case PIN:
        return getPin();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ORDER_ID:
        return isSetOrderId();
      case LINE1:
        return isSetLine1();
      case LINE2:
        return isSetLine2();
      case CITY:
        return isSetCity();
      case STATE:
        return isSetState();
      case PIN:
        return isSetPin();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof changeShippingAddress_args)
        return this.equals((changeShippingAddress_args)that);
      return false;
    }

    public boolean equals(changeShippingAddress_args that) {
      if (that == null)
        return false;

      boolean this_present_orderId = true;
      boolean that_present_orderId = true;
      if (this_present_orderId || that_present_orderId) {
        if (!(this_present_orderId && that_present_orderId))
          return false;
        if (this.orderId != that.orderId)
          return false;
      }

      boolean this_present_line1 = true && this.isSetLine1();
      boolean that_present_line1 = true && that.isSetLine1();
      if (this_present_line1 || that_present_line1) {
        if (!(this_present_line1 && that_present_line1))
          return false;
        if (!this.line1.equals(that.line1))
          return false;
      }

      boolean this_present_line2 = true && this.isSetLine2();
      boolean that_present_line2 = true && that.isSetLine2();
      if (this_present_line2 || that_present_line2) {
        if (!(this_present_line2 && that_present_line2))
          return false;
        if (!this.line2.equals(that.line2))
          return false;
      }

      boolean this_present_city = true && this.isSetCity();
      boolean that_present_city = true && that.isSetCity();
      if (this_present_city || that_present_city) {
        if (!(this_present_city && that_present_city))
          return false;
        if (!this.city.equals(that.city))
          return false;
      }

      boolean this_present_state = true && this.isSetState();
      boolean that_present_state = true && that.isSetState();
      if (this_present_state || that_present_state) {
        if (!(this_present_state && that_present_state))
          return false;
        if (!this.state.equals(that.state))
          return false;
      }

      boolean this_present_pin = true && this.isSetPin();
      boolean that_present_pin = true && that.isSetPin();
      if (this_present_pin || that_present_pin) {
        if (!(this_present_pin && that_present_pin))
          return false;
        if (!this.pin.equals(that.pin))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(changeShippingAddress_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      changeShippingAddress_args typedOther = (changeShippingAddress_args)other;

      lastComparison = Boolean.valueOf(isSetOrderId()).compareTo(typedOther.isSetOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.orderId, typedOther.orderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetLine1()).compareTo(typedOther.isSetLine1());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetLine1()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.line1, typedOther.line1);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetLine2()).compareTo(typedOther.isSetLine2());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetLine2()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.line2, typedOther.line2);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetCity()).compareTo(typedOther.isSetCity());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetCity()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.city, typedOther.city);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetState()).compareTo(typedOther.isSetState());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetState()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.state, typedOther.state);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetPin()).compareTo(typedOther.isSetPin());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetPin()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.pin, typedOther.pin);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.orderId = iprot.readI64();
              setOrderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // LINE1
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.line1 = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // LINE2
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.line2 = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 4: // CITY
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.city = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 5: // STATE
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.state = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 6: // PIN
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.pin = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ORDER_ID_FIELD_DESC);
      oprot.writeI64(this.orderId);
      oprot.writeFieldEnd();
      if (this.line1 != null) {
        oprot.writeFieldBegin(LINE1_FIELD_DESC);
        oprot.writeString(this.line1);
        oprot.writeFieldEnd();
      }
      if (this.line2 != null) {
        oprot.writeFieldBegin(LINE2_FIELD_DESC);
        oprot.writeString(this.line2);
        oprot.writeFieldEnd();
      }
      if (this.city != null) {
        oprot.writeFieldBegin(CITY_FIELD_DESC);
        oprot.writeString(this.city);
        oprot.writeFieldEnd();
      }
      if (this.state != null) {
        oprot.writeFieldBegin(STATE_FIELD_DESC);
        oprot.writeString(this.state);
        oprot.writeFieldEnd();
      }
      if (this.pin != null) {
        oprot.writeFieldBegin(PIN_FIELD_DESC);
        oprot.writeString(this.pin);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("changeShippingAddress_args(");
      boolean first = true;

      sb.append("orderId:");
      sb.append(this.orderId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("line1:");
      if (this.line1 == null) {
        sb.append("null");
      } else {
        sb.append(this.line1);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("line2:");
      if (this.line2 == null) {
        sb.append("null");
      } else {
        sb.append(this.line2);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("city:");
      if (this.city == null) {
        sb.append("null");
      } else {
        sb.append(this.city);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("state:");
      if (this.state == null) {
        sb.append("null");
      } else {
        sb.append(this.state);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("pin:");
      if (this.pin == null) {
        sb.append("null");
      } else {
        sb.append(this.pin);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class changeShippingAddress_result implements org.apache.thrift.TBase<changeShippingAddress_result, changeShippingAddress_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("changeShippingAddress_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);

    private boolean success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(changeShippingAddress_result.class, metaDataMap);
    }

    public changeShippingAddress_result() {
    }

    public changeShippingAddress_result(
      boolean success)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public changeShippingAddress_result(changeShippingAddress_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
    }

    public changeShippingAddress_result deepCopy() {
      return new changeShippingAddress_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = false;
    }

    public boolean isSuccess() {
      return this.success;
    }

    public void setSuccess(boolean success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Boolean.valueOf(isSuccess());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof changeShippingAddress_result)
        return this.equals((changeShippingAddress_result)that);
      return false;
    }

    public boolean equals(changeShippingAddress_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(changeShippingAddress_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      changeShippingAddress_result typedOther = (changeShippingAddress_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.success = iprot.readBool();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBool(this.success);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("changeShippingAddress_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class retrieveInvoice_args implements org.apache.thrift.TBase<retrieveInvoice_args, retrieveInvoice_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("retrieveInvoice_args");

    private static final org.apache.thrift.protocol.TField ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("orderId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField USER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("userId", org.apache.thrift.protocol.TType.I64, (short)2);

    private long orderId; // required
    private long userId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ORDER_ID((short)1, "orderId"),
      USER_ID((short)2, "userId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ORDER_ID
            return ORDER_ID;
          case 2: // USER_ID
            return USER_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ORDERID_ISSET_ID = 0;
    private static final int __USERID_ISSET_ID = 1;
    private BitSet __isset_bit_vector = new BitSet(2);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("orderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.USER_ID, new org.apache.thrift.meta_data.FieldMetaData("userId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(retrieveInvoice_args.class, metaDataMap);
    }

    public retrieveInvoice_args() {
    }

    public retrieveInvoice_args(
      long orderId,
      long userId)
    {
      this();
      this.orderId = orderId;
      setOrderIdIsSet(true);
      this.userId = userId;
      setUserIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public retrieveInvoice_args(retrieveInvoice_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.orderId = other.orderId;
      this.userId = other.userId;
    }

    public retrieveInvoice_args deepCopy() {
      return new retrieveInvoice_args(this);
    }

    @Override
    public void clear() {
      setOrderIdIsSet(false);
      this.orderId = 0;
      setUserIdIsSet(false);
      this.userId = 0;
    }

    public long getOrderId() {
      return this.orderId;
    }

    public void setOrderId(long orderId) {
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    public void unsetOrderId() {
      __isset_bit_vector.clear(__ORDERID_ISSET_ID);
    }

    /** Returns true if field orderId is set (has been assigned a value) and false otherwise */
    public boolean isSetOrderId() {
      return __isset_bit_vector.get(__ORDERID_ISSET_ID);
    }

    public void setOrderIdIsSet(boolean value) {
      __isset_bit_vector.set(__ORDERID_ISSET_ID, value);
    }

    public long getUserId() {
      return this.userId;
    }

    public void setUserId(long userId) {
      this.userId = userId;
      setUserIdIsSet(true);
    }

    public void unsetUserId() {
      __isset_bit_vector.clear(__USERID_ISSET_ID);
    }

    /** Returns true if field userId is set (has been assigned a value) and false otherwise */
    public boolean isSetUserId() {
      return __isset_bit_vector.get(__USERID_ISSET_ID);
    }

    public void setUserIdIsSet(boolean value) {
      __isset_bit_vector.set(__USERID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ORDER_ID:
        if (value == null) {
          unsetOrderId();
        } else {
          setOrderId((Long)value);
        }
        break;

      case USER_ID:
        if (value == null) {
          unsetUserId();
        } else {
          setUserId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ORDER_ID:
        return Long.valueOf(getOrderId());

      case USER_ID:
        return Long.valueOf(getUserId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ORDER_ID:
        return isSetOrderId();
      case USER_ID:
        return isSetUserId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof retrieveInvoice_args)
        return this.equals((retrieveInvoice_args)that);
      return false;
    }

    public boolean equals(retrieveInvoice_args that) {
      if (that == null)
        return false;

      boolean this_present_orderId = true;
      boolean that_present_orderId = true;
      if (this_present_orderId || that_present_orderId) {
        if (!(this_present_orderId && that_present_orderId))
          return false;
        if (this.orderId != that.orderId)
          return false;
      }

      boolean this_present_userId = true;
      boolean that_present_userId = true;
      if (this_present_userId || that_present_userId) {
        if (!(this_present_userId && that_present_userId))
          return false;
        if (this.userId != that.userId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(retrieveInvoice_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      retrieveInvoice_args typedOther = (retrieveInvoice_args)other;

      lastComparison = Boolean.valueOf(isSetOrderId()).compareTo(typedOther.isSetOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.orderId, typedOther.orderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetUserId()).compareTo(typedOther.isSetUserId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetUserId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.userId, typedOther.userId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.orderId = iprot.readI64();
              setOrderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // USER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.userId = iprot.readI64();
              setUserIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ORDER_ID_FIELD_DESC);
      oprot.writeI64(this.orderId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(USER_ID_FIELD_DESC);
      oprot.writeI64(this.userId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("retrieveInvoice_args(");
      boolean first = true;

      sb.append("orderId:");
      sb.append(this.orderId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("userId:");
      sb.append(this.userId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class retrieveInvoice_result implements org.apache.thrift.TBase<retrieveInvoice_result, retrieveInvoice_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("retrieveInvoice_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRING, (short)0);

    private ByteBuffer success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING          , true)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(retrieveInvoice_result.class, metaDataMap);
    }

    public retrieveInvoice_result() {
    }

    public retrieveInvoice_result(
      ByteBuffer success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public retrieveInvoice_result(retrieveInvoice_result other) {
      if (other.isSetSuccess()) {
        this.success = org.apache.thrift.TBaseHelper.copyBinary(other.success);
;
      }
    }

    public retrieveInvoice_result deepCopy() {
      return new retrieveInvoice_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public byte[] getSuccess() {
      setSuccess(org.apache.thrift.TBaseHelper.rightSize(success));
      return success == null ? null : success.array();
    }

    public ByteBuffer bufferForSuccess() {
      return success;
    }

    public void setSuccess(byte[] success) {
      setSuccess(success == null ? (ByteBuffer)null : ByteBuffer.wrap(success));
    }

    public void setSuccess(ByteBuffer success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((ByteBuffer)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof retrieveInvoice_result)
        return this.equals((retrieveInvoice_result)that);
      return false;
    }

    public boolean equals(retrieveInvoice_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(retrieveInvoice_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      retrieveInvoice_result typedOther = (retrieveInvoice_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.success = iprot.readBinary();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBinary(this.success);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("retrieveInvoice_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        org.apache.thrift.TBaseHelper.toString(this.success, sb);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class receiveUpdatesForRedExpress_args implements org.apache.thrift.TBase<receiveUpdatesForRedExpress_args, receiveUpdatesForRedExpress_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("receiveUpdatesForRedExpress_args");

    private static final org.apache.thrift.protocol.TField AWB_NUMBER_FIELD_DESC = new org.apache.thrift.protocol.TField("awbNumber", org.apache.thrift.protocol.TType.STRING, (short)1);

    private String awbNumber; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      AWB_NUMBER((short)1, "awbNumber");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // AWB_NUMBER
            return AWB_NUMBER;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.AWB_NUMBER, new org.apache.thrift.meta_data.FieldMetaData("awbNumber", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(receiveUpdatesForRedExpress_args.class, metaDataMap);
    }

    public receiveUpdatesForRedExpress_args() {
    }

    public receiveUpdatesForRedExpress_args(
      String awbNumber)
    {
      this();
      this.awbNumber = awbNumber;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public receiveUpdatesForRedExpress_args(receiveUpdatesForRedExpress_args other) {
      if (other.isSetAwbNumber()) {
        this.awbNumber = other.awbNumber;
      }
    }

    public receiveUpdatesForRedExpress_args deepCopy() {
      return new receiveUpdatesForRedExpress_args(this);
    }

    @Override
    public void clear() {
      this.awbNumber = null;
    }

    public String getAwbNumber() {
      return this.awbNumber;
    }

    public void setAwbNumber(String awbNumber) {
      this.awbNumber = awbNumber;
    }

    public void unsetAwbNumber() {
      this.awbNumber = null;
    }

    /** Returns true if field awbNumber is set (has been assigned a value) and false otherwise */
    public boolean isSetAwbNumber() {
      return this.awbNumber != null;
    }

    public void setAwbNumberIsSet(boolean value) {
      if (!value) {
        this.awbNumber = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case AWB_NUMBER:
        if (value == null) {
          unsetAwbNumber();
        } else {
          setAwbNumber((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case AWB_NUMBER:
        return getAwbNumber();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case AWB_NUMBER:
        return isSetAwbNumber();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof receiveUpdatesForRedExpress_args)
        return this.equals((receiveUpdatesForRedExpress_args)that);
      return false;
    }

    public boolean equals(receiveUpdatesForRedExpress_args that) {
      if (that == null)
        return false;

      boolean this_present_awbNumber = true && this.isSetAwbNumber();
      boolean that_present_awbNumber = true && that.isSetAwbNumber();
      if (this_present_awbNumber || that_present_awbNumber) {
        if (!(this_present_awbNumber && that_present_awbNumber))
          return false;
        if (!this.awbNumber.equals(that.awbNumber))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(receiveUpdatesForRedExpress_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      receiveUpdatesForRedExpress_args typedOther = (receiveUpdatesForRedExpress_args)other;

      lastComparison = Boolean.valueOf(isSetAwbNumber()).compareTo(typedOther.isSetAwbNumber());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetAwbNumber()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.awbNumber, typedOther.awbNumber);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // AWB_NUMBER
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.awbNumber = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.awbNumber != null) {
        oprot.writeFieldBegin(AWB_NUMBER_FIELD_DESC);
        oprot.writeString(this.awbNumber);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("receiveUpdatesForRedExpress_args(");
      boolean first = true;

      sb.append("awbNumber:");
      if (this.awbNumber == null) {
        sb.append("null");
      } else {
        sb.append(this.awbNumber);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class receiveUpdatesForRedExpress_result implements org.apache.thrift.TBase<receiveUpdatesForRedExpress_result, receiveUpdatesForRedExpress_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("receiveUpdatesForRedExpress_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);

    private List<String> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(receiveUpdatesForRedExpress_result.class, metaDataMap);
    }

    public receiveUpdatesForRedExpress_result() {
    }

    public receiveUpdatesForRedExpress_result(
      List<String> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public receiveUpdatesForRedExpress_result(receiveUpdatesForRedExpress_result other) {
      if (other.isSetSuccess()) {
        List<String> __this__success = new ArrayList<String>();
        for (String other_element : other.success) {
          __this__success.add(other_element);
        }
        this.success = __this__success;
      }
    }

    public receiveUpdatesForRedExpress_result deepCopy() {
      return new receiveUpdatesForRedExpress_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<String> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(String elem) {
      if (this.success == null) {
        this.success = new ArrayList<String>();
      }
      this.success.add(elem);
    }

    public List<String> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<String> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<String>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof receiveUpdatesForRedExpress_result)
        return this.equals((receiveUpdatesForRedExpress_result)that);
      return false;
    }

    public boolean equals(receiveUpdatesForRedExpress_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(receiveUpdatesForRedExpress_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      receiveUpdatesForRedExpress_result typedOther = (receiveUpdatesForRedExpress_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list438 = iprot.readListBegin();
                this.success = new ArrayList<String>(_list438.size);
                for (int _i439 = 0; _i439 < _list438.size; ++_i439)
                {
                  String _elem440; // required
                  _elem440 = iprot.readString();
                  this.success.add(_elem440);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, this.success.size()));
          for (String _iter441 : this.success)
          {
            oprot.writeString(_iter441);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("receiveUpdatesForRedExpress_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class createRechargeTransaction_args implements org.apache.thrift.TBase<createRechargeTransaction_args, createRechargeTransaction_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("createRechargeTransaction_args");

    private static final org.apache.thrift.protocol.TField THRIFT_RECHARGE_TRANSACTION_FIELD_DESC = new org.apache.thrift.protocol.TField("thriftRechargeTransaction", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private RechargeTransaction thriftRechargeTransaction; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      THRIFT_RECHARGE_TRANSACTION((short)1, "thriftRechargeTransaction");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // THRIFT_RECHARGE_TRANSACTION
            return THRIFT_RECHARGE_TRANSACTION;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.THRIFT_RECHARGE_TRANSACTION, new org.apache.thrift.meta_data.FieldMetaData("thriftRechargeTransaction", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, RechargeTransaction.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(createRechargeTransaction_args.class, metaDataMap);
    }

    public createRechargeTransaction_args() {
    }

    public createRechargeTransaction_args(
      RechargeTransaction thriftRechargeTransaction)
    {
      this();
      this.thriftRechargeTransaction = thriftRechargeTransaction;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public createRechargeTransaction_args(createRechargeTransaction_args other) {
      if (other.isSetThriftRechargeTransaction()) {
        this.thriftRechargeTransaction = new RechargeTransaction(other.thriftRechargeTransaction);
      }
    }

    public createRechargeTransaction_args deepCopy() {
      return new createRechargeTransaction_args(this);
    }

    @Override
    public void clear() {
      this.thriftRechargeTransaction = null;
    }

    public RechargeTransaction getThriftRechargeTransaction() {
      return this.thriftRechargeTransaction;
    }

    public void setThriftRechargeTransaction(RechargeTransaction thriftRechargeTransaction) {
      this.thriftRechargeTransaction = thriftRechargeTransaction;
    }

    public void unsetThriftRechargeTransaction() {
      this.thriftRechargeTransaction = null;
    }

    /** Returns true if field thriftRechargeTransaction is set (has been assigned a value) and false otherwise */
    public boolean isSetThriftRechargeTransaction() {
      return this.thriftRechargeTransaction != null;
    }

    public void setThriftRechargeTransactionIsSet(boolean value) {
      if (!value) {
        this.thriftRechargeTransaction = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case THRIFT_RECHARGE_TRANSACTION:
        if (value == null) {
          unsetThriftRechargeTransaction();
        } else {
          setThriftRechargeTransaction((RechargeTransaction)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case THRIFT_RECHARGE_TRANSACTION:
        return getThriftRechargeTransaction();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case THRIFT_RECHARGE_TRANSACTION:
        return isSetThriftRechargeTransaction();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof createRechargeTransaction_args)
        return this.equals((createRechargeTransaction_args)that);
      return false;
    }

    public boolean equals(createRechargeTransaction_args that) {
      if (that == null)
        return false;

      boolean this_present_thriftRechargeTransaction = true && this.isSetThriftRechargeTransaction();
      boolean that_present_thriftRechargeTransaction = true && that.isSetThriftRechargeTransaction();
      if (this_present_thriftRechargeTransaction || that_present_thriftRechargeTransaction) {
        if (!(this_present_thriftRechargeTransaction && that_present_thriftRechargeTransaction))
          return false;
        if (!this.thriftRechargeTransaction.equals(that.thriftRechargeTransaction))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(createRechargeTransaction_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      createRechargeTransaction_args typedOther = (createRechargeTransaction_args)other;

      lastComparison = Boolean.valueOf(isSetThriftRechargeTransaction()).compareTo(typedOther.isSetThriftRechargeTransaction());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetThriftRechargeTransaction()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.thriftRechargeTransaction, typedOther.thriftRechargeTransaction);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // THRIFT_RECHARGE_TRANSACTION
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.thriftRechargeTransaction = new RechargeTransaction();
              this.thriftRechargeTransaction.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.thriftRechargeTransaction != null) {
        oprot.writeFieldBegin(THRIFT_RECHARGE_TRANSACTION_FIELD_DESC);
        this.thriftRechargeTransaction.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("createRechargeTransaction_args(");
      boolean first = true;

      sb.append("thriftRechargeTransaction:");
      if (this.thriftRechargeTransaction == null) {
        sb.append("null");
      } else {
        sb.append(this.thriftRechargeTransaction);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class createRechargeTransaction_result implements org.apache.thrift.TBase<createRechargeTransaction_result, createRechargeTransaction_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("createRechargeTransaction_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);

    private RechargeTransaction success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, RechargeTransaction.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(createRechargeTransaction_result.class, metaDataMap);
    }

    public createRechargeTransaction_result() {
    }

    public createRechargeTransaction_result(
      RechargeTransaction success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public createRechargeTransaction_result(createRechargeTransaction_result other) {
      if (other.isSetSuccess()) {
        this.success = new RechargeTransaction(other.success);
      }
    }

    public createRechargeTransaction_result deepCopy() {
      return new createRechargeTransaction_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public RechargeTransaction getSuccess() {
      return this.success;
    }

    public void setSuccess(RechargeTransaction success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((RechargeTransaction)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof createRechargeTransaction_result)
        return this.equals((createRechargeTransaction_result)that);
      return false;
    }

    public boolean equals(createRechargeTransaction_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(createRechargeTransaction_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      createRechargeTransaction_result typedOther = (createRechargeTransaction_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.success = new RechargeTransaction();
              this.success.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        this.success.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("createRechargeTransaction_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getRechargeTransactions_args implements org.apache.thrift.TBase<getRechargeTransactions_args, getRechargeTransactions_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getRechargeTransactions_args");

    private static final org.apache.thrift.protocol.TField STORE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("storeId", org.apache.thrift.protocol.TType.I64, (short)1);

    private long storeId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      STORE_ID((short)1, "storeId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // STORE_ID
            return STORE_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __STOREID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.STORE_ID, new org.apache.thrift.meta_data.FieldMetaData("storeId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getRechargeTransactions_args.class, metaDataMap);
    }

    public getRechargeTransactions_args() {
    }

    public getRechargeTransactions_args(
      long storeId)
    {
      this();
      this.storeId = storeId;
      setStoreIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getRechargeTransactions_args(getRechargeTransactions_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.storeId = other.storeId;
    }

    public getRechargeTransactions_args deepCopy() {
      return new getRechargeTransactions_args(this);
    }

    @Override
    public void clear() {
      setStoreIdIsSet(false);
      this.storeId = 0;
    }

    public long getStoreId() {
      return this.storeId;
    }

    public void setStoreId(long storeId) {
      this.storeId = storeId;
      setStoreIdIsSet(true);
    }

    public void unsetStoreId() {
      __isset_bit_vector.clear(__STOREID_ISSET_ID);
    }

    /** Returns true if field storeId is set (has been assigned a value) and false otherwise */
    public boolean isSetStoreId() {
      return __isset_bit_vector.get(__STOREID_ISSET_ID);
    }

    public void setStoreIdIsSet(boolean value) {
      __isset_bit_vector.set(__STOREID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case STORE_ID:
        if (value == null) {
          unsetStoreId();
        } else {
          setStoreId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case STORE_ID:
        return Long.valueOf(getStoreId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case STORE_ID:
        return isSetStoreId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getRechargeTransactions_args)
        return this.equals((getRechargeTransactions_args)that);
      return false;
    }

    public boolean equals(getRechargeTransactions_args that) {
      if (that == null)
        return false;

      boolean this_present_storeId = true;
      boolean that_present_storeId = true;
      if (this_present_storeId || that_present_storeId) {
        if (!(this_present_storeId && that_present_storeId))
          return false;
        if (this.storeId != that.storeId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getRechargeTransactions_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getRechargeTransactions_args typedOther = (getRechargeTransactions_args)other;

      lastComparison = Boolean.valueOf(isSetStoreId()).compareTo(typedOther.isSetStoreId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetStoreId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.storeId, typedOther.storeId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // STORE_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.storeId = iprot.readI64();
              setStoreIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(STORE_ID_FIELD_DESC);
      oprot.writeI64(this.storeId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getRechargeTransactions_args(");
      boolean first = true;

      sb.append("storeId:");
      sb.append(this.storeId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getRechargeTransactions_result implements org.apache.thrift.TBase<getRechargeTransactions_result, getRechargeTransactions_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getRechargeTransactions_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);

    private List<RechargeTransaction> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, RechargeTransaction.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getRechargeTransactions_result.class, metaDataMap);
    }

    public getRechargeTransactions_result() {
    }

    public getRechargeTransactions_result(
      List<RechargeTransaction> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getRechargeTransactions_result(getRechargeTransactions_result other) {
      if (other.isSetSuccess()) {
        List<RechargeTransaction> __this__success = new ArrayList<RechargeTransaction>();
        for (RechargeTransaction other_element : other.success) {
          __this__success.add(new RechargeTransaction(other_element));
        }
        this.success = __this__success;
      }
    }

    public getRechargeTransactions_result deepCopy() {
      return new getRechargeTransactions_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<RechargeTransaction> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(RechargeTransaction elem) {
      if (this.success == null) {
        this.success = new ArrayList<RechargeTransaction>();
      }
      this.success.add(elem);
    }

    public List<RechargeTransaction> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<RechargeTransaction> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<RechargeTransaction>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getRechargeTransactions_result)
        return this.equals((getRechargeTransactions_result)that);
      return false;
    }

    public boolean equals(getRechargeTransactions_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getRechargeTransactions_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getRechargeTransactions_result typedOther = (getRechargeTransactions_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list442 = iprot.readListBegin();
                this.success = new ArrayList<RechargeTransaction>(_list442.size);
                for (int _i443 = 0; _i443 < _list442.size; ++_i443)
                {
                  RechargeTransaction _elem444; // required
                  _elem444 = new RechargeTransaction();
                  _elem444.read(iprot);
                  this.success.add(_elem444);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (RechargeTransaction _iter445 : this.success)
          {
            _iter445.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getRechargeTransactions_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getRechargeTrans_args implements org.apache.thrift.TBase<getRechargeTrans_args, getRechargeTrans_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getRechargeTrans_args");

    private static final org.apache.thrift.protocol.TField STORE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("storeId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField START_DATE_FIELD_DESC = new org.apache.thrift.protocol.TField("startDate", org.apache.thrift.protocol.TType.I64, (short)2);
    private static final org.apache.thrift.protocol.TField END_DATE_FIELD_DESC = new org.apache.thrift.protocol.TField("endDate", org.apache.thrift.protocol.TType.I64, (short)3);
    private static final org.apache.thrift.protocol.TField STATUS_FIELD_DESC = new org.apache.thrift.protocol.TField("status", org.apache.thrift.protocol.TType.I32, (short)4);

    private long storeId; // required
    private long startDate; // required
    private long endDate; // required
    private RechargeOrderStatus status; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      STORE_ID((short)1, "storeId"),
      START_DATE((short)2, "startDate"),
      END_DATE((short)3, "endDate"),
      /**
       * 
       * @see RechargeOrderStatus
       */
      STATUS((short)4, "status");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // STORE_ID
            return STORE_ID;
          case 2: // START_DATE
            return START_DATE;
          case 3: // END_DATE
            return END_DATE;
          case 4: // STATUS
            return STATUS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __STOREID_ISSET_ID = 0;
    private static final int __STARTDATE_ISSET_ID = 1;
    private static final int __ENDDATE_ISSET_ID = 2;
    private BitSet __isset_bit_vector = new BitSet(3);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.STORE_ID, new org.apache.thrift.meta_data.FieldMetaData("storeId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.START_DATE, new org.apache.thrift.meta_data.FieldMetaData("startDate", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.END_DATE, new org.apache.thrift.meta_data.FieldMetaData("endDate", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.STATUS, new org.apache.thrift.meta_data.FieldMetaData("status", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, RechargeOrderStatus.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getRechargeTrans_args.class, metaDataMap);
    }

    public getRechargeTrans_args() {
    }

    public getRechargeTrans_args(
      long storeId,
      long startDate,
      long endDate,
      RechargeOrderStatus status)
    {
      this();
      this.storeId = storeId;
      setStoreIdIsSet(true);
      this.startDate = startDate;
      setStartDateIsSet(true);
      this.endDate = endDate;
      setEndDateIsSet(true);
      this.status = status;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getRechargeTrans_args(getRechargeTrans_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.storeId = other.storeId;
      this.startDate = other.startDate;
      this.endDate = other.endDate;
      if (other.isSetStatus()) {
        this.status = other.status;
      }
    }

    public getRechargeTrans_args deepCopy() {
      return new getRechargeTrans_args(this);
    }

    @Override
    public void clear() {
      setStoreIdIsSet(false);
      this.storeId = 0;
      setStartDateIsSet(false);
      this.startDate = 0;
      setEndDateIsSet(false);
      this.endDate = 0;
      this.status = null;
    }

    public long getStoreId() {
      return this.storeId;
    }

    public void setStoreId(long storeId) {
      this.storeId = storeId;
      setStoreIdIsSet(true);
    }

    public void unsetStoreId() {
      __isset_bit_vector.clear(__STOREID_ISSET_ID);
    }

    /** Returns true if field storeId is set (has been assigned a value) and false otherwise */
    public boolean isSetStoreId() {
      return __isset_bit_vector.get(__STOREID_ISSET_ID);
    }

    public void setStoreIdIsSet(boolean value) {
      __isset_bit_vector.set(__STOREID_ISSET_ID, value);
    }

    public long getStartDate() {
      return this.startDate;
    }

    public void setStartDate(long startDate) {
      this.startDate = startDate;
      setStartDateIsSet(true);
    }

    public void unsetStartDate() {
      __isset_bit_vector.clear(__STARTDATE_ISSET_ID);
    }

    /** Returns true if field startDate is set (has been assigned a value) and false otherwise */
    public boolean isSetStartDate() {
      return __isset_bit_vector.get(__STARTDATE_ISSET_ID);
    }

    public void setStartDateIsSet(boolean value) {
      __isset_bit_vector.set(__STARTDATE_ISSET_ID, value);
    }

    public long getEndDate() {
      return this.endDate;
    }

    public void setEndDate(long endDate) {
      this.endDate = endDate;
      setEndDateIsSet(true);
    }

    public void unsetEndDate() {
      __isset_bit_vector.clear(__ENDDATE_ISSET_ID);
    }

    /** Returns true if field endDate is set (has been assigned a value) and false otherwise */
    public boolean isSetEndDate() {
      return __isset_bit_vector.get(__ENDDATE_ISSET_ID);
    }

    public void setEndDateIsSet(boolean value) {
      __isset_bit_vector.set(__ENDDATE_ISSET_ID, value);
    }

    /**
     * 
     * @see RechargeOrderStatus
     */
    public RechargeOrderStatus getStatus() {
      return this.status;
    }

    /**
     * 
     * @see RechargeOrderStatus
     */
    public void setStatus(RechargeOrderStatus status) {
      this.status = status;
    }

    public void unsetStatus() {
      this.status = null;
    }

    /** Returns true if field status is set (has been assigned a value) and false otherwise */
    public boolean isSetStatus() {
      return this.status != null;
    }

    public void setStatusIsSet(boolean value) {
      if (!value) {
        this.status = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case STORE_ID:
        if (value == null) {
          unsetStoreId();
        } else {
          setStoreId((Long)value);
        }
        break;

      case START_DATE:
        if (value == null) {
          unsetStartDate();
        } else {
          setStartDate((Long)value);
        }
        break;

      case END_DATE:
        if (value == null) {
          unsetEndDate();
        } else {
          setEndDate((Long)value);
        }
        break;

      case STATUS:
        if (value == null) {
          unsetStatus();
        } else {
          setStatus((RechargeOrderStatus)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case STORE_ID:
        return Long.valueOf(getStoreId());

      case START_DATE:
        return Long.valueOf(getStartDate());

      case END_DATE:
        return Long.valueOf(getEndDate());

      case STATUS:
        return getStatus();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case STORE_ID:
        return isSetStoreId();
      case START_DATE:
        return isSetStartDate();
      case END_DATE:
        return isSetEndDate();
      case STATUS:
        return isSetStatus();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getRechargeTrans_args)
        return this.equals((getRechargeTrans_args)that);
      return false;
    }

    public boolean equals(getRechargeTrans_args that) {
      if (that == null)
        return false;

      boolean this_present_storeId = true;
      boolean that_present_storeId = true;
      if (this_present_storeId || that_present_storeId) {
        if (!(this_present_storeId && that_present_storeId))
          return false;
        if (this.storeId != that.storeId)
          return false;
      }

      boolean this_present_startDate = true;
      boolean that_present_startDate = true;
      if (this_present_startDate || that_present_startDate) {
        if (!(this_present_startDate && that_present_startDate))
          return false;
        if (this.startDate != that.startDate)
          return false;
      }

      boolean this_present_endDate = true;
      boolean that_present_endDate = true;
      if (this_present_endDate || that_present_endDate) {
        if (!(this_present_endDate && that_present_endDate))
          return false;
        if (this.endDate != that.endDate)
          return false;
      }

      boolean this_present_status = true && this.isSetStatus();
      boolean that_present_status = true && that.isSetStatus();
      if (this_present_status || that_present_status) {
        if (!(this_present_status && that_present_status))
          return false;
        if (!this.status.equals(that.status))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getRechargeTrans_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getRechargeTrans_args typedOther = (getRechargeTrans_args)other;

      lastComparison = Boolean.valueOf(isSetStoreId()).compareTo(typedOther.isSetStoreId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetStoreId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.storeId, typedOther.storeId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetStartDate()).compareTo(typedOther.isSetStartDate());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetStartDate()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.startDate, typedOther.startDate);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEndDate()).compareTo(typedOther.isSetEndDate());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEndDate()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.endDate, typedOther.endDate);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetStatus()).compareTo(typedOther.isSetStatus());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetStatus()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.status, typedOther.status);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // STORE_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.storeId = iprot.readI64();
              setStoreIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // START_DATE
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.startDate = iprot.readI64();
              setStartDateIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // END_DATE
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.endDate = iprot.readI64();
              setEndDateIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 4: // STATUS
            if (field.type == org.apache.thrift.protocol.TType.I32) {
              this.status = RechargeOrderStatus.findByValue(iprot.readI32());
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(STORE_ID_FIELD_DESC);
      oprot.writeI64(this.storeId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(START_DATE_FIELD_DESC);
      oprot.writeI64(this.startDate);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(END_DATE_FIELD_DESC);
      oprot.writeI64(this.endDate);
      oprot.writeFieldEnd();
      if (this.status != null) {
        oprot.writeFieldBegin(STATUS_FIELD_DESC);
        oprot.writeI32(this.status.getValue());
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getRechargeTrans_args(");
      boolean first = true;

      sb.append("storeId:");
      sb.append(this.storeId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("startDate:");
      sb.append(this.startDate);
      first = false;
      if (!first) sb.append(", ");
      sb.append("endDate:");
      sb.append(this.endDate);
      first = false;
      if (!first) sb.append(", ");
      sb.append("status:");
      if (this.status == null) {
        sb.append("null");
      } else {
        sb.append(this.status);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getRechargeTrans_result implements org.apache.thrift.TBase<getRechargeTrans_result, getRechargeTrans_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getRechargeTrans_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);

    private List<RechargeTransaction> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, RechargeTransaction.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getRechargeTrans_result.class, metaDataMap);
    }

    public getRechargeTrans_result() {
    }

    public getRechargeTrans_result(
      List<RechargeTransaction> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getRechargeTrans_result(getRechargeTrans_result other) {
      if (other.isSetSuccess()) {
        List<RechargeTransaction> __this__success = new ArrayList<RechargeTransaction>();
        for (RechargeTransaction other_element : other.success) {
          __this__success.add(new RechargeTransaction(other_element));
        }
        this.success = __this__success;
      }
    }

    public getRechargeTrans_result deepCopy() {
      return new getRechargeTrans_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<RechargeTransaction> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(RechargeTransaction elem) {
      if (this.success == null) {
        this.success = new ArrayList<RechargeTransaction>();
      }
      this.success.add(elem);
    }

    public List<RechargeTransaction> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<RechargeTransaction> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<RechargeTransaction>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getRechargeTrans_result)
        return this.equals((getRechargeTrans_result)that);
      return false;
    }

    public boolean equals(getRechargeTrans_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getRechargeTrans_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getRechargeTrans_result typedOther = (getRechargeTrans_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list446 = iprot.readListBegin();
                this.success = new ArrayList<RechargeTransaction>(_list446.size);
                for (int _i447 = 0; _i447 < _list446.size; ++_i447)
                {
                  RechargeTransaction _elem448; // required
                  _elem448 = new RechargeTransaction();
                  _elem448.read(iprot);
                  this.success.add(_elem448);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (RechargeTransaction _iter449 : this.success)
          {
            _iter449.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getRechargeTrans_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getRechargeTransaction_args implements org.apache.thrift.TBase<getRechargeTransaction_args, getRechargeTransaction_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getRechargeTransaction_args");

    private static final org.apache.thrift.protocol.TField RECHARGE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("rechargeId", org.apache.thrift.protocol.TType.I64, (short)1);

    private long rechargeId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      RECHARGE_ID((short)1, "rechargeId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // RECHARGE_ID
            return RECHARGE_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __RECHARGEID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.RECHARGE_ID, new org.apache.thrift.meta_data.FieldMetaData("rechargeId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getRechargeTransaction_args.class, metaDataMap);
    }

    public getRechargeTransaction_args() {
    }

    public getRechargeTransaction_args(
      long rechargeId)
    {
      this();
      this.rechargeId = rechargeId;
      setRechargeIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getRechargeTransaction_args(getRechargeTransaction_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.rechargeId = other.rechargeId;
    }

    public getRechargeTransaction_args deepCopy() {
      return new getRechargeTransaction_args(this);
    }

    @Override
    public void clear() {
      setRechargeIdIsSet(false);
      this.rechargeId = 0;
    }

    public long getRechargeId() {
      return this.rechargeId;
    }

    public void setRechargeId(long rechargeId) {
      this.rechargeId = rechargeId;
      setRechargeIdIsSet(true);
    }

    public void unsetRechargeId() {
      __isset_bit_vector.clear(__RECHARGEID_ISSET_ID);
    }

    /** Returns true if field rechargeId is set (has been assigned a value) and false otherwise */
    public boolean isSetRechargeId() {
      return __isset_bit_vector.get(__RECHARGEID_ISSET_ID);
    }

    public void setRechargeIdIsSet(boolean value) {
      __isset_bit_vector.set(__RECHARGEID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case RECHARGE_ID:
        if (value == null) {
          unsetRechargeId();
        } else {
          setRechargeId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case RECHARGE_ID:
        return Long.valueOf(getRechargeId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case RECHARGE_ID:
        return isSetRechargeId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getRechargeTransaction_args)
        return this.equals((getRechargeTransaction_args)that);
      return false;
    }

    public boolean equals(getRechargeTransaction_args that) {
      if (that == null)
        return false;

      boolean this_present_rechargeId = true;
      boolean that_present_rechargeId = true;
      if (this_present_rechargeId || that_present_rechargeId) {
        if (!(this_present_rechargeId && that_present_rechargeId))
          return false;
        if (this.rechargeId != that.rechargeId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getRechargeTransaction_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getRechargeTransaction_args typedOther = (getRechargeTransaction_args)other;

      lastComparison = Boolean.valueOf(isSetRechargeId()).compareTo(typedOther.isSetRechargeId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetRechargeId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.rechargeId, typedOther.rechargeId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // RECHARGE_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.rechargeId = iprot.readI64();
              setRechargeIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(RECHARGE_ID_FIELD_DESC);
      oprot.writeI64(this.rechargeId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getRechargeTransaction_args(");
      boolean first = true;

      sb.append("rechargeId:");
      sb.append(this.rechargeId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getRechargeTransaction_result implements org.apache.thrift.TBase<getRechargeTransaction_result, getRechargeTransaction_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getRechargeTransaction_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);

    private RechargeTransaction success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, RechargeTransaction.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getRechargeTransaction_result.class, metaDataMap);
    }

    public getRechargeTransaction_result() {
    }

    public getRechargeTransaction_result(
      RechargeTransaction success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getRechargeTransaction_result(getRechargeTransaction_result other) {
      if (other.isSetSuccess()) {
        this.success = new RechargeTransaction(other.success);
      }
    }

    public getRechargeTransaction_result deepCopy() {
      return new getRechargeTransaction_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public RechargeTransaction getSuccess() {
      return this.success;
    }

    public void setSuccess(RechargeTransaction success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((RechargeTransaction)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getRechargeTransaction_result)
        return this.equals((getRechargeTransaction_result)that);
      return false;
    }

    public boolean equals(getRechargeTransaction_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getRechargeTransaction_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getRechargeTransaction_result typedOther = (getRechargeTransaction_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.success = new RechargeTransaction();
              this.success.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        this.success.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getRechargeTransaction_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getFRCs_args implements org.apache.thrift.TBase<getFRCs_args, getFRCs_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getFRCs_args");

    private static final org.apache.thrift.protocol.TField CIRCLE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("circleId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField OPERATOR_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("operatorId", org.apache.thrift.protocol.TType.I64, (short)2);

    private long circleId; // required
    private long operatorId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      CIRCLE_ID((short)1, "circleId"),
      OPERATOR_ID((short)2, "operatorId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // CIRCLE_ID
            return CIRCLE_ID;
          case 2: // OPERATOR_ID
            return OPERATOR_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __CIRCLEID_ISSET_ID = 0;
    private static final int __OPERATORID_ISSET_ID = 1;
    private BitSet __isset_bit_vector = new BitSet(2);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.CIRCLE_ID, new org.apache.thrift.meta_data.FieldMetaData("circleId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.OPERATOR_ID, new org.apache.thrift.meta_data.FieldMetaData("operatorId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getFRCs_args.class, metaDataMap);
    }

    public getFRCs_args() {
    }

    public getFRCs_args(
      long circleId,
      long operatorId)
    {
      this();
      this.circleId = circleId;
      setCircleIdIsSet(true);
      this.operatorId = operatorId;
      setOperatorIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getFRCs_args(getFRCs_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.circleId = other.circleId;
      this.operatorId = other.operatorId;
    }

    public getFRCs_args deepCopy() {
      return new getFRCs_args(this);
    }

    @Override
    public void clear() {
      setCircleIdIsSet(false);
      this.circleId = 0;
      setOperatorIdIsSet(false);
      this.operatorId = 0;
    }

    public long getCircleId() {
      return this.circleId;
    }

    public void setCircleId(long circleId) {
      this.circleId = circleId;
      setCircleIdIsSet(true);
    }

    public void unsetCircleId() {
      __isset_bit_vector.clear(__CIRCLEID_ISSET_ID);
    }

    /** Returns true if field circleId is set (has been assigned a value) and false otherwise */
    public boolean isSetCircleId() {
      return __isset_bit_vector.get(__CIRCLEID_ISSET_ID);
    }

    public void setCircleIdIsSet(boolean value) {
      __isset_bit_vector.set(__CIRCLEID_ISSET_ID, value);
    }

    public long getOperatorId() {
      return this.operatorId;
    }

    public void setOperatorId(long operatorId) {
      this.operatorId = operatorId;
      setOperatorIdIsSet(true);
    }

    public void unsetOperatorId() {
      __isset_bit_vector.clear(__OPERATORID_ISSET_ID);
    }

    /** Returns true if field operatorId is set (has been assigned a value) and false otherwise */
    public boolean isSetOperatorId() {
      return __isset_bit_vector.get(__OPERATORID_ISSET_ID);
    }

    public void setOperatorIdIsSet(boolean value) {
      __isset_bit_vector.set(__OPERATORID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case CIRCLE_ID:
        if (value == null) {
          unsetCircleId();
        } else {
          setCircleId((Long)value);
        }
        break;

      case OPERATOR_ID:
        if (value == null) {
          unsetOperatorId();
        } else {
          setOperatorId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case CIRCLE_ID:
        return Long.valueOf(getCircleId());

      case OPERATOR_ID:
        return Long.valueOf(getOperatorId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case CIRCLE_ID:
        return isSetCircleId();
      case OPERATOR_ID:
        return isSetOperatorId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getFRCs_args)
        return this.equals((getFRCs_args)that);
      return false;
    }

    public boolean equals(getFRCs_args that) {
      if (that == null)
        return false;

      boolean this_present_circleId = true;
      boolean that_present_circleId = true;
      if (this_present_circleId || that_present_circleId) {
        if (!(this_present_circleId && that_present_circleId))
          return false;
        if (this.circleId != that.circleId)
          return false;
      }

      boolean this_present_operatorId = true;
      boolean that_present_operatorId = true;
      if (this_present_operatorId || that_present_operatorId) {
        if (!(this_present_operatorId && that_present_operatorId))
          return false;
        if (this.operatorId != that.operatorId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getFRCs_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getFRCs_args typedOther = (getFRCs_args)other;

      lastComparison = Boolean.valueOf(isSetCircleId()).compareTo(typedOther.isSetCircleId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetCircleId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.circleId, typedOther.circleId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetOperatorId()).compareTo(typedOther.isSetOperatorId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOperatorId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.operatorId, typedOther.operatorId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // CIRCLE_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.circleId = iprot.readI64();
              setCircleIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // OPERATOR_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.operatorId = iprot.readI64();
              setOperatorIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(CIRCLE_ID_FIELD_DESC);
      oprot.writeI64(this.circleId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(OPERATOR_ID_FIELD_DESC);
      oprot.writeI64(this.operatorId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getFRCs_args(");
      boolean first = true;

      sb.append("circleId:");
      sb.append(this.circleId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("operatorId:");
      sb.append(this.operatorId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getFRCs_result implements org.apache.thrift.TBase<getFRCs_result, getFRCs_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getFRCs_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);

    private List<FRC> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, FRC.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getFRCs_result.class, metaDataMap);
    }

    public getFRCs_result() {
    }

    public getFRCs_result(
      List<FRC> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getFRCs_result(getFRCs_result other) {
      if (other.isSetSuccess()) {
        List<FRC> __this__success = new ArrayList<FRC>();
        for (FRC other_element : other.success) {
          __this__success.add(new FRC(other_element));
        }
        this.success = __this__success;
      }
    }

    public getFRCs_result deepCopy() {
      return new getFRCs_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<FRC> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(FRC elem) {
      if (this.success == null) {
        this.success = new ArrayList<FRC>();
      }
      this.success.add(elem);
    }

    public List<FRC> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<FRC> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<FRC>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getFRCs_result)
        return this.equals((getFRCs_result)that);
      return false;
    }

    public boolean equals(getFRCs_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getFRCs_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getFRCs_result typedOther = (getFRCs_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list450 = iprot.readListBegin();
                this.success = new ArrayList<FRC>(_list450.size);
                for (int _i451 = 0; _i451 < _list450.size; ++_i451)
                {
                  FRC _elem452; // required
                  _elem452 = new FRC();
                  _elem452.read(iprot);
                  this.success.add(_elem452);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (FRC _iter453 : this.success)
          {
            _iter453.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getFRCs_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getHotspotStore_args implements org.apache.thrift.TBase<getHotspotStore_args, getHotspotStore_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getHotspotStore_args");

    private static final org.apache.thrift.protocol.TField ID_FIELD_DESC = new org.apache.thrift.protocol.TField("id", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField HOTSPOTID_FIELD_DESC = new org.apache.thrift.protocol.TField("hotspotid", org.apache.thrift.protocol.TType.STRING, (short)2);

    private long id; // required
    private String hotspotid; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ID((short)1, "id"),
      HOTSPOTID((short)2, "hotspotid");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ID
            return ID;
          case 2: // HOTSPOTID
            return HOTSPOTID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ID, new org.apache.thrift.meta_data.FieldMetaData("id", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.HOTSPOTID, new org.apache.thrift.meta_data.FieldMetaData("hotspotid", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getHotspotStore_args.class, metaDataMap);
    }

    public getHotspotStore_args() {
    }

    public getHotspotStore_args(
      long id,
      String hotspotid)
    {
      this();
      this.id = id;
      setIdIsSet(true);
      this.hotspotid = hotspotid;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getHotspotStore_args(getHotspotStore_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.id = other.id;
      if (other.isSetHotspotid()) {
        this.hotspotid = other.hotspotid;
      }
    }

    public getHotspotStore_args deepCopy() {
      return new getHotspotStore_args(this);
    }

    @Override
    public void clear() {
      setIdIsSet(false);
      this.id = 0;
      this.hotspotid = null;
    }

    public long getId() {
      return this.id;
    }

    public void setId(long id) {
      this.id = id;
      setIdIsSet(true);
    }

    public void unsetId() {
      __isset_bit_vector.clear(__ID_ISSET_ID);
    }

    /** Returns true if field id is set (has been assigned a value) and false otherwise */
    public boolean isSetId() {
      return __isset_bit_vector.get(__ID_ISSET_ID);
    }

    public void setIdIsSet(boolean value) {
      __isset_bit_vector.set(__ID_ISSET_ID, value);
    }

    public String getHotspotid() {
      return this.hotspotid;
    }

    public void setHotspotid(String hotspotid) {
      this.hotspotid = hotspotid;
    }

    public void unsetHotspotid() {
      this.hotspotid = null;
    }

    /** Returns true if field hotspotid is set (has been assigned a value) and false otherwise */
    public boolean isSetHotspotid() {
      return this.hotspotid != null;
    }

    public void setHotspotidIsSet(boolean value) {
      if (!value) {
        this.hotspotid = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ID:
        if (value == null) {
          unsetId();
        } else {
          setId((Long)value);
        }
        break;

      case HOTSPOTID:
        if (value == null) {
          unsetHotspotid();
        } else {
          setHotspotid((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ID:
        return Long.valueOf(getId());

      case HOTSPOTID:
        return getHotspotid();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ID:
        return isSetId();
      case HOTSPOTID:
        return isSetHotspotid();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getHotspotStore_args)
        return this.equals((getHotspotStore_args)that);
      return false;
    }

    public boolean equals(getHotspotStore_args that) {
      if (that == null)
        return false;

      boolean this_present_id = true;
      boolean that_present_id = true;
      if (this_present_id || that_present_id) {
        if (!(this_present_id && that_present_id))
          return false;
        if (this.id != that.id)
          return false;
      }

      boolean this_present_hotspotid = true && this.isSetHotspotid();
      boolean that_present_hotspotid = true && that.isSetHotspotid();
      if (this_present_hotspotid || that_present_hotspotid) {
        if (!(this_present_hotspotid && that_present_hotspotid))
          return false;
        if (!this.hotspotid.equals(that.hotspotid))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getHotspotStore_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getHotspotStore_args typedOther = (getHotspotStore_args)other;

      lastComparison = Boolean.valueOf(isSetId()).compareTo(typedOther.isSetId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.id, typedOther.id);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetHotspotid()).compareTo(typedOther.isSetHotspotid());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetHotspotid()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.hotspotid, typedOther.hotspotid);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.id = iprot.readI64();
              setIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // HOTSPOTID
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.hotspotid = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ID_FIELD_DESC);
      oprot.writeI64(this.id);
      oprot.writeFieldEnd();
      if (this.hotspotid != null) {
        oprot.writeFieldBegin(HOTSPOTID_FIELD_DESC);
        oprot.writeString(this.hotspotid);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getHotspotStore_args(");
      boolean first = true;

      sb.append("id:");
      sb.append(this.id);
      first = false;
      if (!first) sb.append(", ");
      sb.append("hotspotid:");
      if (this.hotspotid == null) {
        sb.append("null");
      } else {
        sb.append(this.hotspotid);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getHotspotStore_result implements org.apache.thrift.TBase<getHotspotStore_result, getHotspotStore_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getHotspotStore_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);

    private HotspotStore success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, HotspotStore.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getHotspotStore_result.class, metaDataMap);
    }

    public getHotspotStore_result() {
    }

    public getHotspotStore_result(
      HotspotStore success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getHotspotStore_result(getHotspotStore_result other) {
      if (other.isSetSuccess()) {
        this.success = new HotspotStore(other.success);
      }
    }

    public getHotspotStore_result deepCopy() {
      return new getHotspotStore_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public HotspotStore getSuccess() {
      return this.success;
    }

    public void setSuccess(HotspotStore success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((HotspotStore)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getHotspotStore_result)
        return this.equals((getHotspotStore_result)that);
      return false;
    }

    public boolean equals(getHotspotStore_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getHotspotStore_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getHotspotStore_result typedOther = (getHotspotStore_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.success = new HotspotStore();
              this.success.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        this.success.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getHotspotStore_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getTelecomCircle_args implements org.apache.thrift.TBase<getTelecomCircle_args, getTelecomCircle_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getTelecomCircle_args");

    private static final org.apache.thrift.protocol.TField ID_FIELD_DESC = new org.apache.thrift.protocol.TField("id", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField CODE_FIELD_DESC = new org.apache.thrift.protocol.TField("code", org.apache.thrift.protocol.TType.STRING, (short)2);

    private long id; // required
    private String code; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ID((short)1, "id"),
      CODE((short)2, "code");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ID
            return ID;
          case 2: // CODE
            return CODE;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ID, new org.apache.thrift.meta_data.FieldMetaData("id", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.CODE, new org.apache.thrift.meta_data.FieldMetaData("code", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getTelecomCircle_args.class, metaDataMap);
    }

    public getTelecomCircle_args() {
    }

    public getTelecomCircle_args(
      long id,
      String code)
    {
      this();
      this.id = id;
      setIdIsSet(true);
      this.code = code;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getTelecomCircle_args(getTelecomCircle_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.id = other.id;
      if (other.isSetCode()) {
        this.code = other.code;
      }
    }

    public getTelecomCircle_args deepCopy() {
      return new getTelecomCircle_args(this);
    }

    @Override
    public void clear() {
      setIdIsSet(false);
      this.id = 0;
      this.code = null;
    }

    public long getId() {
      return this.id;
    }

    public void setId(long id) {
      this.id = id;
      setIdIsSet(true);
    }

    public void unsetId() {
      __isset_bit_vector.clear(__ID_ISSET_ID);
    }

    /** Returns true if field id is set (has been assigned a value) and false otherwise */
    public boolean isSetId() {
      return __isset_bit_vector.get(__ID_ISSET_ID);
    }

    public void setIdIsSet(boolean value) {
      __isset_bit_vector.set(__ID_ISSET_ID, value);
    }

    public String getCode() {
      return this.code;
    }

    public void setCode(String code) {
      this.code = code;
    }

    public void unsetCode() {
      this.code = null;
    }

    /** Returns true if field code is set (has been assigned a value) and false otherwise */
    public boolean isSetCode() {
      return this.code != null;
    }

    public void setCodeIsSet(boolean value) {
      if (!value) {
        this.code = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ID:
        if (value == null) {
          unsetId();
        } else {
          setId((Long)value);
        }
        break;

      case CODE:
        if (value == null) {
          unsetCode();
        } else {
          setCode((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ID:
        return Long.valueOf(getId());

      case CODE:
        return getCode();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ID:
        return isSetId();
      case CODE:
        return isSetCode();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getTelecomCircle_args)
        return this.equals((getTelecomCircle_args)that);
      return false;
    }

    public boolean equals(getTelecomCircle_args that) {
      if (that == null)
        return false;

      boolean this_present_id = true;
      boolean that_present_id = true;
      if (this_present_id || that_present_id) {
        if (!(this_present_id && that_present_id))
          return false;
        if (this.id != that.id)
          return false;
      }

      boolean this_present_code = true && this.isSetCode();
      boolean that_present_code = true && that.isSetCode();
      if (this_present_code || that_present_code) {
        if (!(this_present_code && that_present_code))
          return false;
        if (!this.code.equals(that.code))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getTelecomCircle_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getTelecomCircle_args typedOther = (getTelecomCircle_args)other;

      lastComparison = Boolean.valueOf(isSetId()).compareTo(typedOther.isSetId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.id, typedOther.id);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetCode()).compareTo(typedOther.isSetCode());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetCode()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.code, typedOther.code);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.id = iprot.readI64();
              setIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // CODE
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.code = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ID_FIELD_DESC);
      oprot.writeI64(this.id);
      oprot.writeFieldEnd();
      if (this.code != null) {
        oprot.writeFieldBegin(CODE_FIELD_DESC);
        oprot.writeString(this.code);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getTelecomCircle_args(");
      boolean first = true;

      sb.append("id:");
      sb.append(this.id);
      first = false;
      if (!first) sb.append(", ");
      sb.append("code:");
      if (this.code == null) {
        sb.append("null");
      } else {
        sb.append(this.code);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getTelecomCircle_result implements org.apache.thrift.TBase<getTelecomCircle_result, getTelecomCircle_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getTelecomCircle_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);

    private TelecomCircle success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TelecomCircle.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getTelecomCircle_result.class, metaDataMap);
    }

    public getTelecomCircle_result() {
    }

    public getTelecomCircle_result(
      TelecomCircle success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getTelecomCircle_result(getTelecomCircle_result other) {
      if (other.isSetSuccess()) {
        this.success = new TelecomCircle(other.success);
      }
    }

    public getTelecomCircle_result deepCopy() {
      return new getTelecomCircle_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public TelecomCircle getSuccess() {
      return this.success;
    }

    public void setSuccess(TelecomCircle success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((TelecomCircle)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getTelecomCircle_result)
        return this.equals((getTelecomCircle_result)that);
      return false;
    }

    public boolean equals(getTelecomCircle_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getTelecomCircle_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getTelecomCircle_result typedOther = (getTelecomCircle_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.success = new TelecomCircle();
              this.success.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        this.success.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getTelecomCircle_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class retrieveHotspotRechargeInvoice_args implements org.apache.thrift.TBase<retrieveHotspotRechargeInvoice_args, retrieveHotspotRechargeInvoice_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("retrieveHotspotRechargeInvoice_args");

    private static final org.apache.thrift.protocol.TField RECHARGE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("rechargeId", org.apache.thrift.protocol.TType.I64, (short)1);

    private long rechargeId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      RECHARGE_ID((short)1, "rechargeId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // RECHARGE_ID
            return RECHARGE_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __RECHARGEID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.RECHARGE_ID, new org.apache.thrift.meta_data.FieldMetaData("rechargeId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(retrieveHotspotRechargeInvoice_args.class, metaDataMap);
    }

    public retrieveHotspotRechargeInvoice_args() {
    }

    public retrieveHotspotRechargeInvoice_args(
      long rechargeId)
    {
      this();
      this.rechargeId = rechargeId;
      setRechargeIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public retrieveHotspotRechargeInvoice_args(retrieveHotspotRechargeInvoice_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.rechargeId = other.rechargeId;
    }

    public retrieveHotspotRechargeInvoice_args deepCopy() {
      return new retrieveHotspotRechargeInvoice_args(this);
    }

    @Override
    public void clear() {
      setRechargeIdIsSet(false);
      this.rechargeId = 0;
    }

    public long getRechargeId() {
      return this.rechargeId;
    }

    public void setRechargeId(long rechargeId) {
      this.rechargeId = rechargeId;
      setRechargeIdIsSet(true);
    }

    public void unsetRechargeId() {
      __isset_bit_vector.clear(__RECHARGEID_ISSET_ID);
    }

    /** Returns true if field rechargeId is set (has been assigned a value) and false otherwise */
    public boolean isSetRechargeId() {
      return __isset_bit_vector.get(__RECHARGEID_ISSET_ID);
    }

    public void setRechargeIdIsSet(boolean value) {
      __isset_bit_vector.set(__RECHARGEID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case RECHARGE_ID:
        if (value == null) {
          unsetRechargeId();
        } else {
          setRechargeId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case RECHARGE_ID:
        return Long.valueOf(getRechargeId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case RECHARGE_ID:
        return isSetRechargeId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof retrieveHotspotRechargeInvoice_args)
        return this.equals((retrieveHotspotRechargeInvoice_args)that);
      return false;
    }

    public boolean equals(retrieveHotspotRechargeInvoice_args that) {
      if (that == null)
        return false;

      boolean this_present_rechargeId = true;
      boolean that_present_rechargeId = true;
      if (this_present_rechargeId || that_present_rechargeId) {
        if (!(this_present_rechargeId && that_present_rechargeId))
          return false;
        if (this.rechargeId != that.rechargeId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(retrieveHotspotRechargeInvoice_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      retrieveHotspotRechargeInvoice_args typedOther = (retrieveHotspotRechargeInvoice_args)other;

      lastComparison = Boolean.valueOf(isSetRechargeId()).compareTo(typedOther.isSetRechargeId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetRechargeId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.rechargeId, typedOther.rechargeId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // RECHARGE_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.rechargeId = iprot.readI64();
              setRechargeIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(RECHARGE_ID_FIELD_DESC);
      oprot.writeI64(this.rechargeId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("retrieveHotspotRechargeInvoice_args(");
      boolean first = true;

      sb.append("rechargeId:");
      sb.append(this.rechargeId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class retrieveHotspotRechargeInvoice_result implements org.apache.thrift.TBase<retrieveHotspotRechargeInvoice_result, retrieveHotspotRechargeInvoice_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("retrieveHotspotRechargeInvoice_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRING, (short)0);

    private ByteBuffer success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING          , true)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(retrieveHotspotRechargeInvoice_result.class, metaDataMap);
    }

    public retrieveHotspotRechargeInvoice_result() {
    }

    public retrieveHotspotRechargeInvoice_result(
      ByteBuffer success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public retrieveHotspotRechargeInvoice_result(retrieveHotspotRechargeInvoice_result other) {
      if (other.isSetSuccess()) {
        this.success = org.apache.thrift.TBaseHelper.copyBinary(other.success);
;
      }
    }

    public retrieveHotspotRechargeInvoice_result deepCopy() {
      return new retrieveHotspotRechargeInvoice_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public byte[] getSuccess() {
      setSuccess(org.apache.thrift.TBaseHelper.rightSize(success));
      return success == null ? null : success.array();
    }

    public ByteBuffer bufferForSuccess() {
      return success;
    }

    public void setSuccess(byte[] success) {
      setSuccess(success == null ? (ByteBuffer)null : ByteBuffer.wrap(success));
    }

    public void setSuccess(ByteBuffer success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((ByteBuffer)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof retrieveHotspotRechargeInvoice_result)
        return this.equals((retrieveHotspotRechargeInvoice_result)that);
      return false;
    }

    public boolean equals(retrieveHotspotRechargeInvoice_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(retrieveHotspotRechargeInvoice_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      retrieveHotspotRechargeInvoice_result typedOther = (retrieveHotspotRechargeInvoice_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.success = iprot.readBinary();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBinary(this.success);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("retrieveHotspotRechargeInvoice_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        org.apache.thrift.TBaseHelper.toString(this.success, sb);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class splitFreebieOrder_args implements org.apache.thrift.TBase<splitFreebieOrder_args, splitFreebieOrder_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("splitFreebieOrder_args");

    private static final org.apache.thrift.protocol.TField ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("orderId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField SPLIT_REASON_FIELD_DESC = new org.apache.thrift.protocol.TField("splitReason", org.apache.thrift.protocol.TType.STRING, (short)2);
    private static final org.apache.thrift.protocol.TField SHIPPING_DATE_FIELD_DESC = new org.apache.thrift.protocol.TField("shippingDate", org.apache.thrift.protocol.TType.I64, (short)3);

    private long orderId; // required
    private String splitReason; // required
    private long shippingDate; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ORDER_ID((short)1, "orderId"),
      SPLIT_REASON((short)2, "splitReason"),
      SHIPPING_DATE((short)3, "shippingDate");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ORDER_ID
            return ORDER_ID;
          case 2: // SPLIT_REASON
            return SPLIT_REASON;
          case 3: // SHIPPING_DATE
            return SHIPPING_DATE;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ORDERID_ISSET_ID = 0;
    private static final int __SHIPPINGDATE_ISSET_ID = 1;
    private BitSet __isset_bit_vector = new BitSet(2);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("orderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.SPLIT_REASON, new org.apache.thrift.meta_data.FieldMetaData("splitReason", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.SHIPPING_DATE, new org.apache.thrift.meta_data.FieldMetaData("shippingDate", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(splitFreebieOrder_args.class, metaDataMap);
    }

    public splitFreebieOrder_args() {
    }

    public splitFreebieOrder_args(
      long orderId,
      String splitReason,
      long shippingDate)
    {
      this();
      this.orderId = orderId;
      setOrderIdIsSet(true);
      this.splitReason = splitReason;
      this.shippingDate = shippingDate;
      setShippingDateIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public splitFreebieOrder_args(splitFreebieOrder_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.orderId = other.orderId;
      if (other.isSetSplitReason()) {
        this.splitReason = other.splitReason;
      }
      this.shippingDate = other.shippingDate;
    }

    public splitFreebieOrder_args deepCopy() {
      return new splitFreebieOrder_args(this);
    }

    @Override
    public void clear() {
      setOrderIdIsSet(false);
      this.orderId = 0;
      this.splitReason = null;
      setShippingDateIsSet(false);
      this.shippingDate = 0;
    }

    public long getOrderId() {
      return this.orderId;
    }

    public void setOrderId(long orderId) {
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    public void unsetOrderId() {
      __isset_bit_vector.clear(__ORDERID_ISSET_ID);
    }

    /** Returns true if field orderId is set (has been assigned a value) and false otherwise */
    public boolean isSetOrderId() {
      return __isset_bit_vector.get(__ORDERID_ISSET_ID);
    }

    public void setOrderIdIsSet(boolean value) {
      __isset_bit_vector.set(__ORDERID_ISSET_ID, value);
    }

    public String getSplitReason() {
      return this.splitReason;
    }

    public void setSplitReason(String splitReason) {
      this.splitReason = splitReason;
    }

    public void unsetSplitReason() {
      this.splitReason = null;
    }

    /** Returns true if field splitReason is set (has been assigned a value) and false otherwise */
    public boolean isSetSplitReason() {
      return this.splitReason != null;
    }

    public void setSplitReasonIsSet(boolean value) {
      if (!value) {
        this.splitReason = null;
      }
    }

    public long getShippingDate() {
      return this.shippingDate;
    }

    public void setShippingDate(long shippingDate) {
      this.shippingDate = shippingDate;
      setShippingDateIsSet(true);
    }

    public void unsetShippingDate() {
      __isset_bit_vector.clear(__SHIPPINGDATE_ISSET_ID);
    }

    /** Returns true if field shippingDate is set (has been assigned a value) and false otherwise */
    public boolean isSetShippingDate() {
      return __isset_bit_vector.get(__SHIPPINGDATE_ISSET_ID);
    }

    public void setShippingDateIsSet(boolean value) {
      __isset_bit_vector.set(__SHIPPINGDATE_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ORDER_ID:
        if (value == null) {
          unsetOrderId();
        } else {
          setOrderId((Long)value);
        }
        break;

      case SPLIT_REASON:
        if (value == null) {
          unsetSplitReason();
        } else {
          setSplitReason((String)value);
        }
        break;

      case SHIPPING_DATE:
        if (value == null) {
          unsetShippingDate();
        } else {
          setShippingDate((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ORDER_ID:
        return Long.valueOf(getOrderId());

      case SPLIT_REASON:
        return getSplitReason();

      case SHIPPING_DATE:
        return Long.valueOf(getShippingDate());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ORDER_ID:
        return isSetOrderId();
      case SPLIT_REASON:
        return isSetSplitReason();
      case SHIPPING_DATE:
        return isSetShippingDate();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof splitFreebieOrder_args)
        return this.equals((splitFreebieOrder_args)that);
      return false;
    }

    public boolean equals(splitFreebieOrder_args that) {
      if (that == null)
        return false;

      boolean this_present_orderId = true;
      boolean that_present_orderId = true;
      if (this_present_orderId || that_present_orderId) {
        if (!(this_present_orderId && that_present_orderId))
          return false;
        if (this.orderId != that.orderId)
          return false;
      }

      boolean this_present_splitReason = true && this.isSetSplitReason();
      boolean that_present_splitReason = true && that.isSetSplitReason();
      if (this_present_splitReason || that_present_splitReason) {
        if (!(this_present_splitReason && that_present_splitReason))
          return false;
        if (!this.splitReason.equals(that.splitReason))
          return false;
      }

      boolean this_present_shippingDate = true;
      boolean that_present_shippingDate = true;
      if (this_present_shippingDate || that_present_shippingDate) {
        if (!(this_present_shippingDate && that_present_shippingDate))
          return false;
        if (this.shippingDate != that.shippingDate)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(splitFreebieOrder_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      splitFreebieOrder_args typedOther = (splitFreebieOrder_args)other;

      lastComparison = Boolean.valueOf(isSetOrderId()).compareTo(typedOther.isSetOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.orderId, typedOther.orderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetSplitReason()).compareTo(typedOther.isSetSplitReason());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSplitReason()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.splitReason, typedOther.splitReason);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetShippingDate()).compareTo(typedOther.isSetShippingDate());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetShippingDate()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.shippingDate, typedOther.shippingDate);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.orderId = iprot.readI64();
              setOrderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // SPLIT_REASON
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.splitReason = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // SHIPPING_DATE
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.shippingDate = iprot.readI64();
              setShippingDateIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ORDER_ID_FIELD_DESC);
      oprot.writeI64(this.orderId);
      oprot.writeFieldEnd();
      if (this.splitReason != null) {
        oprot.writeFieldBegin(SPLIT_REASON_FIELD_DESC);
        oprot.writeString(this.splitReason);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldBegin(SHIPPING_DATE_FIELD_DESC);
      oprot.writeI64(this.shippingDate);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("splitFreebieOrder_args(");
      boolean first = true;

      sb.append("orderId:");
      sb.append(this.orderId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("splitReason:");
      if (this.splitReason == null) {
        sb.append("null");
      } else {
        sb.append(this.splitReason);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("shippingDate:");
      sb.append(this.shippingDate);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class splitFreebieOrder_result implements org.apache.thrift.TBase<splitFreebieOrder_result, splitFreebieOrder_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("splitFreebieOrder_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);

    private Order success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Order.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(splitFreebieOrder_result.class, metaDataMap);
    }

    public splitFreebieOrder_result() {
    }

    public splitFreebieOrder_result(
      Order success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public splitFreebieOrder_result(splitFreebieOrder_result other) {
      if (other.isSetSuccess()) {
        this.success = new Order(other.success);
      }
    }

    public splitFreebieOrder_result deepCopy() {
      return new splitFreebieOrder_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public Order getSuccess() {
      return this.success;
    }

    public void setSuccess(Order success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Order)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof splitFreebieOrder_result)
        return this.equals((splitFreebieOrder_result)that);
      return false;
    }

    public boolean equals(splitFreebieOrder_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(splitFreebieOrder_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      splitFreebieOrder_result typedOther = (splitFreebieOrder_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.success = new Order();
              this.success.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        this.success.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("splitFreebieOrder_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getRechargeTransactionsByNumber_args implements org.apache.thrift.TBase<getRechargeTransactionsByNumber_args, getRechargeTransactionsByNumber_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getRechargeTransactionsByNumber_args");

    private static final org.apache.thrift.protocol.TField NUMBER_FIELD_DESC = new org.apache.thrift.protocol.TField("number", org.apache.thrift.protocol.TType.STRING, (short)1);
    private static final org.apache.thrift.protocol.TField STORE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("storeId", org.apache.thrift.protocol.TType.I64, (short)2);

    private String number; // required
    private long storeId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      NUMBER((short)1, "number"),
      STORE_ID((short)2, "storeId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // NUMBER
            return NUMBER;
          case 2: // STORE_ID
            return STORE_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __STOREID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.NUMBER, new org.apache.thrift.meta_data.FieldMetaData("number", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.STORE_ID, new org.apache.thrift.meta_data.FieldMetaData("storeId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getRechargeTransactionsByNumber_args.class, metaDataMap);
    }

    public getRechargeTransactionsByNumber_args() {
    }

    public getRechargeTransactionsByNumber_args(
      String number,
      long storeId)
    {
      this();
      this.number = number;
      this.storeId = storeId;
      setStoreIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getRechargeTransactionsByNumber_args(getRechargeTransactionsByNumber_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      if (other.isSetNumber()) {
        this.number = other.number;
      }
      this.storeId = other.storeId;
    }

    public getRechargeTransactionsByNumber_args deepCopy() {
      return new getRechargeTransactionsByNumber_args(this);
    }

    @Override
    public void clear() {
      this.number = null;
      setStoreIdIsSet(false);
      this.storeId = 0;
    }

    public String getNumber() {
      return this.number;
    }

    public void setNumber(String number) {
      this.number = number;
    }

    public void unsetNumber() {
      this.number = null;
    }

    /** Returns true if field number is set (has been assigned a value) and false otherwise */
    public boolean isSetNumber() {
      return this.number != null;
    }

    public void setNumberIsSet(boolean value) {
      if (!value) {
        this.number = null;
      }
    }

    public long getStoreId() {
      return this.storeId;
    }

    public void setStoreId(long storeId) {
      this.storeId = storeId;
      setStoreIdIsSet(true);
    }

    public void unsetStoreId() {
      __isset_bit_vector.clear(__STOREID_ISSET_ID);
    }

    /** Returns true if field storeId is set (has been assigned a value) and false otherwise */
    public boolean isSetStoreId() {
      return __isset_bit_vector.get(__STOREID_ISSET_ID);
    }

    public void setStoreIdIsSet(boolean value) {
      __isset_bit_vector.set(__STOREID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case NUMBER:
        if (value == null) {
          unsetNumber();
        } else {
          setNumber((String)value);
        }
        break;

      case STORE_ID:
        if (value == null) {
          unsetStoreId();
        } else {
          setStoreId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case NUMBER:
        return getNumber();

      case STORE_ID:
        return Long.valueOf(getStoreId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case NUMBER:
        return isSetNumber();
      case STORE_ID:
        return isSetStoreId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getRechargeTransactionsByNumber_args)
        return this.equals((getRechargeTransactionsByNumber_args)that);
      return false;
    }

    public boolean equals(getRechargeTransactionsByNumber_args that) {
      if (that == null)
        return false;

      boolean this_present_number = true && this.isSetNumber();
      boolean that_present_number = true && that.isSetNumber();
      if (this_present_number || that_present_number) {
        if (!(this_present_number && that_present_number))
          return false;
        if (!this.number.equals(that.number))
          return false;
      }

      boolean this_present_storeId = true;
      boolean that_present_storeId = true;
      if (this_present_storeId || that_present_storeId) {
        if (!(this_present_storeId && that_present_storeId))
          return false;
        if (this.storeId != that.storeId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getRechargeTransactionsByNumber_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getRechargeTransactionsByNumber_args typedOther = (getRechargeTransactionsByNumber_args)other;

      lastComparison = Boolean.valueOf(isSetNumber()).compareTo(typedOther.isSetNumber());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetNumber()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.number, typedOther.number);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetStoreId()).compareTo(typedOther.isSetStoreId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetStoreId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.storeId, typedOther.storeId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // NUMBER
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.number = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // STORE_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.storeId = iprot.readI64();
              setStoreIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.number != null) {
        oprot.writeFieldBegin(NUMBER_FIELD_DESC);
        oprot.writeString(this.number);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldBegin(STORE_ID_FIELD_DESC);
      oprot.writeI64(this.storeId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getRechargeTransactionsByNumber_args(");
      boolean first = true;

      sb.append("number:");
      if (this.number == null) {
        sb.append("null");
      } else {
        sb.append(this.number);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("storeId:");
      sb.append(this.storeId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getRechargeTransactionsByNumber_result implements org.apache.thrift.TBase<getRechargeTransactionsByNumber_result, getRechargeTransactionsByNumber_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getRechargeTransactionsByNumber_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);

    private List<RechargeTransaction> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, RechargeTransaction.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getRechargeTransactionsByNumber_result.class, metaDataMap);
    }

    public getRechargeTransactionsByNumber_result() {
    }

    public getRechargeTransactionsByNumber_result(
      List<RechargeTransaction> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getRechargeTransactionsByNumber_result(getRechargeTransactionsByNumber_result other) {
      if (other.isSetSuccess()) {
        List<RechargeTransaction> __this__success = new ArrayList<RechargeTransaction>();
        for (RechargeTransaction other_element : other.success) {
          __this__success.add(new RechargeTransaction(other_element));
        }
        this.success = __this__success;
      }
    }

    public getRechargeTransactionsByNumber_result deepCopy() {
      return new getRechargeTransactionsByNumber_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<RechargeTransaction> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(RechargeTransaction elem) {
      if (this.success == null) {
        this.success = new ArrayList<RechargeTransaction>();
      }
      this.success.add(elem);
    }

    public List<RechargeTransaction> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<RechargeTransaction> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<RechargeTransaction>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getRechargeTransactionsByNumber_result)
        return this.equals((getRechargeTransactionsByNumber_result)that);
      return false;
    }

    public boolean equals(getRechargeTransactionsByNumber_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getRechargeTransactionsByNumber_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getRechargeTransactionsByNumber_result typedOther = (getRechargeTransactionsByNumber_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list454 = iprot.readListBegin();
                this.success = new ArrayList<RechargeTransaction>(_list454.size);
                for (int _i455 = 0; _i455 < _list454.size; ++_i455)
                {
                  RechargeTransaction _elem456; // required
                  _elem456 = new RechargeTransaction();
                  _elem456.read(iprot);
                  this.success.add(_elem456);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (RechargeTransaction _iter457 : this.success)
          {
            _iter457.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getRechargeTransactionsByNumber_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class updateHotspotStorePassword_args implements org.apache.thrift.TBase<updateHotspotStorePassword_args, updateHotspotStorePassword_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateHotspotStorePassword_args");

    private static final org.apache.thrift.protocol.TField STORE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("storeId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField PASSWORD_FIELD_DESC = new org.apache.thrift.protocol.TField("password", org.apache.thrift.protocol.TType.STRING, (short)2);

    private long storeId; // required
    private String password; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      STORE_ID((short)1, "storeId"),
      PASSWORD((short)2, "password");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // STORE_ID
            return STORE_ID;
          case 2: // PASSWORD
            return PASSWORD;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __STOREID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.STORE_ID, new org.apache.thrift.meta_data.FieldMetaData("storeId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.PASSWORD, new org.apache.thrift.meta_data.FieldMetaData("password", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateHotspotStorePassword_args.class, metaDataMap);
    }

    public updateHotspotStorePassword_args() {
    }

    public updateHotspotStorePassword_args(
      long storeId,
      String password)
    {
      this();
      this.storeId = storeId;
      setStoreIdIsSet(true);
      this.password = password;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public updateHotspotStorePassword_args(updateHotspotStorePassword_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.storeId = other.storeId;
      if (other.isSetPassword()) {
        this.password = other.password;
      }
    }

    public updateHotspotStorePassword_args deepCopy() {
      return new updateHotspotStorePassword_args(this);
    }

    @Override
    public void clear() {
      setStoreIdIsSet(false);
      this.storeId = 0;
      this.password = null;
    }

    public long getStoreId() {
      return this.storeId;
    }

    public void setStoreId(long storeId) {
      this.storeId = storeId;
      setStoreIdIsSet(true);
    }

    public void unsetStoreId() {
      __isset_bit_vector.clear(__STOREID_ISSET_ID);
    }

    /** Returns true if field storeId is set (has been assigned a value) and false otherwise */
    public boolean isSetStoreId() {
      return __isset_bit_vector.get(__STOREID_ISSET_ID);
    }

    public void setStoreIdIsSet(boolean value) {
      __isset_bit_vector.set(__STOREID_ISSET_ID, value);
    }

    public String getPassword() {
      return this.password;
    }

    public void setPassword(String password) {
      this.password = password;
    }

    public void unsetPassword() {
      this.password = null;
    }

    /** Returns true if field password is set (has been assigned a value) and false otherwise */
    public boolean isSetPassword() {
      return this.password != null;
    }

    public void setPasswordIsSet(boolean value) {
      if (!value) {
        this.password = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case STORE_ID:
        if (value == null) {
          unsetStoreId();
        } else {
          setStoreId((Long)value);
        }
        break;

      case PASSWORD:
        if (value == null) {
          unsetPassword();
        } else {
          setPassword((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case STORE_ID:
        return Long.valueOf(getStoreId());

      case PASSWORD:
        return getPassword();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case STORE_ID:
        return isSetStoreId();
      case PASSWORD:
        return isSetPassword();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof updateHotspotStorePassword_args)
        return this.equals((updateHotspotStorePassword_args)that);
      return false;
    }

    public boolean equals(updateHotspotStorePassword_args that) {
      if (that == null)
        return false;

      boolean this_present_storeId = true;
      boolean that_present_storeId = true;
      if (this_present_storeId || that_present_storeId) {
        if (!(this_present_storeId && that_present_storeId))
          return false;
        if (this.storeId != that.storeId)
          return false;
      }

      boolean this_present_password = true && this.isSetPassword();
      boolean that_present_password = true && that.isSetPassword();
      if (this_present_password || that_present_password) {
        if (!(this_present_password && that_present_password))
          return false;
        if (!this.password.equals(that.password))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(updateHotspotStorePassword_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      updateHotspotStorePassword_args typedOther = (updateHotspotStorePassword_args)other;

      lastComparison = Boolean.valueOf(isSetStoreId()).compareTo(typedOther.isSetStoreId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetStoreId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.storeId, typedOther.storeId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetPassword()).compareTo(typedOther.isSetPassword());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetPassword()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.password, typedOther.password);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // STORE_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.storeId = iprot.readI64();
              setStoreIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // PASSWORD
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.password = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(STORE_ID_FIELD_DESC);
      oprot.writeI64(this.storeId);
      oprot.writeFieldEnd();
      if (this.password != null) {
        oprot.writeFieldBegin(PASSWORD_FIELD_DESC);
        oprot.writeString(this.password);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("updateHotspotStorePassword_args(");
      boolean first = true;

      sb.append("storeId:");
      sb.append(this.storeId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("password:");
      if (this.password == null) {
        sb.append("null");
      } else {
        sb.append(this.password);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class updateHotspotStorePassword_result implements org.apache.thrift.TBase<updateHotspotStorePassword_result, updateHotspotStorePassword_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateHotspotStorePassword_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);

    private boolean success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateHotspotStorePassword_result.class, metaDataMap);
    }

    public updateHotspotStorePassword_result() {
    }

    public updateHotspotStorePassword_result(
      boolean success)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public updateHotspotStorePassword_result(updateHotspotStorePassword_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
    }

    public updateHotspotStorePassword_result deepCopy() {
      return new updateHotspotStorePassword_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = false;
    }

    public boolean isSuccess() {
      return this.success;
    }

    public void setSuccess(boolean success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Boolean.valueOf(isSuccess());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof updateHotspotStorePassword_result)
        return this.equals((updateHotspotStorePassword_result)that);
      return false;
    }

    public boolean equals(updateHotspotStorePassword_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(updateHotspotStorePassword_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      updateHotspotStorePassword_result typedOther = (updateHotspotStorePassword_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.success = iprot.readBool();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBool(this.success);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("updateHotspotStorePassword_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class topupCompanyWallet_args implements org.apache.thrift.TBase<topupCompanyWallet_args, topupCompanyWallet_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("topupCompanyWallet_args");

    private static final org.apache.thrift.protocol.TField COMPANY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("companyId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField AMOUNT_FIELD_DESC = new org.apache.thrift.protocol.TField("amount", org.apache.thrift.protocol.TType.I64, (short)2);

    private long companyId; // required
    private long amount; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      COMPANY_ID((short)1, "companyId"),
      AMOUNT((short)2, "amount");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // COMPANY_ID
            return COMPANY_ID;
          case 2: // AMOUNT
            return AMOUNT;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __COMPANYID_ISSET_ID = 0;
    private static final int __AMOUNT_ISSET_ID = 1;
    private BitSet __isset_bit_vector = new BitSet(2);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.COMPANY_ID, new org.apache.thrift.meta_data.FieldMetaData("companyId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.AMOUNT, new org.apache.thrift.meta_data.FieldMetaData("amount", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(topupCompanyWallet_args.class, metaDataMap);
    }

    public topupCompanyWallet_args() {
    }

    public topupCompanyWallet_args(
      long companyId,
      long amount)
    {
      this();
      this.companyId = companyId;
      setCompanyIdIsSet(true);
      this.amount = amount;
      setAmountIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public topupCompanyWallet_args(topupCompanyWallet_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.companyId = other.companyId;
      this.amount = other.amount;
    }

    public topupCompanyWallet_args deepCopy() {
      return new topupCompanyWallet_args(this);
    }

    @Override
    public void clear() {
      setCompanyIdIsSet(false);
      this.companyId = 0;
      setAmountIsSet(false);
      this.amount = 0;
    }

    public long getCompanyId() {
      return this.companyId;
    }

    public void setCompanyId(long companyId) {
      this.companyId = companyId;
      setCompanyIdIsSet(true);
    }

    public void unsetCompanyId() {
      __isset_bit_vector.clear(__COMPANYID_ISSET_ID);
    }

    /** Returns true if field companyId is set (has been assigned a value) and false otherwise */
    public boolean isSetCompanyId() {
      return __isset_bit_vector.get(__COMPANYID_ISSET_ID);
    }

    public void setCompanyIdIsSet(boolean value) {
      __isset_bit_vector.set(__COMPANYID_ISSET_ID, value);
    }

    public long getAmount() {
      return this.amount;
    }

    public void setAmount(long amount) {
      this.amount = amount;
      setAmountIsSet(true);
    }

    public void unsetAmount() {
      __isset_bit_vector.clear(__AMOUNT_ISSET_ID);
    }

    /** Returns true if field amount is set (has been assigned a value) and false otherwise */
    public boolean isSetAmount() {
      return __isset_bit_vector.get(__AMOUNT_ISSET_ID);
    }

    public void setAmountIsSet(boolean value) {
      __isset_bit_vector.set(__AMOUNT_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case COMPANY_ID:
        if (value == null) {
          unsetCompanyId();
        } else {
          setCompanyId((Long)value);
        }
        break;

      case AMOUNT:
        if (value == null) {
          unsetAmount();
        } else {
          setAmount((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case COMPANY_ID:
        return Long.valueOf(getCompanyId());

      case AMOUNT:
        return Long.valueOf(getAmount());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case COMPANY_ID:
        return isSetCompanyId();
      case AMOUNT:
        return isSetAmount();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof topupCompanyWallet_args)
        return this.equals((topupCompanyWallet_args)that);
      return false;
    }

    public boolean equals(topupCompanyWallet_args that) {
      if (that == null)
        return false;

      boolean this_present_companyId = true;
      boolean that_present_companyId = true;
      if (this_present_companyId || that_present_companyId) {
        if (!(this_present_companyId && that_present_companyId))
          return false;
        if (this.companyId != that.companyId)
          return false;
      }

      boolean this_present_amount = true;
      boolean that_present_amount = true;
      if (this_present_amount || that_present_amount) {
        if (!(this_present_amount && that_present_amount))
          return false;
        if (this.amount != that.amount)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(topupCompanyWallet_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      topupCompanyWallet_args typedOther = (topupCompanyWallet_args)other;

      lastComparison = Boolean.valueOf(isSetCompanyId()).compareTo(typedOther.isSetCompanyId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetCompanyId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.companyId, typedOther.companyId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetAmount()).compareTo(typedOther.isSetAmount());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetAmount()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.amount, typedOther.amount);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // COMPANY_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.companyId = iprot.readI64();
              setCompanyIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // AMOUNT
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.amount = iprot.readI64();
              setAmountIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(COMPANY_ID_FIELD_DESC);
      oprot.writeI64(this.companyId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(AMOUNT_FIELD_DESC);
      oprot.writeI64(this.amount);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("topupCompanyWallet_args(");
      boolean first = true;

      sb.append("companyId:");
      sb.append(this.companyId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("amount:");
      sb.append(this.amount);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class topupCompanyWallet_result implements org.apache.thrift.TBase<topupCompanyWallet_result, topupCompanyWallet_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("topupCompanyWallet_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.I64, (short)0);

    private long success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(topupCompanyWallet_result.class, metaDataMap);
    }

    public topupCompanyWallet_result() {
    }

    public topupCompanyWallet_result(
      long success)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public topupCompanyWallet_result(topupCompanyWallet_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
    }

    public topupCompanyWallet_result deepCopy() {
      return new topupCompanyWallet_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = 0;
    }

    public long getSuccess() {
      return this.success;
    }

    public void setSuccess(long success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Long.valueOf(getSuccess());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof topupCompanyWallet_result)
        return this.equals((topupCompanyWallet_result)that);
      return false;
    }

    public boolean equals(topupCompanyWallet_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(topupCompanyWallet_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      topupCompanyWallet_result typedOther = (topupCompanyWallet_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.success = iprot.readI64();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeI64(this.success);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("topupCompanyWallet_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getWalletBalanceForCompany_args implements org.apache.thrift.TBase<getWalletBalanceForCompany_args, getWalletBalanceForCompany_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getWalletBalanceForCompany_args");

    private static final org.apache.thrift.protocol.TField COMPANY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("companyId", org.apache.thrift.protocol.TType.I64, (short)1);

    private long companyId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      COMPANY_ID((short)1, "companyId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // COMPANY_ID
            return COMPANY_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __COMPANYID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.COMPANY_ID, new org.apache.thrift.meta_data.FieldMetaData("companyId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getWalletBalanceForCompany_args.class, metaDataMap);
    }

    public getWalletBalanceForCompany_args() {
    }

    public getWalletBalanceForCompany_args(
      long companyId)
    {
      this();
      this.companyId = companyId;
      setCompanyIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getWalletBalanceForCompany_args(getWalletBalanceForCompany_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.companyId = other.companyId;
    }

    public getWalletBalanceForCompany_args deepCopy() {
      return new getWalletBalanceForCompany_args(this);
    }

    @Override
    public void clear() {
      setCompanyIdIsSet(false);
      this.companyId = 0;
    }

    public long getCompanyId() {
      return this.companyId;
    }

    public void setCompanyId(long companyId) {
      this.companyId = companyId;
      setCompanyIdIsSet(true);
    }

    public void unsetCompanyId() {
      __isset_bit_vector.clear(__COMPANYID_ISSET_ID);
    }

    /** Returns true if field companyId is set (has been assigned a value) and false otherwise */
    public boolean isSetCompanyId() {
      return __isset_bit_vector.get(__COMPANYID_ISSET_ID);
    }

    public void setCompanyIdIsSet(boolean value) {
      __isset_bit_vector.set(__COMPANYID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case COMPANY_ID:
        if (value == null) {
          unsetCompanyId();
        } else {
          setCompanyId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case COMPANY_ID:
        return Long.valueOf(getCompanyId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case COMPANY_ID:
        return isSetCompanyId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getWalletBalanceForCompany_args)
        return this.equals((getWalletBalanceForCompany_args)that);
      return false;
    }

    public boolean equals(getWalletBalanceForCompany_args that) {
      if (that == null)
        return false;

      boolean this_present_companyId = true;
      boolean that_present_companyId = true;
      if (this_present_companyId || that_present_companyId) {
        if (!(this_present_companyId && that_present_companyId))
          return false;
        if (this.companyId != that.companyId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getWalletBalanceForCompany_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getWalletBalanceForCompany_args typedOther = (getWalletBalanceForCompany_args)other;

      lastComparison = Boolean.valueOf(isSetCompanyId()).compareTo(typedOther.isSetCompanyId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetCompanyId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.companyId, typedOther.companyId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // COMPANY_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.companyId = iprot.readI64();
              setCompanyIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(COMPANY_ID_FIELD_DESC);
      oprot.writeI64(this.companyId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getWalletBalanceForCompany_args(");
      boolean first = true;

      sb.append("companyId:");
      sb.append(this.companyId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getWalletBalanceForCompany_result implements org.apache.thrift.TBase<getWalletBalanceForCompany_result, getWalletBalanceForCompany_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getWalletBalanceForCompany_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.I64, (short)0);

    private long success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getWalletBalanceForCompany_result.class, metaDataMap);
    }

    public getWalletBalanceForCompany_result() {
    }

    public getWalletBalanceForCompany_result(
      long success)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getWalletBalanceForCompany_result(getWalletBalanceForCompany_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
    }

    public getWalletBalanceForCompany_result deepCopy() {
      return new getWalletBalanceForCompany_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = 0;
    }

    public long getSuccess() {
      return this.success;
    }

    public void setSuccess(long success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Long.valueOf(getSuccess());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getWalletBalanceForCompany_result)
        return this.equals((getWalletBalanceForCompany_result)that);
      return false;
    }

    public boolean equals(getWalletBalanceForCompany_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getWalletBalanceForCompany_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getWalletBalanceForCompany_result typedOther = (getWalletBalanceForCompany_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.success = iprot.readI64();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeI64(this.success);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getWalletBalanceForCompany_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getSaholicRechargeBalance_args implements org.apache.thrift.TBase<getSaholicRechargeBalance_args, getSaholicRechargeBalance_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getSaholicRechargeBalance_args");



    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
;

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getSaholicRechargeBalance_args.class, metaDataMap);
    }

    public getSaholicRechargeBalance_args() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getSaholicRechargeBalance_args(getSaholicRechargeBalance_args other) {
    }

    public getSaholicRechargeBalance_args deepCopy() {
      return new getSaholicRechargeBalance_args(this);
    }

    @Override
    public void clear() {
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getSaholicRechargeBalance_args)
        return this.equals((getSaholicRechargeBalance_args)that);
      return false;
    }

    public boolean equals(getSaholicRechargeBalance_args that) {
      if (that == null)
        return false;

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getSaholicRechargeBalance_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getSaholicRechargeBalance_args typedOther = (getSaholicRechargeBalance_args)other;

      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getSaholicRechargeBalance_args(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getSaholicRechargeBalance_result implements org.apache.thrift.TBase<getSaholicRechargeBalance_result, getSaholicRechargeBalance_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getSaholicRechargeBalance_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.I64, (short)0);

    private long success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getSaholicRechargeBalance_result.class, metaDataMap);
    }

    public getSaholicRechargeBalance_result() {
    }

    public getSaholicRechargeBalance_result(
      long success)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getSaholicRechargeBalance_result(getSaholicRechargeBalance_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
    }

    public getSaholicRechargeBalance_result deepCopy() {
      return new getSaholicRechargeBalance_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = 0;
    }

    public long getSuccess() {
      return this.success;
    }

    public void setSuccess(long success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Long.valueOf(getSuccess());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getSaholicRechargeBalance_result)
        return this.equals((getSaholicRechargeBalance_result)that);
      return false;
    }

    public boolean equals(getSaholicRechargeBalance_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getSaholicRechargeBalance_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getSaholicRechargeBalance_result typedOther = (getSaholicRechargeBalance_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.success = iprot.readI64();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeI64(this.success);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getSaholicRechargeBalance_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getSourceDetail_args implements org.apache.thrift.TBase<getSourceDetail_args, getSourceDetail_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getSourceDetail_args");

    private static final org.apache.thrift.protocol.TField SOURCE_FIELD_DESC = new org.apache.thrift.protocol.TField("source", org.apache.thrift.protocol.TType.I64, (short)1);

    private long source; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SOURCE((short)1, "source");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // SOURCE
            return SOURCE;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SOURCE_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SOURCE, new org.apache.thrift.meta_data.FieldMetaData("source", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getSourceDetail_args.class, metaDataMap);
    }

    public getSourceDetail_args() {
    }

    public getSourceDetail_args(
      long source)
    {
      this();
      this.source = source;
      setSourceIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getSourceDetail_args(getSourceDetail_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.source = other.source;
    }

    public getSourceDetail_args deepCopy() {
      return new getSourceDetail_args(this);
    }

    @Override
    public void clear() {
      setSourceIsSet(false);
      this.source = 0;
    }

    public long getSource() {
      return this.source;
    }

    public void setSource(long source) {
      this.source = source;
      setSourceIsSet(true);
    }

    public void unsetSource() {
      __isset_bit_vector.clear(__SOURCE_ISSET_ID);
    }

    /** Returns true if field source is set (has been assigned a value) and false otherwise */
    public boolean isSetSource() {
      return __isset_bit_vector.get(__SOURCE_ISSET_ID);
    }

    public void setSourceIsSet(boolean value) {
      __isset_bit_vector.set(__SOURCE_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SOURCE:
        if (value == null) {
          unsetSource();
        } else {
          setSource((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SOURCE:
        return Long.valueOf(getSource());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SOURCE:
        return isSetSource();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getSourceDetail_args)
        return this.equals((getSourceDetail_args)that);
      return false;
    }

    public boolean equals(getSourceDetail_args that) {
      if (that == null)
        return false;

      boolean this_present_source = true;
      boolean that_present_source = true;
      if (this_present_source || that_present_source) {
        if (!(this_present_source && that_present_source))
          return false;
        if (this.source != that.source)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getSourceDetail_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getSourceDetail_args typedOther = (getSourceDetail_args)other;

      lastComparison = Boolean.valueOf(isSetSource()).compareTo(typedOther.isSetSource());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSource()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.source, typedOther.source);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // SOURCE
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.source = iprot.readI64();
              setSourceIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(SOURCE_FIELD_DESC);
      oprot.writeI64(this.source);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getSourceDetail_args(");
      boolean first = true;

      sb.append("source:");
      sb.append(this.source);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getSourceDetail_result implements org.apache.thrift.TBase<getSourceDetail_result, getSourceDetail_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getSourceDetail_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);

    private SourceDetail success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, SourceDetail.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getSourceDetail_result.class, metaDataMap);
    }

    public getSourceDetail_result() {
    }

    public getSourceDetail_result(
      SourceDetail success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getSourceDetail_result(getSourceDetail_result other) {
      if (other.isSetSuccess()) {
        this.success = new SourceDetail(other.success);
      }
    }

    public getSourceDetail_result deepCopy() {
      return new getSourceDetail_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public SourceDetail getSuccess() {
      return this.success;
    }

    public void setSuccess(SourceDetail success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((SourceDetail)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getSourceDetail_result)
        return this.equals((getSourceDetail_result)that);
      return false;
    }

    public boolean equals(getSourceDetail_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getSourceDetail_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getSourceDetail_result typedOther = (getSourceDetail_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.success = new SourceDetail();
              this.success.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        this.success.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getSourceDetail_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getAllCircles_args implements org.apache.thrift.TBase<getAllCircles_args, getAllCircles_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllCircles_args");



    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
;

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAllCircles_args.class, metaDataMap);
    }

    public getAllCircles_args() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getAllCircles_args(getAllCircles_args other) {
    }

    public getAllCircles_args deepCopy() {
      return new getAllCircles_args(this);
    }

    @Override
    public void clear() {
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getAllCircles_args)
        return this.equals((getAllCircles_args)that);
      return false;
    }

    public boolean equals(getAllCircles_args that) {
      if (that == null)
        return false;

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getAllCircles_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getAllCircles_args typedOther = (getAllCircles_args)other;

      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getAllCircles_args(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getAllCircles_result implements org.apache.thrift.TBase<getAllCircles_result, getAllCircles_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllCircles_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);

    private List<TelecomCircle> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TelecomCircle.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAllCircles_result.class, metaDataMap);
    }

    public getAllCircles_result() {
    }

    public getAllCircles_result(
      List<TelecomCircle> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getAllCircles_result(getAllCircles_result other) {
      if (other.isSetSuccess()) {
        List<TelecomCircle> __this__success = new ArrayList<TelecomCircle>();
        for (TelecomCircle other_element : other.success) {
          __this__success.add(new TelecomCircle(other_element));
        }
        this.success = __this__success;
      }
    }

    public getAllCircles_result deepCopy() {
      return new getAllCircles_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<TelecomCircle> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(TelecomCircle elem) {
      if (this.success == null) {
        this.success = new ArrayList<TelecomCircle>();
      }
      this.success.add(elem);
    }

    public List<TelecomCircle> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<TelecomCircle> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<TelecomCircle>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getAllCircles_result)
        return this.equals((getAllCircles_result)that);
      return false;
    }

    public boolean equals(getAllCircles_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getAllCircles_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getAllCircles_result typedOther = (getAllCircles_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list458 = iprot.readListBegin();
                this.success = new ArrayList<TelecomCircle>(_list458.size);
                for (int _i459 = 0; _i459 < _list458.size; ++_i459)
                {
                  TelecomCircle _elem460; // required
                  _elem460 = new TelecomCircle();
                  _elem460.read(iprot);
                  this.success.add(_elem460);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (TelecomCircle _iter461 : this.success)
          {
            _iter461.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getAllCircles_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class deleteFrcs_args implements org.apache.thrift.TBase<deleteFrcs_args, deleteFrcs_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteFrcs_args");

    private static final org.apache.thrift.protocol.TField FRC_IDS_TO_DELETE_FIELD_DESC = new org.apache.thrift.protocol.TField("frcIdsToDelete", org.apache.thrift.protocol.TType.LIST, (short)1);

    private List<Long> frcIdsToDelete; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      FRC_IDS_TO_DELETE((short)1, "frcIdsToDelete");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // FRC_IDS_TO_DELETE
            return FRC_IDS_TO_DELETE;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.FRC_IDS_TO_DELETE, new org.apache.thrift.meta_data.FieldMetaData("frcIdsToDelete", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(deleteFrcs_args.class, metaDataMap);
    }

    public deleteFrcs_args() {
    }

    public deleteFrcs_args(
      List<Long> frcIdsToDelete)
    {
      this();
      this.frcIdsToDelete = frcIdsToDelete;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public deleteFrcs_args(deleteFrcs_args other) {
      if (other.isSetFrcIdsToDelete()) {
        List<Long> __this__frcIdsToDelete = new ArrayList<Long>();
        for (Long other_element : other.frcIdsToDelete) {
          __this__frcIdsToDelete.add(other_element);
        }
        this.frcIdsToDelete = __this__frcIdsToDelete;
      }
    }

    public deleteFrcs_args deepCopy() {
      return new deleteFrcs_args(this);
    }

    @Override
    public void clear() {
      this.frcIdsToDelete = null;
    }

    public int getFrcIdsToDeleteSize() {
      return (this.frcIdsToDelete == null) ? 0 : this.frcIdsToDelete.size();
    }

    public java.util.Iterator<Long> getFrcIdsToDeleteIterator() {
      return (this.frcIdsToDelete == null) ? null : this.frcIdsToDelete.iterator();
    }

    public void addToFrcIdsToDelete(long elem) {
      if (this.frcIdsToDelete == null) {
        this.frcIdsToDelete = new ArrayList<Long>();
      }
      this.frcIdsToDelete.add(elem);
    }

    public List<Long> getFrcIdsToDelete() {
      return this.frcIdsToDelete;
    }

    public void setFrcIdsToDelete(List<Long> frcIdsToDelete) {
      this.frcIdsToDelete = frcIdsToDelete;
    }

    public void unsetFrcIdsToDelete() {
      this.frcIdsToDelete = null;
    }

    /** Returns true if field frcIdsToDelete is set (has been assigned a value) and false otherwise */
    public boolean isSetFrcIdsToDelete() {
      return this.frcIdsToDelete != null;
    }

    public void setFrcIdsToDeleteIsSet(boolean value) {
      if (!value) {
        this.frcIdsToDelete = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case FRC_IDS_TO_DELETE:
        if (value == null) {
          unsetFrcIdsToDelete();
        } else {
          setFrcIdsToDelete((List<Long>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case FRC_IDS_TO_DELETE:
        return getFrcIdsToDelete();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case FRC_IDS_TO_DELETE:
        return isSetFrcIdsToDelete();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof deleteFrcs_args)
        return this.equals((deleteFrcs_args)that);
      return false;
    }

    public boolean equals(deleteFrcs_args that) {
      if (that == null)
        return false;

      boolean this_present_frcIdsToDelete = true && this.isSetFrcIdsToDelete();
      boolean that_present_frcIdsToDelete = true && that.isSetFrcIdsToDelete();
      if (this_present_frcIdsToDelete || that_present_frcIdsToDelete) {
        if (!(this_present_frcIdsToDelete && that_present_frcIdsToDelete))
          return false;
        if (!this.frcIdsToDelete.equals(that.frcIdsToDelete))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(deleteFrcs_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      deleteFrcs_args typedOther = (deleteFrcs_args)other;

      lastComparison = Boolean.valueOf(isSetFrcIdsToDelete()).compareTo(typedOther.isSetFrcIdsToDelete());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetFrcIdsToDelete()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.frcIdsToDelete, typedOther.frcIdsToDelete);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // FRC_IDS_TO_DELETE
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list462 = iprot.readListBegin();
                this.frcIdsToDelete = new ArrayList<Long>(_list462.size);
                for (int _i463 = 0; _i463 < _list462.size; ++_i463)
                {
                  long _elem464; // required
                  _elem464 = iprot.readI64();
                  this.frcIdsToDelete.add(_elem464);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.frcIdsToDelete != null) {
        oprot.writeFieldBegin(FRC_IDS_TO_DELETE_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, this.frcIdsToDelete.size()));
          for (long _iter465 : this.frcIdsToDelete)
          {
            oprot.writeI64(_iter465);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("deleteFrcs_args(");
      boolean first = true;

      sb.append("frcIdsToDelete:");
      if (this.frcIdsToDelete == null) {
        sb.append("null");
      } else {
        sb.append(this.frcIdsToDelete);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class deleteFrcs_result implements org.apache.thrift.TBase<deleteFrcs_result, deleteFrcs_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteFrcs_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);

    private boolean success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(deleteFrcs_result.class, metaDataMap);
    }

    public deleteFrcs_result() {
    }

    public deleteFrcs_result(
      boolean success)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public deleteFrcs_result(deleteFrcs_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
    }

    public deleteFrcs_result deepCopy() {
      return new deleteFrcs_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = false;
    }

    public boolean isSuccess() {
      return this.success;
    }

    public void setSuccess(boolean success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Boolean.valueOf(isSuccess());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof deleteFrcs_result)
        return this.equals((deleteFrcs_result)that);
      return false;
    }

    public boolean equals(deleteFrcs_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(deleteFrcs_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      deleteFrcs_result typedOther = (deleteFrcs_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.success = iprot.readBool();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBool(this.success);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("deleteFrcs_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class addAmazonOrder_args implements org.apache.thrift.TBase<addAmazonOrder_args, addAmazonOrder_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addAmazonOrder_args");

    private static final org.apache.thrift.protocol.TField AMAZON_ORDER_FIELD_DESC = new org.apache.thrift.protocol.TField("amazonOrder", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private AmazonOrder amazonOrder; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      AMAZON_ORDER((short)1, "amazonOrder");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // AMAZON_ORDER
            return AMAZON_ORDER;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.AMAZON_ORDER, new org.apache.thrift.meta_data.FieldMetaData("amazonOrder", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, AmazonOrder.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(addAmazonOrder_args.class, metaDataMap);
    }

    public addAmazonOrder_args() {
    }

    public addAmazonOrder_args(
      AmazonOrder amazonOrder)
    {
      this();
      this.amazonOrder = amazonOrder;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public addAmazonOrder_args(addAmazonOrder_args other) {
      if (other.isSetAmazonOrder()) {
        this.amazonOrder = new AmazonOrder(other.amazonOrder);
      }
    }

    public addAmazonOrder_args deepCopy() {
      return new addAmazonOrder_args(this);
    }

    @Override
    public void clear() {
      this.amazonOrder = null;
    }

    public AmazonOrder getAmazonOrder() {
      return this.amazonOrder;
    }

    public void setAmazonOrder(AmazonOrder amazonOrder) {
      this.amazonOrder = amazonOrder;
    }

    public void unsetAmazonOrder() {
      this.amazonOrder = null;
    }

    /** Returns true if field amazonOrder is set (has been assigned a value) and false otherwise */
    public boolean isSetAmazonOrder() {
      return this.amazonOrder != null;
    }

    public void setAmazonOrderIsSet(boolean value) {
      if (!value) {
        this.amazonOrder = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case AMAZON_ORDER:
        if (value == null) {
          unsetAmazonOrder();
        } else {
          setAmazonOrder((AmazonOrder)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case AMAZON_ORDER:
        return getAmazonOrder();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case AMAZON_ORDER:
        return isSetAmazonOrder();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof addAmazonOrder_args)
        return this.equals((addAmazonOrder_args)that);
      return false;
    }

    public boolean equals(addAmazonOrder_args that) {
      if (that == null)
        return false;

      boolean this_present_amazonOrder = true && this.isSetAmazonOrder();
      boolean that_present_amazonOrder = true && that.isSetAmazonOrder();
      if (this_present_amazonOrder || that_present_amazonOrder) {
        if (!(this_present_amazonOrder && that_present_amazonOrder))
          return false;
        if (!this.amazonOrder.equals(that.amazonOrder))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(addAmazonOrder_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      addAmazonOrder_args typedOther = (addAmazonOrder_args)other;

      lastComparison = Boolean.valueOf(isSetAmazonOrder()).compareTo(typedOther.isSetAmazonOrder());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetAmazonOrder()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.amazonOrder, typedOther.amazonOrder);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // AMAZON_ORDER
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.amazonOrder = new AmazonOrder();
              this.amazonOrder.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.amazonOrder != null) {
        oprot.writeFieldBegin(AMAZON_ORDER_FIELD_DESC);
        this.amazonOrder.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("addAmazonOrder_args(");
      boolean first = true;

      sb.append("amazonOrder:");
      if (this.amazonOrder == null) {
        sb.append("null");
      } else {
        sb.append(this.amazonOrder);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class addAmazonOrder_result implements org.apache.thrift.TBase<addAmazonOrder_result, addAmazonOrder_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addAmazonOrder_result");



    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
;

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(addAmazonOrder_result.class, metaDataMap);
    }

    public addAmazonOrder_result() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public addAmazonOrder_result(addAmazonOrder_result other) {
    }

    public addAmazonOrder_result deepCopy() {
      return new addAmazonOrder_result(this);
    }

    @Override
    public void clear() {
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof addAmazonOrder_result)
        return this.equals((addAmazonOrder_result)that);
      return false;
    }

    public boolean equals(addAmazonOrder_result that) {
      if (that == null)
        return false;

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(addAmazonOrder_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      addAmazonOrder_result typedOther = (addAmazonOrder_result)other;

      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("addAmazonOrder_result(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class updateAmazonOrderStatus_args implements org.apache.thrift.TBase<updateAmazonOrderStatus_args, updateAmazonOrderStatus_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateAmazonOrderStatus_args");

    private static final org.apache.thrift.protocol.TField ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("orderId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField STATUS_FIELD_DESC = new org.apache.thrift.protocol.TField("status", org.apache.thrift.protocol.TType.STRING, (short)2);

    private long orderId; // required
    private String status; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ORDER_ID((short)1, "orderId"),
      STATUS((short)2, "status");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ORDER_ID
            return ORDER_ID;
          case 2: // STATUS
            return STATUS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ORDERID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("orderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.STATUS, new org.apache.thrift.meta_data.FieldMetaData("status", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateAmazonOrderStatus_args.class, metaDataMap);
    }

    public updateAmazonOrderStatus_args() {
    }

    public updateAmazonOrderStatus_args(
      long orderId,
      String status)
    {
      this();
      this.orderId = orderId;
      setOrderIdIsSet(true);
      this.status = status;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public updateAmazonOrderStatus_args(updateAmazonOrderStatus_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.orderId = other.orderId;
      if (other.isSetStatus()) {
        this.status = other.status;
      }
    }

    public updateAmazonOrderStatus_args deepCopy() {
      return new updateAmazonOrderStatus_args(this);
    }

    @Override
    public void clear() {
      setOrderIdIsSet(false);
      this.orderId = 0;
      this.status = null;
    }

    public long getOrderId() {
      return this.orderId;
    }

    public void setOrderId(long orderId) {
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    public void unsetOrderId() {
      __isset_bit_vector.clear(__ORDERID_ISSET_ID);
    }

    /** Returns true if field orderId is set (has been assigned a value) and false otherwise */
    public boolean isSetOrderId() {
      return __isset_bit_vector.get(__ORDERID_ISSET_ID);
    }

    public void setOrderIdIsSet(boolean value) {
      __isset_bit_vector.set(__ORDERID_ISSET_ID, value);
    }

    public String getStatus() {
      return this.status;
    }

    public void setStatus(String status) {
      this.status = status;
    }

    public void unsetStatus() {
      this.status = null;
    }

    /** Returns true if field status is set (has been assigned a value) and false otherwise */
    public boolean isSetStatus() {
      return this.status != null;
    }

    public void setStatusIsSet(boolean value) {
      if (!value) {
        this.status = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ORDER_ID:
        if (value == null) {
          unsetOrderId();
        } else {
          setOrderId((Long)value);
        }
        break;

      case STATUS:
        if (value == null) {
          unsetStatus();
        } else {
          setStatus((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ORDER_ID:
        return Long.valueOf(getOrderId());

      case STATUS:
        return getStatus();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ORDER_ID:
        return isSetOrderId();
      case STATUS:
        return isSetStatus();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof updateAmazonOrderStatus_args)
        return this.equals((updateAmazonOrderStatus_args)that);
      return false;
    }

    public boolean equals(updateAmazonOrderStatus_args that) {
      if (that == null)
        return false;

      boolean this_present_orderId = true;
      boolean that_present_orderId = true;
      if (this_present_orderId || that_present_orderId) {
        if (!(this_present_orderId && that_present_orderId))
          return false;
        if (this.orderId != that.orderId)
          return false;
      }

      boolean this_present_status = true && this.isSetStatus();
      boolean that_present_status = true && that.isSetStatus();
      if (this_present_status || that_present_status) {
        if (!(this_present_status && that_present_status))
          return false;
        if (!this.status.equals(that.status))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(updateAmazonOrderStatus_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      updateAmazonOrderStatus_args typedOther = (updateAmazonOrderStatus_args)other;

      lastComparison = Boolean.valueOf(isSetOrderId()).compareTo(typedOther.isSetOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.orderId, typedOther.orderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetStatus()).compareTo(typedOther.isSetStatus());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetStatus()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.status, typedOther.status);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.orderId = iprot.readI64();
              setOrderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // STATUS
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.status = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ORDER_ID_FIELD_DESC);
      oprot.writeI64(this.orderId);
      oprot.writeFieldEnd();
      if (this.status != null) {
        oprot.writeFieldBegin(STATUS_FIELD_DESC);
        oprot.writeString(this.status);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("updateAmazonOrderStatus_args(");
      boolean first = true;

      sb.append("orderId:");
      sb.append(this.orderId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("status:");
      if (this.status == null) {
        sb.append("null");
      } else {
        sb.append(this.status);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class updateAmazonOrderStatus_result implements org.apache.thrift.TBase<updateAmazonOrderStatus_result, updateAmazonOrderStatus_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateAmazonOrderStatus_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);

    private boolean success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateAmazonOrderStatus_result.class, metaDataMap);
    }

    public updateAmazonOrderStatus_result() {
    }

    public updateAmazonOrderStatus_result(
      boolean success)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public updateAmazonOrderStatus_result(updateAmazonOrderStatus_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
    }

    public updateAmazonOrderStatus_result deepCopy() {
      return new updateAmazonOrderStatus_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = false;
    }

    public boolean isSuccess() {
      return this.success;
    }

    public void setSuccess(boolean success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Boolean.valueOf(isSuccess());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof updateAmazonOrderStatus_result)
        return this.equals((updateAmazonOrderStatus_result)that);
      return false;
    }

    public boolean equals(updateAmazonOrderStatus_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(updateAmazonOrderStatus_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      updateAmazonOrderStatus_result typedOther = (updateAmazonOrderStatus_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.success = iprot.readBool();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBool(this.success);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("updateAmazonOrderStatus_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getAmazonOrdersShipped_args implements org.apache.thrift.TBase<getAmazonOrdersShipped_args, getAmazonOrdersShipped_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAmazonOrdersShipped_args");



    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
;

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAmazonOrdersShipped_args.class, metaDataMap);
    }

    public getAmazonOrdersShipped_args() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getAmazonOrdersShipped_args(getAmazonOrdersShipped_args other) {
    }

    public getAmazonOrdersShipped_args deepCopy() {
      return new getAmazonOrdersShipped_args(this);
    }

    @Override
    public void clear() {
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getAmazonOrdersShipped_args)
        return this.equals((getAmazonOrdersShipped_args)that);
      return false;
    }

    public boolean equals(getAmazonOrdersShipped_args that) {
      if (that == null)
        return false;

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getAmazonOrdersShipped_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getAmazonOrdersShipped_args typedOther = (getAmazonOrdersShipped_args)other;

      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getAmazonOrdersShipped_args(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getAmazonOrdersShipped_result implements org.apache.thrift.TBase<getAmazonOrdersShipped_result, getAmazonOrdersShipped_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAmazonOrdersShipped_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);

    private List<Order> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Order.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAmazonOrdersShipped_result.class, metaDataMap);
    }

    public getAmazonOrdersShipped_result() {
    }

    public getAmazonOrdersShipped_result(
      List<Order> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getAmazonOrdersShipped_result(getAmazonOrdersShipped_result other) {
      if (other.isSetSuccess()) {
        List<Order> __this__success = new ArrayList<Order>();
        for (Order other_element : other.success) {
          __this__success.add(new Order(other_element));
        }
        this.success = __this__success;
      }
    }

    public getAmazonOrdersShipped_result deepCopy() {
      return new getAmazonOrdersShipped_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<Order> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(Order elem) {
      if (this.success == null) {
        this.success = new ArrayList<Order>();
      }
      this.success.add(elem);
    }

    public List<Order> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<Order> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<Order>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getAmazonOrdersShipped_result)
        return this.equals((getAmazonOrdersShipped_result)that);
      return false;
    }

    public boolean equals(getAmazonOrdersShipped_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getAmazonOrdersShipped_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getAmazonOrdersShipped_result typedOther = (getAmazonOrdersShipped_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list466 = iprot.readListBegin();
                this.success = new ArrayList<Order>(_list466.size);
                for (int _i467 = 0; _i467 < _list466.size; ++_i467)
                {
                  Order _elem468; // required
                  _elem468 = new Order();
                  _elem468.read(iprot);
                  this.success.add(_elem468);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (Order _iter469 : this.success)
          {
            _iter469.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getAmazonOrdersShipped_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getAmazonOrdersCancelled_args implements org.apache.thrift.TBase<getAmazonOrdersCancelled_args, getAmazonOrdersCancelled_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAmazonOrdersCancelled_args");

    private static final org.apache.thrift.protocol.TField INTERVAL_FIELD_DESC = new org.apache.thrift.protocol.TField("interval", org.apache.thrift.protocol.TType.I64, (short)1);

    private long interval; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      INTERVAL((short)1, "interval");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // INTERVAL
            return INTERVAL;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __INTERVAL_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.INTERVAL, new org.apache.thrift.meta_data.FieldMetaData("interval", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAmazonOrdersCancelled_args.class, metaDataMap);
    }

    public getAmazonOrdersCancelled_args() {
    }

    public getAmazonOrdersCancelled_args(
      long interval)
    {
      this();
      this.interval = interval;
      setIntervalIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getAmazonOrdersCancelled_args(getAmazonOrdersCancelled_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.interval = other.interval;
    }

    public getAmazonOrdersCancelled_args deepCopy() {
      return new getAmazonOrdersCancelled_args(this);
    }

    @Override
    public void clear() {
      setIntervalIsSet(false);
      this.interval = 0;
    }

    public long getInterval() {
      return this.interval;
    }

    public void setInterval(long interval) {
      this.interval = interval;
      setIntervalIsSet(true);
    }

    public void unsetInterval() {
      __isset_bit_vector.clear(__INTERVAL_ISSET_ID);
    }

    /** Returns true if field interval is set (has been assigned a value) and false otherwise */
    public boolean isSetInterval() {
      return __isset_bit_vector.get(__INTERVAL_ISSET_ID);
    }

    public void setIntervalIsSet(boolean value) {
      __isset_bit_vector.set(__INTERVAL_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case INTERVAL:
        if (value == null) {
          unsetInterval();
        } else {
          setInterval((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case INTERVAL:
        return Long.valueOf(getInterval());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case INTERVAL:
        return isSetInterval();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getAmazonOrdersCancelled_args)
        return this.equals((getAmazonOrdersCancelled_args)that);
      return false;
    }

    public boolean equals(getAmazonOrdersCancelled_args that) {
      if (that == null)
        return false;

      boolean this_present_interval = true;
      boolean that_present_interval = true;
      if (this_present_interval || that_present_interval) {
        if (!(this_present_interval && that_present_interval))
          return false;
        if (this.interval != that.interval)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getAmazonOrdersCancelled_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getAmazonOrdersCancelled_args typedOther = (getAmazonOrdersCancelled_args)other;

      lastComparison = Boolean.valueOf(isSetInterval()).compareTo(typedOther.isSetInterval());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetInterval()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.interval, typedOther.interval);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // INTERVAL
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.interval = iprot.readI64();
              setIntervalIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(INTERVAL_FIELD_DESC);
      oprot.writeI64(this.interval);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getAmazonOrdersCancelled_args(");
      boolean first = true;

      sb.append("interval:");
      sb.append(this.interval);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getAmazonOrdersCancelled_result implements org.apache.thrift.TBase<getAmazonOrdersCancelled_result, getAmazonOrdersCancelled_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAmazonOrdersCancelled_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);

    private List<Order> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Order.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAmazonOrdersCancelled_result.class, metaDataMap);
    }

    public getAmazonOrdersCancelled_result() {
    }

    public getAmazonOrdersCancelled_result(
      List<Order> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getAmazonOrdersCancelled_result(getAmazonOrdersCancelled_result other) {
      if (other.isSetSuccess()) {
        List<Order> __this__success = new ArrayList<Order>();
        for (Order other_element : other.success) {
          __this__success.add(new Order(other_element));
        }
        this.success = __this__success;
      }
    }

    public getAmazonOrdersCancelled_result deepCopy() {
      return new getAmazonOrdersCancelled_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<Order> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(Order elem) {
      if (this.success == null) {
        this.success = new ArrayList<Order>();
      }
      this.success.add(elem);
    }

    public List<Order> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<Order> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<Order>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getAmazonOrdersCancelled_result)
        return this.equals((getAmazonOrdersCancelled_result)that);
      return false;
    }

    public boolean equals(getAmazonOrdersCancelled_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getAmazonOrdersCancelled_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getAmazonOrdersCancelled_result typedOther = (getAmazonOrdersCancelled_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list470 = iprot.readListBegin();
                this.success = new ArrayList<Order>(_list470.size);
                for (int _i471 = 0; _i471 < _list470.size; ++_i471)
                {
                  Order _elem472; // required
                  _elem472 = new Order();
                  _elem472.read(iprot);
                  this.success.add(_elem472);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (Order _iter473 : this.success)
          {
            _iter473.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getAmazonOrdersCancelled_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getAmazonOrder_args implements org.apache.thrift.TBase<getAmazonOrder_args, getAmazonOrder_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAmazonOrder_args");

    private static final org.apache.thrift.protocol.TField ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("orderId", org.apache.thrift.protocol.TType.I64, (short)1);

    private long orderId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ORDER_ID((short)1, "orderId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ORDER_ID
            return ORDER_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ORDERID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("orderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAmazonOrder_args.class, metaDataMap);
    }

    public getAmazonOrder_args() {
    }

    public getAmazonOrder_args(
      long orderId)
    {
      this();
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getAmazonOrder_args(getAmazonOrder_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.orderId = other.orderId;
    }

    public getAmazonOrder_args deepCopy() {
      return new getAmazonOrder_args(this);
    }

    @Override
    public void clear() {
      setOrderIdIsSet(false);
      this.orderId = 0;
    }

    public long getOrderId() {
      return this.orderId;
    }

    public void setOrderId(long orderId) {
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    public void unsetOrderId() {
      __isset_bit_vector.clear(__ORDERID_ISSET_ID);
    }

    /** Returns true if field orderId is set (has been assigned a value) and false otherwise */
    public boolean isSetOrderId() {
      return __isset_bit_vector.get(__ORDERID_ISSET_ID);
    }

    public void setOrderIdIsSet(boolean value) {
      __isset_bit_vector.set(__ORDERID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ORDER_ID:
        if (value == null) {
          unsetOrderId();
        } else {
          setOrderId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ORDER_ID:
        return Long.valueOf(getOrderId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ORDER_ID:
        return isSetOrderId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getAmazonOrder_args)
        return this.equals((getAmazonOrder_args)that);
      return false;
    }

    public boolean equals(getAmazonOrder_args that) {
      if (that == null)
        return false;

      boolean this_present_orderId = true;
      boolean that_present_orderId = true;
      if (this_present_orderId || that_present_orderId) {
        if (!(this_present_orderId && that_present_orderId))
          return false;
        if (this.orderId != that.orderId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getAmazonOrder_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getAmazonOrder_args typedOther = (getAmazonOrder_args)other;

      lastComparison = Boolean.valueOf(isSetOrderId()).compareTo(typedOther.isSetOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.orderId, typedOther.orderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.orderId = iprot.readI64();
              setOrderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ORDER_ID_FIELD_DESC);
      oprot.writeI64(this.orderId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getAmazonOrder_args(");
      boolean first = true;

      sb.append("orderId:");
      sb.append(this.orderId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getAmazonOrder_result implements org.apache.thrift.TBase<getAmazonOrder_result, getAmazonOrder_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAmazonOrder_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);

    private AmazonOrder success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, AmazonOrder.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAmazonOrder_result.class, metaDataMap);
    }

    public getAmazonOrder_result() {
    }

    public getAmazonOrder_result(
      AmazonOrder success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getAmazonOrder_result(getAmazonOrder_result other) {
      if (other.isSetSuccess()) {
        this.success = new AmazonOrder(other.success);
      }
    }

    public getAmazonOrder_result deepCopy() {
      return new getAmazonOrder_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public AmazonOrder getSuccess() {
      return this.success;
    }

    public void setSuccess(AmazonOrder success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((AmazonOrder)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getAmazonOrder_result)
        return this.equals((getAmazonOrder_result)that);
      return false;
    }

    public boolean equals(getAmazonOrder_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getAmazonOrder_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getAmazonOrder_result typedOther = (getAmazonOrder_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.success = new AmazonOrder();
              this.success.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        this.success.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getAmazonOrder_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getAmazonOrderByAmazonOrderId_args implements org.apache.thrift.TBase<getAmazonOrderByAmazonOrderId_args, getAmazonOrderByAmazonOrderId_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAmazonOrderByAmazonOrderId_args");

    private static final org.apache.thrift.protocol.TField AMAZON_ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("amazonOrderId", org.apache.thrift.protocol.TType.STRING, (short)1);

    private String amazonOrderId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      AMAZON_ORDER_ID((short)1, "amazonOrderId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // AMAZON_ORDER_ID
            return AMAZON_ORDER_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.AMAZON_ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("amazonOrderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAmazonOrderByAmazonOrderId_args.class, metaDataMap);
    }

    public getAmazonOrderByAmazonOrderId_args() {
    }

    public getAmazonOrderByAmazonOrderId_args(
      String amazonOrderId)
    {
      this();
      this.amazonOrderId = amazonOrderId;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getAmazonOrderByAmazonOrderId_args(getAmazonOrderByAmazonOrderId_args other) {
      if (other.isSetAmazonOrderId()) {
        this.amazonOrderId = other.amazonOrderId;
      }
    }

    public getAmazonOrderByAmazonOrderId_args deepCopy() {
      return new getAmazonOrderByAmazonOrderId_args(this);
    }

    @Override
    public void clear() {
      this.amazonOrderId = null;
    }

    public String getAmazonOrderId() {
      return this.amazonOrderId;
    }

    public void setAmazonOrderId(String amazonOrderId) {
      this.amazonOrderId = amazonOrderId;
    }

    public void unsetAmazonOrderId() {
      this.amazonOrderId = null;
    }

    /** Returns true if field amazonOrderId is set (has been assigned a value) and false otherwise */
    public boolean isSetAmazonOrderId() {
      return this.amazonOrderId != null;
    }

    public void setAmazonOrderIdIsSet(boolean value) {
      if (!value) {
        this.amazonOrderId = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case AMAZON_ORDER_ID:
        if (value == null) {
          unsetAmazonOrderId();
        } else {
          setAmazonOrderId((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case AMAZON_ORDER_ID:
        return getAmazonOrderId();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case AMAZON_ORDER_ID:
        return isSetAmazonOrderId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getAmazonOrderByAmazonOrderId_args)
        return this.equals((getAmazonOrderByAmazonOrderId_args)that);
      return false;
    }

    public boolean equals(getAmazonOrderByAmazonOrderId_args that) {
      if (that == null)
        return false;

      boolean this_present_amazonOrderId = true && this.isSetAmazonOrderId();
      boolean that_present_amazonOrderId = true && that.isSetAmazonOrderId();
      if (this_present_amazonOrderId || that_present_amazonOrderId) {
        if (!(this_present_amazonOrderId && that_present_amazonOrderId))
          return false;
        if (!this.amazonOrderId.equals(that.amazonOrderId))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getAmazonOrderByAmazonOrderId_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getAmazonOrderByAmazonOrderId_args typedOther = (getAmazonOrderByAmazonOrderId_args)other;

      lastComparison = Boolean.valueOf(isSetAmazonOrderId()).compareTo(typedOther.isSetAmazonOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetAmazonOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.amazonOrderId, typedOther.amazonOrderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // AMAZON_ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.amazonOrderId = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.amazonOrderId != null) {
        oprot.writeFieldBegin(AMAZON_ORDER_ID_FIELD_DESC);
        oprot.writeString(this.amazonOrderId);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getAmazonOrderByAmazonOrderId_args(");
      boolean first = true;

      sb.append("amazonOrderId:");
      if (this.amazonOrderId == null) {
        sb.append("null");
      } else {
        sb.append(this.amazonOrderId);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getAmazonOrderByAmazonOrderId_result implements org.apache.thrift.TBase<getAmazonOrderByAmazonOrderId_result, getAmazonOrderByAmazonOrderId_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAmazonOrderByAmazonOrderId_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);

    private List<AmazonOrder> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, AmazonOrder.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAmazonOrderByAmazonOrderId_result.class, metaDataMap);
    }

    public getAmazonOrderByAmazonOrderId_result() {
    }

    public getAmazonOrderByAmazonOrderId_result(
      List<AmazonOrder> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getAmazonOrderByAmazonOrderId_result(getAmazonOrderByAmazonOrderId_result other) {
      if (other.isSetSuccess()) {
        List<AmazonOrder> __this__success = new ArrayList<AmazonOrder>();
        for (AmazonOrder other_element : other.success) {
          __this__success.add(new AmazonOrder(other_element));
        }
        this.success = __this__success;
      }
    }

    public getAmazonOrderByAmazonOrderId_result deepCopy() {
      return new getAmazonOrderByAmazonOrderId_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<AmazonOrder> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(AmazonOrder elem) {
      if (this.success == null) {
        this.success = new ArrayList<AmazonOrder>();
      }
      this.success.add(elem);
    }

    public List<AmazonOrder> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<AmazonOrder> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<AmazonOrder>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getAmazonOrderByAmazonOrderId_result)
        return this.equals((getAmazonOrderByAmazonOrderId_result)that);
      return false;
    }

    public boolean equals(getAmazonOrderByAmazonOrderId_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getAmazonOrderByAmazonOrderId_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getAmazonOrderByAmazonOrderId_result typedOther = (getAmazonOrderByAmazonOrderId_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list474 = iprot.readListBegin();
                this.success = new ArrayList<AmazonOrder>(_list474.size);
                for (int _i475 = 0; _i475 < _list474.size; ++_i475)
                {
                  AmazonOrder _elem476; // required
                  _elem476 = new AmazonOrder();
                  _elem476.read(iprot);
                  this.success.add(_elem476);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (AmazonOrder _iter477 : this.success)
          {
            _iter477.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getAmazonOrderByAmazonOrderId_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getOrdersForStore_args implements org.apache.thrift.TBase<getOrdersForStore_args, getOrdersForStore_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getOrdersForStore_args");

    private static final org.apache.thrift.protocol.TField ID_FIELD_DESC = new org.apache.thrift.protocol.TField("id", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField STORE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("storeId", org.apache.thrift.protocol.TType.I64, (short)2);
    private static final org.apache.thrift.protocol.TField START_DATE_FIELD_DESC = new org.apache.thrift.protocol.TField("startDate", org.apache.thrift.protocol.TType.I64, (short)3);
    private static final org.apache.thrift.protocol.TField END_DATE_FIELD_DESC = new org.apache.thrift.protocol.TField("endDate", org.apache.thrift.protocol.TType.I64, (short)4);
    private static final org.apache.thrift.protocol.TField STATUSES_FIELD_DESC = new org.apache.thrift.protocol.TField("statuses", org.apache.thrift.protocol.TType.LIST, (short)5);

    private long id; // required
    private long storeId; // required
    private long startDate; // required
    private long endDate; // required
    private List<OrderStatus> statuses; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ID((short)1, "id"),
      STORE_ID((short)2, "storeId"),
      START_DATE((short)3, "startDate"),
      END_DATE((short)4, "endDate"),
      STATUSES((short)5, "statuses");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ID
            return ID;
          case 2: // STORE_ID
            return STORE_ID;
          case 3: // START_DATE
            return START_DATE;
          case 4: // END_DATE
            return END_DATE;
          case 5: // STATUSES
            return STATUSES;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ID_ISSET_ID = 0;
    private static final int __STOREID_ISSET_ID = 1;
    private static final int __STARTDATE_ISSET_ID = 2;
    private static final int __ENDDATE_ISSET_ID = 3;
    private BitSet __isset_bit_vector = new BitSet(4);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ID, new org.apache.thrift.meta_data.FieldMetaData("id", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.STORE_ID, new org.apache.thrift.meta_data.FieldMetaData("storeId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.START_DATE, new org.apache.thrift.meta_data.FieldMetaData("startDate", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.END_DATE, new org.apache.thrift.meta_data.FieldMetaData("endDate", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.STATUSES, new org.apache.thrift.meta_data.FieldMetaData("statuses", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, OrderStatus.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getOrdersForStore_args.class, metaDataMap);
    }

    public getOrdersForStore_args() {
    }

    public getOrdersForStore_args(
      long id,
      long storeId,
      long startDate,
      long endDate,
      List<OrderStatus> statuses)
    {
      this();
      this.id = id;
      setIdIsSet(true);
      this.storeId = storeId;
      setStoreIdIsSet(true);
      this.startDate = startDate;
      setStartDateIsSet(true);
      this.endDate = endDate;
      setEndDateIsSet(true);
      this.statuses = statuses;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getOrdersForStore_args(getOrdersForStore_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.id = other.id;
      this.storeId = other.storeId;
      this.startDate = other.startDate;
      this.endDate = other.endDate;
      if (other.isSetStatuses()) {
        List<OrderStatus> __this__statuses = new ArrayList<OrderStatus>();
        for (OrderStatus other_element : other.statuses) {
          __this__statuses.add(other_element);
        }
        this.statuses = __this__statuses;
      }
    }

    public getOrdersForStore_args deepCopy() {
      return new getOrdersForStore_args(this);
    }

    @Override
    public void clear() {
      setIdIsSet(false);
      this.id = 0;
      setStoreIdIsSet(false);
      this.storeId = 0;
      setStartDateIsSet(false);
      this.startDate = 0;
      setEndDateIsSet(false);
      this.endDate = 0;
      this.statuses = null;
    }

    public long getId() {
      return this.id;
    }

    public void setId(long id) {
      this.id = id;
      setIdIsSet(true);
    }

    public void unsetId() {
      __isset_bit_vector.clear(__ID_ISSET_ID);
    }

    /** Returns true if field id is set (has been assigned a value) and false otherwise */
    public boolean isSetId() {
      return __isset_bit_vector.get(__ID_ISSET_ID);
    }

    public void setIdIsSet(boolean value) {
      __isset_bit_vector.set(__ID_ISSET_ID, value);
    }

    public long getStoreId() {
      return this.storeId;
    }

    public void setStoreId(long storeId) {
      this.storeId = storeId;
      setStoreIdIsSet(true);
    }

    public void unsetStoreId() {
      __isset_bit_vector.clear(__STOREID_ISSET_ID);
    }

    /** Returns true if field storeId is set (has been assigned a value) and false otherwise */
    public boolean isSetStoreId() {
      return __isset_bit_vector.get(__STOREID_ISSET_ID);
    }

    public void setStoreIdIsSet(boolean value) {
      __isset_bit_vector.set(__STOREID_ISSET_ID, value);
    }

    public long getStartDate() {
      return this.startDate;
    }

    public void setStartDate(long startDate) {
      this.startDate = startDate;
      setStartDateIsSet(true);
    }

    public void unsetStartDate() {
      __isset_bit_vector.clear(__STARTDATE_ISSET_ID);
    }

    /** Returns true if field startDate is set (has been assigned a value) and false otherwise */
    public boolean isSetStartDate() {
      return __isset_bit_vector.get(__STARTDATE_ISSET_ID);
    }

    public void setStartDateIsSet(boolean value) {
      __isset_bit_vector.set(__STARTDATE_ISSET_ID, value);
    }

    public long getEndDate() {
      return this.endDate;
    }

    public void setEndDate(long endDate) {
      this.endDate = endDate;
      setEndDateIsSet(true);
    }

    public void unsetEndDate() {
      __isset_bit_vector.clear(__ENDDATE_ISSET_ID);
    }

    /** Returns true if field endDate is set (has been assigned a value) and false otherwise */
    public boolean isSetEndDate() {
      return __isset_bit_vector.get(__ENDDATE_ISSET_ID);
    }

    public void setEndDateIsSet(boolean value) {
      __isset_bit_vector.set(__ENDDATE_ISSET_ID, value);
    }

    public int getStatusesSize() {
      return (this.statuses == null) ? 0 : this.statuses.size();
    }

    public java.util.Iterator<OrderStatus> getStatusesIterator() {
      return (this.statuses == null) ? null : this.statuses.iterator();
    }

    public void addToStatuses(OrderStatus elem) {
      if (this.statuses == null) {
        this.statuses = new ArrayList<OrderStatus>();
      }
      this.statuses.add(elem);
    }

    public List<OrderStatus> getStatuses() {
      return this.statuses;
    }

    public void setStatuses(List<OrderStatus> statuses) {
      this.statuses = statuses;
    }

    public void unsetStatuses() {
      this.statuses = null;
    }

    /** Returns true if field statuses is set (has been assigned a value) and false otherwise */
    public boolean isSetStatuses() {
      return this.statuses != null;
    }

    public void setStatusesIsSet(boolean value) {
      if (!value) {
        this.statuses = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ID:
        if (value == null) {
          unsetId();
        } else {
          setId((Long)value);
        }
        break;

      case STORE_ID:
        if (value == null) {
          unsetStoreId();
        } else {
          setStoreId((Long)value);
        }
        break;

      case START_DATE:
        if (value == null) {
          unsetStartDate();
        } else {
          setStartDate((Long)value);
        }
        break;

      case END_DATE:
        if (value == null) {
          unsetEndDate();
        } else {
          setEndDate((Long)value);
        }
        break;

      case STATUSES:
        if (value == null) {
          unsetStatuses();
        } else {
          setStatuses((List<OrderStatus>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ID:
        return Long.valueOf(getId());

      case STORE_ID:
        return Long.valueOf(getStoreId());

      case START_DATE:
        return Long.valueOf(getStartDate());

      case END_DATE:
        return Long.valueOf(getEndDate());

      case STATUSES:
        return getStatuses();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ID:
        return isSetId();
      case STORE_ID:
        return isSetStoreId();
      case START_DATE:
        return isSetStartDate();
      case END_DATE:
        return isSetEndDate();
      case STATUSES:
        return isSetStatuses();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getOrdersForStore_args)
        return this.equals((getOrdersForStore_args)that);
      return false;
    }

    public boolean equals(getOrdersForStore_args that) {
      if (that == null)
        return false;

      boolean this_present_id = true;
      boolean that_present_id = true;
      if (this_present_id || that_present_id) {
        if (!(this_present_id && that_present_id))
          return false;
        if (this.id != that.id)
          return false;
      }

      boolean this_present_storeId = true;
      boolean that_present_storeId = true;
      if (this_present_storeId || that_present_storeId) {
        if (!(this_present_storeId && that_present_storeId))
          return false;
        if (this.storeId != that.storeId)
          return false;
      }

      boolean this_present_startDate = true;
      boolean that_present_startDate = true;
      if (this_present_startDate || that_present_startDate) {
        if (!(this_present_startDate && that_present_startDate))
          return false;
        if (this.startDate != that.startDate)
          return false;
      }

      boolean this_present_endDate = true;
      boolean that_present_endDate = true;
      if (this_present_endDate || that_present_endDate) {
        if (!(this_present_endDate && that_present_endDate))
          return false;
        if (this.endDate != that.endDate)
          return false;
      }

      boolean this_present_statuses = true && this.isSetStatuses();
      boolean that_present_statuses = true && that.isSetStatuses();
      if (this_present_statuses || that_present_statuses) {
        if (!(this_present_statuses && that_present_statuses))
          return false;
        if (!this.statuses.equals(that.statuses))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getOrdersForStore_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getOrdersForStore_args typedOther = (getOrdersForStore_args)other;

      lastComparison = Boolean.valueOf(isSetId()).compareTo(typedOther.isSetId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.id, typedOther.id);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetStoreId()).compareTo(typedOther.isSetStoreId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetStoreId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.storeId, typedOther.storeId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetStartDate()).compareTo(typedOther.isSetStartDate());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetStartDate()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.startDate, typedOther.startDate);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEndDate()).compareTo(typedOther.isSetEndDate());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEndDate()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.endDate, typedOther.endDate);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetStatuses()).compareTo(typedOther.isSetStatuses());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetStatuses()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.statuses, typedOther.statuses);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.id = iprot.readI64();
              setIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // STORE_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.storeId = iprot.readI64();
              setStoreIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // START_DATE
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.startDate = iprot.readI64();
              setStartDateIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 4: // END_DATE
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.endDate = iprot.readI64();
              setEndDateIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 5: // STATUSES
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list478 = iprot.readListBegin();
                this.statuses = new ArrayList<OrderStatus>(_list478.size);
                for (int _i479 = 0; _i479 < _list478.size; ++_i479)
                {
                  OrderStatus _elem480; // required
                  _elem480 = OrderStatus.findByValue(iprot.readI32());
                  this.statuses.add(_elem480);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ID_FIELD_DESC);
      oprot.writeI64(this.id);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(STORE_ID_FIELD_DESC);
      oprot.writeI64(this.storeId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(START_DATE_FIELD_DESC);
      oprot.writeI64(this.startDate);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(END_DATE_FIELD_DESC);
      oprot.writeI64(this.endDate);
      oprot.writeFieldEnd();
      if (this.statuses != null) {
        oprot.writeFieldBegin(STATUSES_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I32, this.statuses.size()));
          for (OrderStatus _iter481 : this.statuses)
          {
            oprot.writeI32(_iter481.getValue());
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getOrdersForStore_args(");
      boolean first = true;

      sb.append("id:");
      sb.append(this.id);
      first = false;
      if (!first) sb.append(", ");
      sb.append("storeId:");
      sb.append(this.storeId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("startDate:");
      sb.append(this.startDate);
      first = false;
      if (!first) sb.append(", ");
      sb.append("endDate:");
      sb.append(this.endDate);
      first = false;
      if (!first) sb.append(", ");
      sb.append("statuses:");
      if (this.statuses == null) {
        sb.append("null");
      } else {
        sb.append(this.statuses);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getOrdersForStore_result implements org.apache.thrift.TBase<getOrdersForStore_result, getOrdersForStore_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getOrdersForStore_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);

    private List<Order> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Order.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getOrdersForStore_result.class, metaDataMap);
    }

    public getOrdersForStore_result() {
    }

    public getOrdersForStore_result(
      List<Order> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getOrdersForStore_result(getOrdersForStore_result other) {
      if (other.isSetSuccess()) {
        List<Order> __this__success = new ArrayList<Order>();
        for (Order other_element : other.success) {
          __this__success.add(new Order(other_element));
        }
        this.success = __this__success;
      }
    }

    public getOrdersForStore_result deepCopy() {
      return new getOrdersForStore_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<Order> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(Order elem) {
      if (this.success == null) {
        this.success = new ArrayList<Order>();
      }
      this.success.add(elem);
    }

    public List<Order> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<Order> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<Order>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getOrdersForStore_result)
        return this.equals((getOrdersForStore_result)that);
      return false;
    }

    public boolean equals(getOrdersForStore_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getOrdersForStore_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getOrdersForStore_result typedOther = (getOrdersForStore_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list482 = iprot.readListBegin();
                this.success = new ArrayList<Order>(_list482.size);
                for (int _i483 = 0; _i483 < _list482.size; ++_i483)
                {
                  Order _elem484; // required
                  _elem484 = new Order();
                  _elem484.read(iprot);
                  this.success.add(_elem484);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (Order _iter485 : this.success)
          {
            _iter485.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getOrdersForStore_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getStoreOrderAdvanceInvoice_args implements org.apache.thrift.TBase<getStoreOrderAdvanceInvoice_args, getStoreOrderAdvanceInvoice_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getStoreOrderAdvanceInvoice_args");

    private static final org.apache.thrift.protocol.TField ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("orderId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField STORE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("storeId", org.apache.thrift.protocol.TType.I64, (short)2);

    private long orderId; // required
    private long storeId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ORDER_ID((short)1, "orderId"),
      STORE_ID((short)2, "storeId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ORDER_ID
            return ORDER_ID;
          case 2: // STORE_ID
            return STORE_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ORDERID_ISSET_ID = 0;
    private static final int __STOREID_ISSET_ID = 1;
    private BitSet __isset_bit_vector = new BitSet(2);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("orderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.STORE_ID, new org.apache.thrift.meta_data.FieldMetaData("storeId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getStoreOrderAdvanceInvoice_args.class, metaDataMap);
    }

    public getStoreOrderAdvanceInvoice_args() {
    }

    public getStoreOrderAdvanceInvoice_args(
      long orderId,
      long storeId)
    {
      this();
      this.orderId = orderId;
      setOrderIdIsSet(true);
      this.storeId = storeId;
      setStoreIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getStoreOrderAdvanceInvoice_args(getStoreOrderAdvanceInvoice_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.orderId = other.orderId;
      this.storeId = other.storeId;
    }

    public getStoreOrderAdvanceInvoice_args deepCopy() {
      return new getStoreOrderAdvanceInvoice_args(this);
    }

    @Override
    public void clear() {
      setOrderIdIsSet(false);
      this.orderId = 0;
      setStoreIdIsSet(false);
      this.storeId = 0;
    }

    public long getOrderId() {
      return this.orderId;
    }

    public void setOrderId(long orderId) {
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    public void unsetOrderId() {
      __isset_bit_vector.clear(__ORDERID_ISSET_ID);
    }

    /** Returns true if field orderId is set (has been assigned a value) and false otherwise */
    public boolean isSetOrderId() {
      return __isset_bit_vector.get(__ORDERID_ISSET_ID);
    }

    public void setOrderIdIsSet(boolean value) {
      __isset_bit_vector.set(__ORDERID_ISSET_ID, value);
    }

    public long getStoreId() {
      return this.storeId;
    }

    public void setStoreId(long storeId) {
      this.storeId = storeId;
      setStoreIdIsSet(true);
    }

    public void unsetStoreId() {
      __isset_bit_vector.clear(__STOREID_ISSET_ID);
    }

    /** Returns true if field storeId is set (has been assigned a value) and false otherwise */
    public boolean isSetStoreId() {
      return __isset_bit_vector.get(__STOREID_ISSET_ID);
    }

    public void setStoreIdIsSet(boolean value) {
      __isset_bit_vector.set(__STOREID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ORDER_ID:
        if (value == null) {
          unsetOrderId();
        } else {
          setOrderId((Long)value);
        }
        break;

      case STORE_ID:
        if (value == null) {
          unsetStoreId();
        } else {
          setStoreId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ORDER_ID:
        return Long.valueOf(getOrderId());

      case STORE_ID:
        return Long.valueOf(getStoreId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ORDER_ID:
        return isSetOrderId();
      case STORE_ID:
        return isSetStoreId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getStoreOrderAdvanceInvoice_args)
        return this.equals((getStoreOrderAdvanceInvoice_args)that);
      return false;
    }

    public boolean equals(getStoreOrderAdvanceInvoice_args that) {
      if (that == null)
        return false;

      boolean this_present_orderId = true;
      boolean that_present_orderId = true;
      if (this_present_orderId || that_present_orderId) {
        if (!(this_present_orderId && that_present_orderId))
          return false;
        if (this.orderId != that.orderId)
          return false;
      }

      boolean this_present_storeId = true;
      boolean that_present_storeId = true;
      if (this_present_storeId || that_present_storeId) {
        if (!(this_present_storeId && that_present_storeId))
          return false;
        if (this.storeId != that.storeId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getStoreOrderAdvanceInvoice_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getStoreOrderAdvanceInvoice_args typedOther = (getStoreOrderAdvanceInvoice_args)other;

      lastComparison = Boolean.valueOf(isSetOrderId()).compareTo(typedOther.isSetOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.orderId, typedOther.orderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetStoreId()).compareTo(typedOther.isSetStoreId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetStoreId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.storeId, typedOther.storeId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.orderId = iprot.readI64();
              setOrderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // STORE_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.storeId = iprot.readI64();
              setStoreIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ORDER_ID_FIELD_DESC);
      oprot.writeI64(this.orderId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(STORE_ID_FIELD_DESC);
      oprot.writeI64(this.storeId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getStoreOrderAdvanceInvoice_args(");
      boolean first = true;

      sb.append("orderId:");
      sb.append(this.orderId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("storeId:");
      sb.append(this.storeId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getStoreOrderAdvanceInvoice_result implements org.apache.thrift.TBase<getStoreOrderAdvanceInvoice_result, getStoreOrderAdvanceInvoice_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getStoreOrderAdvanceInvoice_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRING, (short)0);

    private ByteBuffer success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING          , true)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getStoreOrderAdvanceInvoice_result.class, metaDataMap);
    }

    public getStoreOrderAdvanceInvoice_result() {
    }

    public getStoreOrderAdvanceInvoice_result(
      ByteBuffer success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getStoreOrderAdvanceInvoice_result(getStoreOrderAdvanceInvoice_result other) {
      if (other.isSetSuccess()) {
        this.success = org.apache.thrift.TBaseHelper.copyBinary(other.success);
;
      }
    }

    public getStoreOrderAdvanceInvoice_result deepCopy() {
      return new getStoreOrderAdvanceInvoice_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public byte[] getSuccess() {
      setSuccess(org.apache.thrift.TBaseHelper.rightSize(success));
      return success == null ? null : success.array();
    }

    public ByteBuffer bufferForSuccess() {
      return success;
    }

    public void setSuccess(byte[] success) {
      setSuccess(success == null ? (ByteBuffer)null : ByteBuffer.wrap(success));
    }

    public void setSuccess(ByteBuffer success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((ByteBuffer)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getStoreOrderAdvanceInvoice_result)
        return this.equals((getStoreOrderAdvanceInvoice_result)that);
      return false;
    }

    public boolean equals(getStoreOrderAdvanceInvoice_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getStoreOrderAdvanceInvoice_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getStoreOrderAdvanceInvoice_result typedOther = (getStoreOrderAdvanceInvoice_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.success = iprot.readBinary();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBinary(this.success);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getStoreOrderAdvanceInvoice_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        org.apache.thrift.TBaseHelper.toString(this.success, sb);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class addFrc_args implements org.apache.thrift.TBase<addFrc_args, addFrc_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addFrc_args");

    private static final org.apache.thrift.protocol.TField CIRCLE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("circleId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField OPERATOR_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("operatorId", org.apache.thrift.protocol.TType.I64, (short)2);
    private static final org.apache.thrift.protocol.TField DENOMINATION_FIELD_DESC = new org.apache.thrift.protocol.TField("denomination", org.apache.thrift.protocol.TType.I64, (short)3);
    private static final org.apache.thrift.protocol.TField MAX_DISCOUNT_FIELD_DESC = new org.apache.thrift.protocol.TField("maxDiscount", org.apache.thrift.protocol.TType.I64, (short)4);

    private long circleId; // required
    private long operatorId; // required
    private long denomination; // required
    private long maxDiscount; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      CIRCLE_ID((short)1, "circleId"),
      OPERATOR_ID((short)2, "operatorId"),
      DENOMINATION((short)3, "denomination"),
      MAX_DISCOUNT((short)4, "maxDiscount");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // CIRCLE_ID
            return CIRCLE_ID;
          case 2: // OPERATOR_ID
            return OPERATOR_ID;
          case 3: // DENOMINATION
            return DENOMINATION;
          case 4: // MAX_DISCOUNT
            return MAX_DISCOUNT;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __CIRCLEID_ISSET_ID = 0;
    private static final int __OPERATORID_ISSET_ID = 1;
    private static final int __DENOMINATION_ISSET_ID = 2;
    private static final int __MAXDISCOUNT_ISSET_ID = 3;
    private BitSet __isset_bit_vector = new BitSet(4);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.CIRCLE_ID, new org.apache.thrift.meta_data.FieldMetaData("circleId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.OPERATOR_ID, new org.apache.thrift.meta_data.FieldMetaData("operatorId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.DENOMINATION, new org.apache.thrift.meta_data.FieldMetaData("denomination", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.MAX_DISCOUNT, new org.apache.thrift.meta_data.FieldMetaData("maxDiscount", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(addFrc_args.class, metaDataMap);
    }

    public addFrc_args() {
    }

    public addFrc_args(
      long circleId,
      long operatorId,
      long denomination,
      long maxDiscount)
    {
      this();
      this.circleId = circleId;
      setCircleIdIsSet(true);
      this.operatorId = operatorId;
      setOperatorIdIsSet(true);
      this.denomination = denomination;
      setDenominationIsSet(true);
      this.maxDiscount = maxDiscount;
      setMaxDiscountIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public addFrc_args(addFrc_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.circleId = other.circleId;
      this.operatorId = other.operatorId;
      this.denomination = other.denomination;
      this.maxDiscount = other.maxDiscount;
    }

    public addFrc_args deepCopy() {
      return new addFrc_args(this);
    }

    @Override
    public void clear() {
      setCircleIdIsSet(false);
      this.circleId = 0;
      setOperatorIdIsSet(false);
      this.operatorId = 0;
      setDenominationIsSet(false);
      this.denomination = 0;
      setMaxDiscountIsSet(false);
      this.maxDiscount = 0;
    }

    public long getCircleId() {
      return this.circleId;
    }

    public void setCircleId(long circleId) {
      this.circleId = circleId;
      setCircleIdIsSet(true);
    }

    public void unsetCircleId() {
      __isset_bit_vector.clear(__CIRCLEID_ISSET_ID);
    }

    /** Returns true if field circleId is set (has been assigned a value) and false otherwise */
    public boolean isSetCircleId() {
      return __isset_bit_vector.get(__CIRCLEID_ISSET_ID);
    }

    public void setCircleIdIsSet(boolean value) {
      __isset_bit_vector.set(__CIRCLEID_ISSET_ID, value);
    }

    public long getOperatorId() {
      return this.operatorId;
    }

    public void setOperatorId(long operatorId) {
      this.operatorId = operatorId;
      setOperatorIdIsSet(true);
    }

    public void unsetOperatorId() {
      __isset_bit_vector.clear(__OPERATORID_ISSET_ID);
    }

    /** Returns true if field operatorId is set (has been assigned a value) and false otherwise */
    public boolean isSetOperatorId() {
      return __isset_bit_vector.get(__OPERATORID_ISSET_ID);
    }

    public void setOperatorIdIsSet(boolean value) {
      __isset_bit_vector.set(__OPERATORID_ISSET_ID, value);
    }

    public long getDenomination() {
      return this.denomination;
    }

    public void setDenomination(long denomination) {
      this.denomination = denomination;
      setDenominationIsSet(true);
    }

    public void unsetDenomination() {
      __isset_bit_vector.clear(__DENOMINATION_ISSET_ID);
    }

    /** Returns true if field denomination is set (has been assigned a value) and false otherwise */
    public boolean isSetDenomination() {
      return __isset_bit_vector.get(__DENOMINATION_ISSET_ID);
    }

    public void setDenominationIsSet(boolean value) {
      __isset_bit_vector.set(__DENOMINATION_ISSET_ID, value);
    }

    public long getMaxDiscount() {
      return this.maxDiscount;
    }

    public void setMaxDiscount(long maxDiscount) {
      this.maxDiscount = maxDiscount;
      setMaxDiscountIsSet(true);
    }

    public void unsetMaxDiscount() {
      __isset_bit_vector.clear(__MAXDISCOUNT_ISSET_ID);
    }

    /** Returns true if field maxDiscount is set (has been assigned a value) and false otherwise */
    public boolean isSetMaxDiscount() {
      return __isset_bit_vector.get(__MAXDISCOUNT_ISSET_ID);
    }

    public void setMaxDiscountIsSet(boolean value) {
      __isset_bit_vector.set(__MAXDISCOUNT_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case CIRCLE_ID:
        if (value == null) {
          unsetCircleId();
        } else {
          setCircleId((Long)value);
        }
        break;

      case OPERATOR_ID:
        if (value == null) {
          unsetOperatorId();
        } else {
          setOperatorId((Long)value);
        }
        break;

      case DENOMINATION:
        if (value == null) {
          unsetDenomination();
        } else {
          setDenomination((Long)value);
        }
        break;

      case MAX_DISCOUNT:
        if (value == null) {
          unsetMaxDiscount();
        } else {
          setMaxDiscount((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case CIRCLE_ID:
        return Long.valueOf(getCircleId());

      case OPERATOR_ID:
        return Long.valueOf(getOperatorId());

      case DENOMINATION:
        return Long.valueOf(getDenomination());

      case MAX_DISCOUNT:
        return Long.valueOf(getMaxDiscount());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case CIRCLE_ID:
        return isSetCircleId();
      case OPERATOR_ID:
        return isSetOperatorId();
      case DENOMINATION:
        return isSetDenomination();
      case MAX_DISCOUNT:
        return isSetMaxDiscount();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof addFrc_args)
        return this.equals((addFrc_args)that);
      return false;
    }

    public boolean equals(addFrc_args that) {
      if (that == null)
        return false;

      boolean this_present_circleId = true;
      boolean that_present_circleId = true;
      if (this_present_circleId || that_present_circleId) {
        if (!(this_present_circleId && that_present_circleId))
          return false;
        if (this.circleId != that.circleId)
          return false;
      }

      boolean this_present_operatorId = true;
      boolean that_present_operatorId = true;
      if (this_present_operatorId || that_present_operatorId) {
        if (!(this_present_operatorId && that_present_operatorId))
          return false;
        if (this.operatorId != that.operatorId)
          return false;
      }

      boolean this_present_denomination = true;
      boolean that_present_denomination = true;
      if (this_present_denomination || that_present_denomination) {
        if (!(this_present_denomination && that_present_denomination))
          return false;
        if (this.denomination != that.denomination)
          return false;
      }

      boolean this_present_maxDiscount = true;
      boolean that_present_maxDiscount = true;
      if (this_present_maxDiscount || that_present_maxDiscount) {
        if (!(this_present_maxDiscount && that_present_maxDiscount))
          return false;
        if (this.maxDiscount != that.maxDiscount)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(addFrc_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      addFrc_args typedOther = (addFrc_args)other;

      lastComparison = Boolean.valueOf(isSetCircleId()).compareTo(typedOther.isSetCircleId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetCircleId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.circleId, typedOther.circleId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetOperatorId()).compareTo(typedOther.isSetOperatorId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOperatorId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.operatorId, typedOther.operatorId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetDenomination()).compareTo(typedOther.isSetDenomination());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetDenomination()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.denomination, typedOther.denomination);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetMaxDiscount()).compareTo(typedOther.isSetMaxDiscount());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetMaxDiscount()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.maxDiscount, typedOther.maxDiscount);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // CIRCLE_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.circleId = iprot.readI64();
              setCircleIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // OPERATOR_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.operatorId = iprot.readI64();
              setOperatorIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // DENOMINATION
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.denomination = iprot.readI64();
              setDenominationIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 4: // MAX_DISCOUNT
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.maxDiscount = iprot.readI64();
              setMaxDiscountIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(CIRCLE_ID_FIELD_DESC);
      oprot.writeI64(this.circleId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(OPERATOR_ID_FIELD_DESC);
      oprot.writeI64(this.operatorId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(DENOMINATION_FIELD_DESC);
      oprot.writeI64(this.denomination);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(MAX_DISCOUNT_FIELD_DESC);
      oprot.writeI64(this.maxDiscount);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("addFrc_args(");
      boolean first = true;

      sb.append("circleId:");
      sb.append(this.circleId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("operatorId:");
      sb.append(this.operatorId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("denomination:");
      sb.append(this.denomination);
      first = false;
      if (!first) sb.append(", ");
      sb.append("maxDiscount:");
      sb.append(this.maxDiscount);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class addFrc_result implements org.apache.thrift.TBase<addFrc_result, addFrc_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addFrc_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);

    private boolean success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(addFrc_result.class, metaDataMap);
    }

    public addFrc_result() {
    }

    public addFrc_result(
      boolean success)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public addFrc_result(addFrc_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
    }

    public addFrc_result deepCopy() {
      return new addFrc_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = false;
    }

    public boolean isSuccess() {
      return this.success;
    }

    public void setSuccess(boolean success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Boolean.valueOf(isSuccess());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof addFrc_result)
        return this.equals((addFrc_result)that);
      return false;
    }

    public boolean equals(addFrc_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(addFrc_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      addFrc_result typedOther = (addFrc_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.success = iprot.readBool();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBool(this.success);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("addFrc_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class addSeries_args implements org.apache.thrift.TBase<addSeries_args, addSeries_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addSeries_args");

    private static final org.apache.thrift.protocol.TField CIRCLE_FIELD_DESC = new org.apache.thrift.protocol.TField("circle", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField OPERATOR_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("operatorId", org.apache.thrift.protocol.TType.I64, (short)2);
    private static final org.apache.thrift.protocol.TField SERIES_FIELD_DESC = new org.apache.thrift.protocol.TField("series", org.apache.thrift.protocol.TType.I64, (short)3);

    private long circle; // required
    private long operatorId; // required
    private long series; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      CIRCLE((short)1, "circle"),
      OPERATOR_ID((short)2, "operatorId"),
      SERIES((short)3, "series");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // CIRCLE
            return CIRCLE;
          case 2: // OPERATOR_ID
            return OPERATOR_ID;
          case 3: // SERIES
            return SERIES;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __CIRCLE_ISSET_ID = 0;
    private static final int __OPERATORID_ISSET_ID = 1;
    private static final int __SERIES_ISSET_ID = 2;
    private BitSet __isset_bit_vector = new BitSet(3);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.CIRCLE, new org.apache.thrift.meta_data.FieldMetaData("circle", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.OPERATOR_ID, new org.apache.thrift.meta_data.FieldMetaData("operatorId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.SERIES, new org.apache.thrift.meta_data.FieldMetaData("series", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(addSeries_args.class, metaDataMap);
    }

    public addSeries_args() {
    }

    public addSeries_args(
      long circle,
      long operatorId,
      long series)
    {
      this();
      this.circle = circle;
      setCircleIsSet(true);
      this.operatorId = operatorId;
      setOperatorIdIsSet(true);
      this.series = series;
      setSeriesIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public addSeries_args(addSeries_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.circle = other.circle;
      this.operatorId = other.operatorId;
      this.series = other.series;
    }

    public addSeries_args deepCopy() {
      return new addSeries_args(this);
    }

    @Override
    public void clear() {
      setCircleIsSet(false);
      this.circle = 0;
      setOperatorIdIsSet(false);
      this.operatorId = 0;
      setSeriesIsSet(false);
      this.series = 0;
    }

    public long getCircle() {
      return this.circle;
    }

    public void setCircle(long circle) {
      this.circle = circle;
      setCircleIsSet(true);
    }

    public void unsetCircle() {
      __isset_bit_vector.clear(__CIRCLE_ISSET_ID);
    }

    /** Returns true if field circle is set (has been assigned a value) and false otherwise */
    public boolean isSetCircle() {
      return __isset_bit_vector.get(__CIRCLE_ISSET_ID);
    }

    public void setCircleIsSet(boolean value) {
      __isset_bit_vector.set(__CIRCLE_ISSET_ID, value);
    }

    public long getOperatorId() {
      return this.operatorId;
    }

    public void setOperatorId(long operatorId) {
      this.operatorId = operatorId;
      setOperatorIdIsSet(true);
    }

    public void unsetOperatorId() {
      __isset_bit_vector.clear(__OPERATORID_ISSET_ID);
    }

    /** Returns true if field operatorId is set (has been assigned a value) and false otherwise */
    public boolean isSetOperatorId() {
      return __isset_bit_vector.get(__OPERATORID_ISSET_ID);
    }

    public void setOperatorIdIsSet(boolean value) {
      __isset_bit_vector.set(__OPERATORID_ISSET_ID, value);
    }

    public long getSeries() {
      return this.series;
    }

    public void setSeries(long series) {
      this.series = series;
      setSeriesIsSet(true);
    }

    public void unsetSeries() {
      __isset_bit_vector.clear(__SERIES_ISSET_ID);
    }

    /** Returns true if field series is set (has been assigned a value) and false otherwise */
    public boolean isSetSeries() {
      return __isset_bit_vector.get(__SERIES_ISSET_ID);
    }

    public void setSeriesIsSet(boolean value) {
      __isset_bit_vector.set(__SERIES_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case CIRCLE:
        if (value == null) {
          unsetCircle();
        } else {
          setCircle((Long)value);
        }
        break;

      case OPERATOR_ID:
        if (value == null) {
          unsetOperatorId();
        } else {
          setOperatorId((Long)value);
        }
        break;

      case SERIES:
        if (value == null) {
          unsetSeries();
        } else {
          setSeries((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case CIRCLE:
        return Long.valueOf(getCircle());

      case OPERATOR_ID:
        return Long.valueOf(getOperatorId());

      case SERIES:
        return Long.valueOf(getSeries());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case CIRCLE:
        return isSetCircle();
      case OPERATOR_ID:
        return isSetOperatorId();
      case SERIES:
        return isSetSeries();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof addSeries_args)
        return this.equals((addSeries_args)that);
      return false;
    }

    public boolean equals(addSeries_args that) {
      if (that == null)
        return false;

      boolean this_present_circle = true;
      boolean that_present_circle = true;
      if (this_present_circle || that_present_circle) {
        if (!(this_present_circle && that_present_circle))
          return false;
        if (this.circle != that.circle)
          return false;
      }

      boolean this_present_operatorId = true;
      boolean that_present_operatorId = true;
      if (this_present_operatorId || that_present_operatorId) {
        if (!(this_present_operatorId && that_present_operatorId))
          return false;
        if (this.operatorId != that.operatorId)
          return false;
      }

      boolean this_present_series = true;
      boolean that_present_series = true;
      if (this_present_series || that_present_series) {
        if (!(this_present_series && that_present_series))
          return false;
        if (this.series != that.series)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(addSeries_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      addSeries_args typedOther = (addSeries_args)other;

      lastComparison = Boolean.valueOf(isSetCircle()).compareTo(typedOther.isSetCircle());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetCircle()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.circle, typedOther.circle);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetOperatorId()).compareTo(typedOther.isSetOperatorId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOperatorId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.operatorId, typedOther.operatorId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetSeries()).compareTo(typedOther.isSetSeries());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSeries()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.series, typedOther.series);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // CIRCLE
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.circle = iprot.readI64();
              setCircleIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // OPERATOR_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.operatorId = iprot.readI64();
              setOperatorIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // SERIES
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.series = iprot.readI64();
              setSeriesIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(CIRCLE_FIELD_DESC);
      oprot.writeI64(this.circle);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(OPERATOR_ID_FIELD_DESC);
      oprot.writeI64(this.operatorId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(SERIES_FIELD_DESC);
      oprot.writeI64(this.series);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("addSeries_args(");
      boolean first = true;

      sb.append("circle:");
      sb.append(this.circle);
      first = false;
      if (!first) sb.append(", ");
      sb.append("operatorId:");
      sb.append(this.operatorId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("series:");
      sb.append(this.series);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class addSeries_result implements org.apache.thrift.TBase<addSeries_result, addSeries_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addSeries_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRING, (short)0);

    private String success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(addSeries_result.class, metaDataMap);
    }

    public addSeries_result() {
    }

    public addSeries_result(
      String success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public addSeries_result(addSeries_result other) {
      if (other.isSetSuccess()) {
        this.success = other.success;
      }
    }

    public addSeries_result deepCopy() {
      return new addSeries_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public String getSuccess() {
      return this.success;
    }

    public void setSuccess(String success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof addSeries_result)
        return this.equals((addSeries_result)that);
      return false;
    }

    public boolean equals(addSeries_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(addSeries_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      addSeries_result typedOther = (addSeries_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.success = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeString(this.success);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("addSeries_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class saveStoreOrderDetail_args implements org.apache.thrift.TBase<saveStoreOrderDetail_args, saveStoreOrderDetail_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("saveStoreOrderDetail_args");

    private static final org.apache.thrift.protocol.TField STORE_ORDER_DETAIL_FIELD_DESC = new org.apache.thrift.protocol.TField("storeOrderDetail", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private StoreOrderDetail storeOrderDetail; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      STORE_ORDER_DETAIL((short)1, "storeOrderDetail");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // STORE_ORDER_DETAIL
            return STORE_ORDER_DETAIL;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.STORE_ORDER_DETAIL, new org.apache.thrift.meta_data.FieldMetaData("storeOrderDetail", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, StoreOrderDetail.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(saveStoreOrderDetail_args.class, metaDataMap);
    }

    public saveStoreOrderDetail_args() {
    }

    public saveStoreOrderDetail_args(
      StoreOrderDetail storeOrderDetail)
    {
      this();
      this.storeOrderDetail = storeOrderDetail;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public saveStoreOrderDetail_args(saveStoreOrderDetail_args other) {
      if (other.isSetStoreOrderDetail()) {
        this.storeOrderDetail = new StoreOrderDetail(other.storeOrderDetail);
      }
    }

    public saveStoreOrderDetail_args deepCopy() {
      return new saveStoreOrderDetail_args(this);
    }

    @Override
    public void clear() {
      this.storeOrderDetail = null;
    }

    public StoreOrderDetail getStoreOrderDetail() {
      return this.storeOrderDetail;
    }

    public void setStoreOrderDetail(StoreOrderDetail storeOrderDetail) {
      this.storeOrderDetail = storeOrderDetail;
    }

    public void unsetStoreOrderDetail() {
      this.storeOrderDetail = null;
    }

    /** Returns true if field storeOrderDetail is set (has been assigned a value) and false otherwise */
    public boolean isSetStoreOrderDetail() {
      return this.storeOrderDetail != null;
    }

    public void setStoreOrderDetailIsSet(boolean value) {
      if (!value) {
        this.storeOrderDetail = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case STORE_ORDER_DETAIL:
        if (value == null) {
          unsetStoreOrderDetail();
        } else {
          setStoreOrderDetail((StoreOrderDetail)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case STORE_ORDER_DETAIL:
        return getStoreOrderDetail();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case STORE_ORDER_DETAIL:
        return isSetStoreOrderDetail();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof saveStoreOrderDetail_args)
        return this.equals((saveStoreOrderDetail_args)that);
      return false;
    }

    public boolean equals(saveStoreOrderDetail_args that) {
      if (that == null)
        return false;

      boolean this_present_storeOrderDetail = true && this.isSetStoreOrderDetail();
      boolean that_present_storeOrderDetail = true && that.isSetStoreOrderDetail();
      if (this_present_storeOrderDetail || that_present_storeOrderDetail) {
        if (!(this_present_storeOrderDetail && that_present_storeOrderDetail))
          return false;
        if (!this.storeOrderDetail.equals(that.storeOrderDetail))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(saveStoreOrderDetail_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      saveStoreOrderDetail_args typedOther = (saveStoreOrderDetail_args)other;

      lastComparison = Boolean.valueOf(isSetStoreOrderDetail()).compareTo(typedOther.isSetStoreOrderDetail());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetStoreOrderDetail()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.storeOrderDetail, typedOther.storeOrderDetail);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // STORE_ORDER_DETAIL
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.storeOrderDetail = new StoreOrderDetail();
              this.storeOrderDetail.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.storeOrderDetail != null) {
        oprot.writeFieldBegin(STORE_ORDER_DETAIL_FIELD_DESC);
        this.storeOrderDetail.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("saveStoreOrderDetail_args(");
      boolean first = true;

      sb.append("storeOrderDetail:");
      if (this.storeOrderDetail == null) {
        sb.append("null");
      } else {
        sb.append(this.storeOrderDetail);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class saveStoreOrderDetail_result implements org.apache.thrift.TBase<saveStoreOrderDetail_result, saveStoreOrderDetail_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("saveStoreOrderDetail_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);

    private boolean success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(saveStoreOrderDetail_result.class, metaDataMap);
    }

    public saveStoreOrderDetail_result() {
    }

    public saveStoreOrderDetail_result(
      boolean success)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public saveStoreOrderDetail_result(saveStoreOrderDetail_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
    }

    public saveStoreOrderDetail_result deepCopy() {
      return new saveStoreOrderDetail_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = false;
    }

    public boolean isSuccess() {
      return this.success;
    }

    public void setSuccess(boolean success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Boolean.valueOf(isSuccess());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof saveStoreOrderDetail_result)
        return this.equals((saveStoreOrderDetail_result)that);
      return false;
    }

    public boolean equals(saveStoreOrderDetail_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(saveStoreOrderDetail_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      saveStoreOrderDetail_result typedOther = (saveStoreOrderDetail_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.success = iprot.readBool();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBool(this.success);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("saveStoreOrderDetail_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getStoreOrderDetail_args implements org.apache.thrift.TBase<getStoreOrderDetail_args, getStoreOrderDetail_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getStoreOrderDetail_args");

    private static final org.apache.thrift.protocol.TField ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("orderId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField STORE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("storeId", org.apache.thrift.protocol.TType.I64, (short)2);

    private long orderId; // required
    private long storeId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ORDER_ID((short)1, "orderId"),
      STORE_ID((short)2, "storeId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ORDER_ID
            return ORDER_ID;
          case 2: // STORE_ID
            return STORE_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ORDERID_ISSET_ID = 0;
    private static final int __STOREID_ISSET_ID = 1;
    private BitSet __isset_bit_vector = new BitSet(2);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("orderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.STORE_ID, new org.apache.thrift.meta_data.FieldMetaData("storeId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getStoreOrderDetail_args.class, metaDataMap);
    }

    public getStoreOrderDetail_args() {
    }

    public getStoreOrderDetail_args(
      long orderId,
      long storeId)
    {
      this();
      this.orderId = orderId;
      setOrderIdIsSet(true);
      this.storeId = storeId;
      setStoreIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getStoreOrderDetail_args(getStoreOrderDetail_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.orderId = other.orderId;
      this.storeId = other.storeId;
    }

    public getStoreOrderDetail_args deepCopy() {
      return new getStoreOrderDetail_args(this);
    }

    @Override
    public void clear() {
      setOrderIdIsSet(false);
      this.orderId = 0;
      setStoreIdIsSet(false);
      this.storeId = 0;
    }

    public long getOrderId() {
      return this.orderId;
    }

    public void setOrderId(long orderId) {
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    public void unsetOrderId() {
      __isset_bit_vector.clear(__ORDERID_ISSET_ID);
    }

    /** Returns true if field orderId is set (has been assigned a value) and false otherwise */
    public boolean isSetOrderId() {
      return __isset_bit_vector.get(__ORDERID_ISSET_ID);
    }

    public void setOrderIdIsSet(boolean value) {
      __isset_bit_vector.set(__ORDERID_ISSET_ID, value);
    }

    public long getStoreId() {
      return this.storeId;
    }

    public void setStoreId(long storeId) {
      this.storeId = storeId;
      setStoreIdIsSet(true);
    }

    public void unsetStoreId() {
      __isset_bit_vector.clear(__STOREID_ISSET_ID);
    }

    /** Returns true if field storeId is set (has been assigned a value) and false otherwise */
    public boolean isSetStoreId() {
      return __isset_bit_vector.get(__STOREID_ISSET_ID);
    }

    public void setStoreIdIsSet(boolean value) {
      __isset_bit_vector.set(__STOREID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ORDER_ID:
        if (value == null) {
          unsetOrderId();
        } else {
          setOrderId((Long)value);
        }
        break;

      case STORE_ID:
        if (value == null) {
          unsetStoreId();
        } else {
          setStoreId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ORDER_ID:
        return Long.valueOf(getOrderId());

      case STORE_ID:
        return Long.valueOf(getStoreId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ORDER_ID:
        return isSetOrderId();
      case STORE_ID:
        return isSetStoreId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getStoreOrderDetail_args)
        return this.equals((getStoreOrderDetail_args)that);
      return false;
    }

    public boolean equals(getStoreOrderDetail_args that) {
      if (that == null)
        return false;

      boolean this_present_orderId = true;
      boolean that_present_orderId = true;
      if (this_present_orderId || that_present_orderId) {
        if (!(this_present_orderId && that_present_orderId))
          return false;
        if (this.orderId != that.orderId)
          return false;
      }

      boolean this_present_storeId = true;
      boolean that_present_storeId = true;
      if (this_present_storeId || that_present_storeId) {
        if (!(this_present_storeId && that_present_storeId))
          return false;
        if (this.storeId != that.storeId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getStoreOrderDetail_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getStoreOrderDetail_args typedOther = (getStoreOrderDetail_args)other;

      lastComparison = Boolean.valueOf(isSetOrderId()).compareTo(typedOther.isSetOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.orderId, typedOther.orderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetStoreId()).compareTo(typedOther.isSetStoreId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetStoreId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.storeId, typedOther.storeId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.orderId = iprot.readI64();
              setOrderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // STORE_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.storeId = iprot.readI64();
              setStoreIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ORDER_ID_FIELD_DESC);
      oprot.writeI64(this.orderId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(STORE_ID_FIELD_DESC);
      oprot.writeI64(this.storeId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getStoreOrderDetail_args(");
      boolean first = true;

      sb.append("orderId:");
      sb.append(this.orderId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("storeId:");
      sb.append(this.storeId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getStoreOrderDetail_result implements org.apache.thrift.TBase<getStoreOrderDetail_result, getStoreOrderDetail_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getStoreOrderDetail_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);

    private StoreOrderDetail success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, StoreOrderDetail.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getStoreOrderDetail_result.class, metaDataMap);
    }

    public getStoreOrderDetail_result() {
    }

    public getStoreOrderDetail_result(
      StoreOrderDetail success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getStoreOrderDetail_result(getStoreOrderDetail_result other) {
      if (other.isSetSuccess()) {
        this.success = new StoreOrderDetail(other.success);
      }
    }

    public getStoreOrderDetail_result deepCopy() {
      return new getStoreOrderDetail_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public StoreOrderDetail getSuccess() {
      return this.success;
    }

    public void setSuccess(StoreOrderDetail success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((StoreOrderDetail)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getStoreOrderDetail_result)
        return this.equals((getStoreOrderDetail_result)that);
      return false;
    }

    public boolean equals(getStoreOrderDetail_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getStoreOrderDetail_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getStoreOrderDetail_result typedOther = (getStoreOrderDetail_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.success = new StoreOrderDetail();
              this.success.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        this.success.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getStoreOrderDetail_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getAllEdcBanks_args implements org.apache.thrift.TBase<getAllEdcBanks_args, getAllEdcBanks_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllEdcBanks_args");



    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
;

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAllEdcBanks_args.class, metaDataMap);
    }

    public getAllEdcBanks_args() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getAllEdcBanks_args(getAllEdcBanks_args other) {
    }

    public getAllEdcBanks_args deepCopy() {
      return new getAllEdcBanks_args(this);
    }

    @Override
    public void clear() {
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getAllEdcBanks_args)
        return this.equals((getAllEdcBanks_args)that);
      return false;
    }

    public boolean equals(getAllEdcBanks_args that) {
      if (that == null)
        return false;

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getAllEdcBanks_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getAllEdcBanks_args typedOther = (getAllEdcBanks_args)other;

      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getAllEdcBanks_args(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getAllEdcBanks_result implements org.apache.thrift.TBase<getAllEdcBanks_result, getAllEdcBanks_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllEdcBanks_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);

    private List<String> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAllEdcBanks_result.class, metaDataMap);
    }

    public getAllEdcBanks_result() {
    }

    public getAllEdcBanks_result(
      List<String> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getAllEdcBanks_result(getAllEdcBanks_result other) {
      if (other.isSetSuccess()) {
        List<String> __this__success = new ArrayList<String>();
        for (String other_element : other.success) {
          __this__success.add(other_element);
        }
        this.success = __this__success;
      }
    }

    public getAllEdcBanks_result deepCopy() {
      return new getAllEdcBanks_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<String> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(String elem) {
      if (this.success == null) {
        this.success = new ArrayList<String>();
      }
      this.success.add(elem);
    }

    public List<String> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<String> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<String>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getAllEdcBanks_result)
        return this.equals((getAllEdcBanks_result)that);
      return false;
    }

    public boolean equals(getAllEdcBanks_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getAllEdcBanks_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getAllEdcBanks_result typedOther = (getAllEdcBanks_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list486 = iprot.readListBegin();
                this.success = new ArrayList<String>(_list486.size);
                for (int _i487 = 0; _i487 < _list486.size; ++_i487)
                {
                  String _elem488; // required
                  _elem488 = iprot.readString();
                  this.success.add(_elem488);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, this.success.size()));
          for (String _iter489 : this.success)
          {
            oprot.writeString(_iter489);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getAllEdcBanks_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class saveRefundAmountsForStoreOrder_args implements org.apache.thrift.TBase<saveRefundAmountsForStoreOrder_args, saveRefundAmountsForStoreOrder_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("saveRefundAmountsForStoreOrder_args");

    private static final org.apache.thrift.protocol.TField ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("orderId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField STORE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("storeId", org.apache.thrift.protocol.TType.I64, (short)2);
    private static final org.apache.thrift.protocol.TField CASH_REFUND_AMOUNT_FIELD_DESC = new org.apache.thrift.protocol.TField("cashRefundAmount", org.apache.thrift.protocol.TType.DOUBLE, (short)3);
    private static final org.apache.thrift.protocol.TField CARD_REFUND_AMOUNT_FIELD_DESC = new org.apache.thrift.protocol.TField("cardRefundAmount", org.apache.thrift.protocol.TType.DOUBLE, (short)4);

    private long orderId; // required
    private long storeId; // required
    private double cashRefundAmount; // required
    private double cardRefundAmount; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ORDER_ID((short)1, "orderId"),
      STORE_ID((short)2, "storeId"),
      CASH_REFUND_AMOUNT((short)3, "cashRefundAmount"),
      CARD_REFUND_AMOUNT((short)4, "cardRefundAmount");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ORDER_ID
            return ORDER_ID;
          case 2: // STORE_ID
            return STORE_ID;
          case 3: // CASH_REFUND_AMOUNT
            return CASH_REFUND_AMOUNT;
          case 4: // CARD_REFUND_AMOUNT
            return CARD_REFUND_AMOUNT;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ORDERID_ISSET_ID = 0;
    private static final int __STOREID_ISSET_ID = 1;
    private static final int __CASHREFUNDAMOUNT_ISSET_ID = 2;
    private static final int __CARDREFUNDAMOUNT_ISSET_ID = 3;
    private BitSet __isset_bit_vector = new BitSet(4);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("orderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.STORE_ID, new org.apache.thrift.meta_data.FieldMetaData("storeId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.CASH_REFUND_AMOUNT, new org.apache.thrift.meta_data.FieldMetaData("cashRefundAmount", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE)));
      tmpMap.put(_Fields.CARD_REFUND_AMOUNT, new org.apache.thrift.meta_data.FieldMetaData("cardRefundAmount", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(saveRefundAmountsForStoreOrder_args.class, metaDataMap);
    }

    public saveRefundAmountsForStoreOrder_args() {
    }

    public saveRefundAmountsForStoreOrder_args(
      long orderId,
      long storeId,
      double cashRefundAmount,
      double cardRefundAmount)
    {
      this();
      this.orderId = orderId;
      setOrderIdIsSet(true);
      this.storeId = storeId;
      setStoreIdIsSet(true);
      this.cashRefundAmount = cashRefundAmount;
      setCashRefundAmountIsSet(true);
      this.cardRefundAmount = cardRefundAmount;
      setCardRefundAmountIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public saveRefundAmountsForStoreOrder_args(saveRefundAmountsForStoreOrder_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.orderId = other.orderId;
      this.storeId = other.storeId;
      this.cashRefundAmount = other.cashRefundAmount;
      this.cardRefundAmount = other.cardRefundAmount;
    }

    public saveRefundAmountsForStoreOrder_args deepCopy() {
      return new saveRefundAmountsForStoreOrder_args(this);
    }

    @Override
    public void clear() {
      setOrderIdIsSet(false);
      this.orderId = 0;
      setStoreIdIsSet(false);
      this.storeId = 0;
      setCashRefundAmountIsSet(false);
      this.cashRefundAmount = 0.0;
      setCardRefundAmountIsSet(false);
      this.cardRefundAmount = 0.0;
    }

    public long getOrderId() {
      return this.orderId;
    }

    public void setOrderId(long orderId) {
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    public void unsetOrderId() {
      __isset_bit_vector.clear(__ORDERID_ISSET_ID);
    }

    /** Returns true if field orderId is set (has been assigned a value) and false otherwise */
    public boolean isSetOrderId() {
      return __isset_bit_vector.get(__ORDERID_ISSET_ID);
    }

    public void setOrderIdIsSet(boolean value) {
      __isset_bit_vector.set(__ORDERID_ISSET_ID, value);
    }

    public long getStoreId() {
      return this.storeId;
    }

    public void setStoreId(long storeId) {
      this.storeId = storeId;
      setStoreIdIsSet(true);
    }

    public void unsetStoreId() {
      __isset_bit_vector.clear(__STOREID_ISSET_ID);
    }

    /** Returns true if field storeId is set (has been assigned a value) and false otherwise */
    public boolean isSetStoreId() {
      return __isset_bit_vector.get(__STOREID_ISSET_ID);
    }

    public void setStoreIdIsSet(boolean value) {
      __isset_bit_vector.set(__STOREID_ISSET_ID, value);
    }

    public double getCashRefundAmount() {
      return this.cashRefundAmount;
    }

    public void setCashRefundAmount(double cashRefundAmount) {
      this.cashRefundAmount = cashRefundAmount;
      setCashRefundAmountIsSet(true);
    }

    public void unsetCashRefundAmount() {
      __isset_bit_vector.clear(__CASHREFUNDAMOUNT_ISSET_ID);
    }

    /** Returns true if field cashRefundAmount is set (has been assigned a value) and false otherwise */
    public boolean isSetCashRefundAmount() {
      return __isset_bit_vector.get(__CASHREFUNDAMOUNT_ISSET_ID);
    }

    public void setCashRefundAmountIsSet(boolean value) {
      __isset_bit_vector.set(__CASHREFUNDAMOUNT_ISSET_ID, value);
    }

    public double getCardRefundAmount() {
      return this.cardRefundAmount;
    }

    public void setCardRefundAmount(double cardRefundAmount) {
      this.cardRefundAmount = cardRefundAmount;
      setCardRefundAmountIsSet(true);
    }

    public void unsetCardRefundAmount() {
      __isset_bit_vector.clear(__CARDREFUNDAMOUNT_ISSET_ID);
    }

    /** Returns true if field cardRefundAmount is set (has been assigned a value) and false otherwise */
    public boolean isSetCardRefundAmount() {
      return __isset_bit_vector.get(__CARDREFUNDAMOUNT_ISSET_ID);
    }

    public void setCardRefundAmountIsSet(boolean value) {
      __isset_bit_vector.set(__CARDREFUNDAMOUNT_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ORDER_ID:
        if (value == null) {
          unsetOrderId();
        } else {
          setOrderId((Long)value);
        }
        break;

      case STORE_ID:
        if (value == null) {
          unsetStoreId();
        } else {
          setStoreId((Long)value);
        }
        break;

      case CASH_REFUND_AMOUNT:
        if (value == null) {
          unsetCashRefundAmount();
        } else {
          setCashRefundAmount((Double)value);
        }
        break;

      case CARD_REFUND_AMOUNT:
        if (value == null) {
          unsetCardRefundAmount();
        } else {
          setCardRefundAmount((Double)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ORDER_ID:
        return Long.valueOf(getOrderId());

      case STORE_ID:
        return Long.valueOf(getStoreId());

      case CASH_REFUND_AMOUNT:
        return Double.valueOf(getCashRefundAmount());

      case CARD_REFUND_AMOUNT:
        return Double.valueOf(getCardRefundAmount());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ORDER_ID:
        return isSetOrderId();
      case STORE_ID:
        return isSetStoreId();
      case CASH_REFUND_AMOUNT:
        return isSetCashRefundAmount();
      case CARD_REFUND_AMOUNT:
        return isSetCardRefundAmount();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof saveRefundAmountsForStoreOrder_args)
        return this.equals((saveRefundAmountsForStoreOrder_args)that);
      return false;
    }

    public boolean equals(saveRefundAmountsForStoreOrder_args that) {
      if (that == null)
        return false;

      boolean this_present_orderId = true;
      boolean that_present_orderId = true;
      if (this_present_orderId || that_present_orderId) {
        if (!(this_present_orderId && that_present_orderId))
          return false;
        if (this.orderId != that.orderId)
          return false;
      }

      boolean this_present_storeId = true;
      boolean that_present_storeId = true;
      if (this_present_storeId || that_present_storeId) {
        if (!(this_present_storeId && that_present_storeId))
          return false;
        if (this.storeId != that.storeId)
          return false;
      }

      boolean this_present_cashRefundAmount = true;
      boolean that_present_cashRefundAmount = true;
      if (this_present_cashRefundAmount || that_present_cashRefundAmount) {
        if (!(this_present_cashRefundAmount && that_present_cashRefundAmount))
          return false;
        if (this.cashRefundAmount != that.cashRefundAmount)
          return false;
      }

      boolean this_present_cardRefundAmount = true;
      boolean that_present_cardRefundAmount = true;
      if (this_present_cardRefundAmount || that_present_cardRefundAmount) {
        if (!(this_present_cardRefundAmount && that_present_cardRefundAmount))
          return false;
        if (this.cardRefundAmount != that.cardRefundAmount)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(saveRefundAmountsForStoreOrder_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      saveRefundAmountsForStoreOrder_args typedOther = (saveRefundAmountsForStoreOrder_args)other;

      lastComparison = Boolean.valueOf(isSetOrderId()).compareTo(typedOther.isSetOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.orderId, typedOther.orderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetStoreId()).compareTo(typedOther.isSetStoreId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetStoreId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.storeId, typedOther.storeId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetCashRefundAmount()).compareTo(typedOther.isSetCashRefundAmount());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetCashRefundAmount()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.cashRefundAmount, typedOther.cashRefundAmount);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetCardRefundAmount()).compareTo(typedOther.isSetCardRefundAmount());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetCardRefundAmount()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.cardRefundAmount, typedOther.cardRefundAmount);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.orderId = iprot.readI64();
              setOrderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // STORE_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.storeId = iprot.readI64();
              setStoreIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // CASH_REFUND_AMOUNT
            if (field.type == org.apache.thrift.protocol.TType.DOUBLE) {
              this.cashRefundAmount = iprot.readDouble();
              setCashRefundAmountIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 4: // CARD_REFUND_AMOUNT
            if (field.type == org.apache.thrift.protocol.TType.DOUBLE) {
              this.cardRefundAmount = iprot.readDouble();
              setCardRefundAmountIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ORDER_ID_FIELD_DESC);
      oprot.writeI64(this.orderId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(STORE_ID_FIELD_DESC);
      oprot.writeI64(this.storeId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(CASH_REFUND_AMOUNT_FIELD_DESC);
      oprot.writeDouble(this.cashRefundAmount);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(CARD_REFUND_AMOUNT_FIELD_DESC);
      oprot.writeDouble(this.cardRefundAmount);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("saveRefundAmountsForStoreOrder_args(");
      boolean first = true;

      sb.append("orderId:");
      sb.append(this.orderId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("storeId:");
      sb.append(this.storeId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("cashRefundAmount:");
      sb.append(this.cashRefundAmount);
      first = false;
      if (!first) sb.append(", ");
      sb.append("cardRefundAmount:");
      sb.append(this.cardRefundAmount);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class saveRefundAmountsForStoreOrder_result implements org.apache.thrift.TBase<saveRefundAmountsForStoreOrder_result, saveRefundAmountsForStoreOrder_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("saveRefundAmountsForStoreOrder_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);

    private boolean success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(saveRefundAmountsForStoreOrder_result.class, metaDataMap);
    }

    public saveRefundAmountsForStoreOrder_result() {
    }

    public saveRefundAmountsForStoreOrder_result(
      boolean success)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public saveRefundAmountsForStoreOrder_result(saveRefundAmountsForStoreOrder_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
    }

    public saveRefundAmountsForStoreOrder_result deepCopy() {
      return new saveRefundAmountsForStoreOrder_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = false;
    }

    public boolean isSuccess() {
      return this.success;
    }

    public void setSuccess(boolean success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Boolean.valueOf(isSuccess());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof saveRefundAmountsForStoreOrder_result)
        return this.equals((saveRefundAmountsForStoreOrder_result)that);
      return false;
    }

    public boolean equals(saveRefundAmountsForStoreOrder_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(saveRefundAmountsForStoreOrder_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      saveRefundAmountsForStoreOrder_result typedOther = (saveRefundAmountsForStoreOrder_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.success = iprot.readBool();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBool(this.success);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("saveRefundAmountsForStoreOrder_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getCollectionsForStore_args implements org.apache.thrift.TBase<getCollectionsForStore_args, getCollectionsForStore_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getCollectionsForStore_args");

    private static final org.apache.thrift.protocol.TField STORE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("storeId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField START_DATE_FIELD_DESC = new org.apache.thrift.protocol.TField("startDate", org.apache.thrift.protocol.TType.I64, (short)2);
    private static final org.apache.thrift.protocol.TField END_DATE_FIELD_DESC = new org.apache.thrift.protocol.TField("endDate", org.apache.thrift.protocol.TType.I64, (short)3);

    private long storeId; // required
    private long startDate; // required
    private long endDate; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      STORE_ID((short)1, "storeId"),
      START_DATE((short)2, "startDate"),
      END_DATE((short)3, "endDate");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // STORE_ID
            return STORE_ID;
          case 2: // START_DATE
            return START_DATE;
          case 3: // END_DATE
            return END_DATE;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __STOREID_ISSET_ID = 0;
    private static final int __STARTDATE_ISSET_ID = 1;
    private static final int __ENDDATE_ISSET_ID = 2;
    private BitSet __isset_bit_vector = new BitSet(3);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.STORE_ID, new org.apache.thrift.meta_data.FieldMetaData("storeId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.START_DATE, new org.apache.thrift.meta_data.FieldMetaData("startDate", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.END_DATE, new org.apache.thrift.meta_data.FieldMetaData("endDate", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getCollectionsForStore_args.class, metaDataMap);
    }

    public getCollectionsForStore_args() {
    }

    public getCollectionsForStore_args(
      long storeId,
      long startDate,
      long endDate)
    {
      this();
      this.storeId = storeId;
      setStoreIdIsSet(true);
      this.startDate = startDate;
      setStartDateIsSet(true);
      this.endDate = endDate;
      setEndDateIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getCollectionsForStore_args(getCollectionsForStore_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.storeId = other.storeId;
      this.startDate = other.startDate;
      this.endDate = other.endDate;
    }

    public getCollectionsForStore_args deepCopy() {
      return new getCollectionsForStore_args(this);
    }

    @Override
    public void clear() {
      setStoreIdIsSet(false);
      this.storeId = 0;
      setStartDateIsSet(false);
      this.startDate = 0;
      setEndDateIsSet(false);
      this.endDate = 0;
    }

    public long getStoreId() {
      return this.storeId;
    }

    public void setStoreId(long storeId) {
      this.storeId = storeId;
      setStoreIdIsSet(true);
    }

    public void unsetStoreId() {
      __isset_bit_vector.clear(__STOREID_ISSET_ID);
    }

    /** Returns true if field storeId is set (has been assigned a value) and false otherwise */
    public boolean isSetStoreId() {
      return __isset_bit_vector.get(__STOREID_ISSET_ID);
    }

    public void setStoreIdIsSet(boolean value) {
      __isset_bit_vector.set(__STOREID_ISSET_ID, value);
    }

    public long getStartDate() {
      return this.startDate;
    }

    public void setStartDate(long startDate) {
      this.startDate = startDate;
      setStartDateIsSet(true);
    }

    public void unsetStartDate() {
      __isset_bit_vector.clear(__STARTDATE_ISSET_ID);
    }

    /** Returns true if field startDate is set (has been assigned a value) and false otherwise */
    public boolean isSetStartDate() {
      return __isset_bit_vector.get(__STARTDATE_ISSET_ID);
    }

    public void setStartDateIsSet(boolean value) {
      __isset_bit_vector.set(__STARTDATE_ISSET_ID, value);
    }

    public long getEndDate() {
      return this.endDate;
    }

    public void setEndDate(long endDate) {
      this.endDate = endDate;
      setEndDateIsSet(true);
    }

    public void unsetEndDate() {
      __isset_bit_vector.clear(__ENDDATE_ISSET_ID);
    }

    /** Returns true if field endDate is set (has been assigned a value) and false otherwise */
    public boolean isSetEndDate() {
      return __isset_bit_vector.get(__ENDDATE_ISSET_ID);
    }

    public void setEndDateIsSet(boolean value) {
      __isset_bit_vector.set(__ENDDATE_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case STORE_ID:
        if (value == null) {
          unsetStoreId();
        } else {
          setStoreId((Long)value);
        }
        break;

      case START_DATE:
        if (value == null) {
          unsetStartDate();
        } else {
          setStartDate((Long)value);
        }
        break;

      case END_DATE:
        if (value == null) {
          unsetEndDate();
        } else {
          setEndDate((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case STORE_ID:
        return Long.valueOf(getStoreId());

      case START_DATE:
        return Long.valueOf(getStartDate());

      case END_DATE:
        return Long.valueOf(getEndDate());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case STORE_ID:
        return isSetStoreId();
      case START_DATE:
        return isSetStartDate();
      case END_DATE:
        return isSetEndDate();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getCollectionsForStore_args)
        return this.equals((getCollectionsForStore_args)that);
      return false;
    }

    public boolean equals(getCollectionsForStore_args that) {
      if (that == null)
        return false;

      boolean this_present_storeId = true;
      boolean that_present_storeId = true;
      if (this_present_storeId || that_present_storeId) {
        if (!(this_present_storeId && that_present_storeId))
          return false;
        if (this.storeId != that.storeId)
          return false;
      }

      boolean this_present_startDate = true;
      boolean that_present_startDate = true;
      if (this_present_startDate || that_present_startDate) {
        if (!(this_present_startDate && that_present_startDate))
          return false;
        if (this.startDate != that.startDate)
          return false;
      }

      boolean this_present_endDate = true;
      boolean that_present_endDate = true;
      if (this_present_endDate || that_present_endDate) {
        if (!(this_present_endDate && that_present_endDate))
          return false;
        if (this.endDate != that.endDate)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getCollectionsForStore_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getCollectionsForStore_args typedOther = (getCollectionsForStore_args)other;

      lastComparison = Boolean.valueOf(isSetStoreId()).compareTo(typedOther.isSetStoreId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetStoreId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.storeId, typedOther.storeId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetStartDate()).compareTo(typedOther.isSetStartDate());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetStartDate()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.startDate, typedOther.startDate);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEndDate()).compareTo(typedOther.isSetEndDate());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEndDate()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.endDate, typedOther.endDate);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // STORE_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.storeId = iprot.readI64();
              setStoreIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // START_DATE
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.startDate = iprot.readI64();
              setStartDateIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // END_DATE
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.endDate = iprot.readI64();
              setEndDateIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(STORE_ID_FIELD_DESC);
      oprot.writeI64(this.storeId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(START_DATE_FIELD_DESC);
      oprot.writeI64(this.startDate);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(END_DATE_FIELD_DESC);
      oprot.writeI64(this.endDate);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getCollectionsForStore_args(");
      boolean first = true;

      sb.append("storeId:");
      sb.append(this.storeId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("startDate:");
      sb.append(this.startDate);
      first = false;
      if (!first) sb.append(", ");
      sb.append("endDate:");
      sb.append(this.endDate);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getCollectionsForStore_result implements org.apache.thrift.TBase<getCollectionsForStore_result, getCollectionsForStore_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getCollectionsForStore_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);

    private List<StoreOrderCollection> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, StoreOrderCollection.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getCollectionsForStore_result.class, metaDataMap);
    }

    public getCollectionsForStore_result() {
    }

    public getCollectionsForStore_result(
      List<StoreOrderCollection> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getCollectionsForStore_result(getCollectionsForStore_result other) {
      if (other.isSetSuccess()) {
        List<StoreOrderCollection> __this__success = new ArrayList<StoreOrderCollection>();
        for (StoreOrderCollection other_element : other.success) {
          __this__success.add(new StoreOrderCollection(other_element));
        }
        this.success = __this__success;
      }
    }

    public getCollectionsForStore_result deepCopy() {
      return new getCollectionsForStore_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<StoreOrderCollection> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(StoreOrderCollection elem) {
      if (this.success == null) {
        this.success = new ArrayList<StoreOrderCollection>();
      }
      this.success.add(elem);
    }

    public List<StoreOrderCollection> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<StoreOrderCollection> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<StoreOrderCollection>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getCollectionsForStore_result)
        return this.equals((getCollectionsForStore_result)that);
      return false;
    }

    public boolean equals(getCollectionsForStore_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getCollectionsForStore_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getCollectionsForStore_result typedOther = (getCollectionsForStore_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list490 = iprot.readListBegin();
                this.success = new ArrayList<StoreOrderCollection>(_list490.size);
                for (int _i491 = 0; _i491 < _list490.size; ++_i491)
                {
                  StoreOrderCollection _elem492; // required
                  _elem492 = new StoreOrderCollection();
                  _elem492.read(iprot);
                  this.success.add(_elem492);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (StoreOrderCollection _iter493 : this.success)
          {
            _iter493.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getCollectionsForStore_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getAmazonOrdersToAcknowledge_args implements org.apache.thrift.TBase<getAmazonOrdersToAcknowledge_args, getAmazonOrdersToAcknowledge_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAmazonOrdersToAcknowledge_args");

    private static final org.apache.thrift.protocol.TField SOURCE_FIELD_DESC = new org.apache.thrift.protocol.TField("source", org.apache.thrift.protocol.TType.I32, (short)1);

    private OrderSource source; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      /**
       * 
       * @see OrderSource
       */
      SOURCE((short)1, "source");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // SOURCE
            return SOURCE;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SOURCE, new org.apache.thrift.meta_data.FieldMetaData("source", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, OrderSource.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAmazonOrdersToAcknowledge_args.class, metaDataMap);
    }

    public getAmazonOrdersToAcknowledge_args() {
    }

    public getAmazonOrdersToAcknowledge_args(
      OrderSource source)
    {
      this();
      this.source = source;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getAmazonOrdersToAcknowledge_args(getAmazonOrdersToAcknowledge_args other) {
      if (other.isSetSource()) {
        this.source = other.source;
      }
    }

    public getAmazonOrdersToAcknowledge_args deepCopy() {
      return new getAmazonOrdersToAcknowledge_args(this);
    }

    @Override
    public void clear() {
      this.source = null;
    }

    /**
     * 
     * @see OrderSource
     */
    public OrderSource getSource() {
      return this.source;
    }

    /**
     * 
     * @see OrderSource
     */
    public void setSource(OrderSource source) {
      this.source = source;
    }

    public void unsetSource() {
      this.source = null;
    }

    /** Returns true if field source is set (has been assigned a value) and false otherwise */
    public boolean isSetSource() {
      return this.source != null;
    }

    public void setSourceIsSet(boolean value) {
      if (!value) {
        this.source = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SOURCE:
        if (value == null) {
          unsetSource();
        } else {
          setSource((OrderSource)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SOURCE:
        return getSource();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SOURCE:
        return isSetSource();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getAmazonOrdersToAcknowledge_args)
        return this.equals((getAmazonOrdersToAcknowledge_args)that);
      return false;
    }

    public boolean equals(getAmazonOrdersToAcknowledge_args that) {
      if (that == null)
        return false;

      boolean this_present_source = true && this.isSetSource();
      boolean that_present_source = true && that.isSetSource();
      if (this_present_source || that_present_source) {
        if (!(this_present_source && that_present_source))
          return false;
        if (!this.source.equals(that.source))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getAmazonOrdersToAcknowledge_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getAmazonOrdersToAcknowledge_args typedOther = (getAmazonOrdersToAcknowledge_args)other;

      lastComparison = Boolean.valueOf(isSetSource()).compareTo(typedOther.isSetSource());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSource()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.source, typedOther.source);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // SOURCE
            if (field.type == org.apache.thrift.protocol.TType.I32) {
              this.source = OrderSource.findByValue(iprot.readI32());
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.source != null) {
        oprot.writeFieldBegin(SOURCE_FIELD_DESC);
        oprot.writeI32(this.source.getValue());
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getAmazonOrdersToAcknowledge_args(");
      boolean first = true;

      sb.append("source:");
      if (this.source == null) {
        sb.append("null");
      } else {
        sb.append(this.source);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getAmazonOrdersToAcknowledge_result implements org.apache.thrift.TBase<getAmazonOrdersToAcknowledge_result, getAmazonOrdersToAcknowledge_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAmazonOrdersToAcknowledge_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);

    private List<AmazonOrdersToAcknowledge> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, AmazonOrdersToAcknowledge.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAmazonOrdersToAcknowledge_result.class, metaDataMap);
    }

    public getAmazonOrdersToAcknowledge_result() {
    }

    public getAmazonOrdersToAcknowledge_result(
      List<AmazonOrdersToAcknowledge> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getAmazonOrdersToAcknowledge_result(getAmazonOrdersToAcknowledge_result other) {
      if (other.isSetSuccess()) {
        List<AmazonOrdersToAcknowledge> __this__success = new ArrayList<AmazonOrdersToAcknowledge>();
        for (AmazonOrdersToAcknowledge other_element : other.success) {
          __this__success.add(new AmazonOrdersToAcknowledge(other_element));
        }
        this.success = __this__success;
      }
    }

    public getAmazonOrdersToAcknowledge_result deepCopy() {
      return new getAmazonOrdersToAcknowledge_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<AmazonOrdersToAcknowledge> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(AmazonOrdersToAcknowledge elem) {
      if (this.success == null) {
        this.success = new ArrayList<AmazonOrdersToAcknowledge>();
      }
      this.success.add(elem);
    }

    public List<AmazonOrdersToAcknowledge> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<AmazonOrdersToAcknowledge> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<AmazonOrdersToAcknowledge>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getAmazonOrdersToAcknowledge_result)
        return this.equals((getAmazonOrdersToAcknowledge_result)that);
      return false;
    }

    public boolean equals(getAmazonOrdersToAcknowledge_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getAmazonOrdersToAcknowledge_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getAmazonOrdersToAcknowledge_result typedOther = (getAmazonOrdersToAcknowledge_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list494 = iprot.readListBegin();
                this.success = new ArrayList<AmazonOrdersToAcknowledge>(_list494.size);
                for (int _i495 = 0; _i495 < _list494.size; ++_i495)
                {
                  AmazonOrdersToAcknowledge _elem496; // required
                  _elem496 = new AmazonOrdersToAcknowledge();
                  _elem496.read(iprot);
                  this.success.add(_elem496);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (AmazonOrdersToAcknowledge _iter497 : this.success)
          {
            _iter497.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getAmazonOrdersToAcknowledge_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class changeAmazonOrderStatus_args implements org.apache.thrift.TBase<changeAmazonOrderStatus_args, changeAmazonOrderStatus_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("changeAmazonOrderStatus_args");

    private static final org.apache.thrift.protocol.TField AMAZON_ORDER_CODE_FIELD_DESC = new org.apache.thrift.protocol.TField("amazonOrderCode", org.apache.thrift.protocol.TType.STRING, (short)1);
    private static final org.apache.thrift.protocol.TField STATUS_FIELD_DESC = new org.apache.thrift.protocol.TField("status", org.apache.thrift.protocol.TType.STRING, (short)2);

    private String amazonOrderCode; // required
    private String status; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      AMAZON_ORDER_CODE((short)1, "amazonOrderCode"),
      STATUS((short)2, "status");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // AMAZON_ORDER_CODE
            return AMAZON_ORDER_CODE;
          case 2: // STATUS
            return STATUS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.AMAZON_ORDER_CODE, new org.apache.thrift.meta_data.FieldMetaData("amazonOrderCode", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.STATUS, new org.apache.thrift.meta_data.FieldMetaData("status", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(changeAmazonOrderStatus_args.class, metaDataMap);
    }

    public changeAmazonOrderStatus_args() {
    }

    public changeAmazonOrderStatus_args(
      String amazonOrderCode,
      String status)
    {
      this();
      this.amazonOrderCode = amazonOrderCode;
      this.status = status;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public changeAmazonOrderStatus_args(changeAmazonOrderStatus_args other) {
      if (other.isSetAmazonOrderCode()) {
        this.amazonOrderCode = other.amazonOrderCode;
      }
      if (other.isSetStatus()) {
        this.status = other.status;
      }
    }

    public changeAmazonOrderStatus_args deepCopy() {
      return new changeAmazonOrderStatus_args(this);
    }

    @Override
    public void clear() {
      this.amazonOrderCode = null;
      this.status = null;
    }

    public String getAmazonOrderCode() {
      return this.amazonOrderCode;
    }

    public void setAmazonOrderCode(String amazonOrderCode) {
      this.amazonOrderCode = amazonOrderCode;
    }

    public void unsetAmazonOrderCode() {
      this.amazonOrderCode = null;
    }

    /** Returns true if field amazonOrderCode is set (has been assigned a value) and false otherwise */
    public boolean isSetAmazonOrderCode() {
      return this.amazonOrderCode != null;
    }

    public void setAmazonOrderCodeIsSet(boolean value) {
      if (!value) {
        this.amazonOrderCode = null;
      }
    }

    public String getStatus() {
      return this.status;
    }

    public void setStatus(String status) {
      this.status = status;
    }

    public void unsetStatus() {
      this.status = null;
    }

    /** Returns true if field status is set (has been assigned a value) and false otherwise */
    public boolean isSetStatus() {
      return this.status != null;
    }

    public void setStatusIsSet(boolean value) {
      if (!value) {
        this.status = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case AMAZON_ORDER_CODE:
        if (value == null) {
          unsetAmazonOrderCode();
        } else {
          setAmazonOrderCode((String)value);
        }
        break;

      case STATUS:
        if (value == null) {
          unsetStatus();
        } else {
          setStatus((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case AMAZON_ORDER_CODE:
        return getAmazonOrderCode();

      case STATUS:
        return getStatus();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case AMAZON_ORDER_CODE:
        return isSetAmazonOrderCode();
      case STATUS:
        return isSetStatus();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof changeAmazonOrderStatus_args)
        return this.equals((changeAmazonOrderStatus_args)that);
      return false;
    }

    public boolean equals(changeAmazonOrderStatus_args that) {
      if (that == null)
        return false;

      boolean this_present_amazonOrderCode = true && this.isSetAmazonOrderCode();
      boolean that_present_amazonOrderCode = true && that.isSetAmazonOrderCode();
      if (this_present_amazonOrderCode || that_present_amazonOrderCode) {
        if (!(this_present_amazonOrderCode && that_present_amazonOrderCode))
          return false;
        if (!this.amazonOrderCode.equals(that.amazonOrderCode))
          return false;
      }

      boolean this_present_status = true && this.isSetStatus();
      boolean that_present_status = true && that.isSetStatus();
      if (this_present_status || that_present_status) {
        if (!(this_present_status && that_present_status))
          return false;
        if (!this.status.equals(that.status))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(changeAmazonOrderStatus_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      changeAmazonOrderStatus_args typedOther = (changeAmazonOrderStatus_args)other;

      lastComparison = Boolean.valueOf(isSetAmazonOrderCode()).compareTo(typedOther.isSetAmazonOrderCode());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetAmazonOrderCode()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.amazonOrderCode, typedOther.amazonOrderCode);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetStatus()).compareTo(typedOther.isSetStatus());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetStatus()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.status, typedOther.status);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // AMAZON_ORDER_CODE
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.amazonOrderCode = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // STATUS
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.status = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.amazonOrderCode != null) {
        oprot.writeFieldBegin(AMAZON_ORDER_CODE_FIELD_DESC);
        oprot.writeString(this.amazonOrderCode);
        oprot.writeFieldEnd();
      }
      if (this.status != null) {
        oprot.writeFieldBegin(STATUS_FIELD_DESC);
        oprot.writeString(this.status);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("changeAmazonOrderStatus_args(");
      boolean first = true;

      sb.append("amazonOrderCode:");
      if (this.amazonOrderCode == null) {
        sb.append("null");
      } else {
        sb.append(this.amazonOrderCode);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("status:");
      if (this.status == null) {
        sb.append("null");
      } else {
        sb.append(this.status);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class changeAmazonOrderStatus_result implements org.apache.thrift.TBase<changeAmazonOrderStatus_result, changeAmazonOrderStatus_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("changeAmazonOrderStatus_result");



    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
;

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(changeAmazonOrderStatus_result.class, metaDataMap);
    }

    public changeAmazonOrderStatus_result() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public changeAmazonOrderStatus_result(changeAmazonOrderStatus_result other) {
    }

    public changeAmazonOrderStatus_result deepCopy() {
      return new changeAmazonOrderStatus_result(this);
    }

    @Override
    public void clear() {
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof changeAmazonOrderStatus_result)
        return this.equals((changeAmazonOrderStatus_result)that);
      return false;
    }

    public boolean equals(changeAmazonOrderStatus_result that) {
      if (that == null)
        return false;

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(changeAmazonOrderStatus_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      changeAmazonOrderStatus_result typedOther = (changeAmazonOrderStatus_result)other;

      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("changeAmazonOrderStatus_result(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class updateTimestampForAmazonOrder_args implements org.apache.thrift.TBase<updateTimestampForAmazonOrder_args, updateTimestampForAmazonOrder_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateTimestampForAmazonOrder_args");

    private static final org.apache.thrift.protocol.TField AMAZON_ORDER_DELIVERY_FIELD_DESC = new org.apache.thrift.protocol.TField("amazonOrderDelivery", org.apache.thrift.protocol.TType.MAP, (short)1);

    private Map<Long,Map<String,String>> amazonOrderDelivery; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      AMAZON_ORDER_DELIVERY((short)1, "amazonOrderDelivery");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // AMAZON_ORDER_DELIVERY
            return AMAZON_ORDER_DELIVERY;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.AMAZON_ORDER_DELIVERY, new org.apache.thrift.meta_data.FieldMetaData("amazonOrderDelivery", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64), 
              new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
                  new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING), 
                  new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateTimestampForAmazonOrder_args.class, metaDataMap);
    }

    public updateTimestampForAmazonOrder_args() {
    }

    public updateTimestampForAmazonOrder_args(
      Map<Long,Map<String,String>> amazonOrderDelivery)
    {
      this();
      this.amazonOrderDelivery = amazonOrderDelivery;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public updateTimestampForAmazonOrder_args(updateTimestampForAmazonOrder_args other) {
      if (other.isSetAmazonOrderDelivery()) {
        Map<Long,Map<String,String>> __this__amazonOrderDelivery = new HashMap<Long,Map<String,String>>();
        for (Map.Entry<Long, Map<String,String>> other_element : other.amazonOrderDelivery.entrySet()) {

          Long other_element_key = other_element.getKey();
          Map<String,String> other_element_value = other_element.getValue();

          Long __this__amazonOrderDelivery_copy_key = other_element_key;

          Map<String,String> __this__amazonOrderDelivery_copy_value = new HashMap<String,String>();
          for (Map.Entry<String, String> other_element_value_element : other_element_value.entrySet()) {

            String other_element_value_element_key = other_element_value_element.getKey();
            String other_element_value_element_value = other_element_value_element.getValue();

            String __this__amazonOrderDelivery_copy_value_copy_key = other_element_value_element_key;

            String __this__amazonOrderDelivery_copy_value_copy_value = other_element_value_element_value;

            __this__amazonOrderDelivery_copy_value.put(__this__amazonOrderDelivery_copy_value_copy_key, __this__amazonOrderDelivery_copy_value_copy_value);
          }

          __this__amazonOrderDelivery.put(__this__amazonOrderDelivery_copy_key, __this__amazonOrderDelivery_copy_value);
        }
        this.amazonOrderDelivery = __this__amazonOrderDelivery;
      }
    }

    public updateTimestampForAmazonOrder_args deepCopy() {
      return new updateTimestampForAmazonOrder_args(this);
    }

    @Override
    public void clear() {
      this.amazonOrderDelivery = null;
    }

    public int getAmazonOrderDeliverySize() {
      return (this.amazonOrderDelivery == null) ? 0 : this.amazonOrderDelivery.size();
    }

    public void putToAmazonOrderDelivery(long key, Map<String,String> val) {
      if (this.amazonOrderDelivery == null) {
        this.amazonOrderDelivery = new HashMap<Long,Map<String,String>>();
      }
      this.amazonOrderDelivery.put(key, val);
    }

    public Map<Long,Map<String,String>> getAmazonOrderDelivery() {
      return this.amazonOrderDelivery;
    }

    public void setAmazonOrderDelivery(Map<Long,Map<String,String>> amazonOrderDelivery) {
      this.amazonOrderDelivery = amazonOrderDelivery;
    }

    public void unsetAmazonOrderDelivery() {
      this.amazonOrderDelivery = null;
    }

    /** Returns true if field amazonOrderDelivery is set (has been assigned a value) and false otherwise */
    public boolean isSetAmazonOrderDelivery() {
      return this.amazonOrderDelivery != null;
    }

    public void setAmazonOrderDeliveryIsSet(boolean value) {
      if (!value) {
        this.amazonOrderDelivery = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case AMAZON_ORDER_DELIVERY:
        if (value == null) {
          unsetAmazonOrderDelivery();
        } else {
          setAmazonOrderDelivery((Map<Long,Map<String,String>>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case AMAZON_ORDER_DELIVERY:
        return getAmazonOrderDelivery();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case AMAZON_ORDER_DELIVERY:
        return isSetAmazonOrderDelivery();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof updateTimestampForAmazonOrder_args)
        return this.equals((updateTimestampForAmazonOrder_args)that);
      return false;
    }

    public boolean equals(updateTimestampForAmazonOrder_args that) {
      if (that == null)
        return false;

      boolean this_present_amazonOrderDelivery = true && this.isSetAmazonOrderDelivery();
      boolean that_present_amazonOrderDelivery = true && that.isSetAmazonOrderDelivery();
      if (this_present_amazonOrderDelivery || that_present_amazonOrderDelivery) {
        if (!(this_present_amazonOrderDelivery && that_present_amazonOrderDelivery))
          return false;
        if (!this.amazonOrderDelivery.equals(that.amazonOrderDelivery))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(updateTimestampForAmazonOrder_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      updateTimestampForAmazonOrder_args typedOther = (updateTimestampForAmazonOrder_args)other;

      lastComparison = Boolean.valueOf(isSetAmazonOrderDelivery()).compareTo(typedOther.isSetAmazonOrderDelivery());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetAmazonOrderDelivery()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.amazonOrderDelivery, typedOther.amazonOrderDelivery);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // AMAZON_ORDER_DELIVERY
            if (field.type == org.apache.thrift.protocol.TType.MAP) {
              {
                org.apache.thrift.protocol.TMap _map498 = iprot.readMapBegin();
                this.amazonOrderDelivery = new HashMap<Long,Map<String,String>>(2*_map498.size);
                for (int _i499 = 0; _i499 < _map498.size; ++_i499)
                {
                  long _key500; // required
                  Map<String,String> _val501; // required
                  _key500 = iprot.readI64();
                  {
                    org.apache.thrift.protocol.TMap _map502 = iprot.readMapBegin();
                    _val501 = new HashMap<String,String>(2*_map502.size);
                    for (int _i503 = 0; _i503 < _map502.size; ++_i503)
                    {
                      String _key504; // required
                      String _val505; // required
                      _key504 = iprot.readString();
                      _val505 = iprot.readString();
                      _val501.put(_key504, _val505);
                    }
                    iprot.readMapEnd();
                  }
                  this.amazonOrderDelivery.put(_key500, _val501);
                }
                iprot.readMapEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.amazonOrderDelivery != null) {
        oprot.writeFieldBegin(AMAZON_ORDER_DELIVERY_FIELD_DESC);
        {
          oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.I64, org.apache.thrift.protocol.TType.MAP, this.amazonOrderDelivery.size()));
          for (Map.Entry<Long, Map<String,String>> _iter506 : this.amazonOrderDelivery.entrySet())
          {
            oprot.writeI64(_iter506.getKey());
            {
              oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, _iter506.getValue().size()));
              for (Map.Entry<String, String> _iter507 : _iter506.getValue().entrySet())
              {
                oprot.writeString(_iter507.getKey());
                oprot.writeString(_iter507.getValue());
              }
              oprot.writeMapEnd();
            }
          }
          oprot.writeMapEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("updateTimestampForAmazonOrder_args(");
      boolean first = true;

      sb.append("amazonOrderDelivery:");
      if (this.amazonOrderDelivery == null) {
        sb.append("null");
      } else {
        sb.append(this.amazonOrderDelivery);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class updateTimestampForAmazonOrder_result implements org.apache.thrift.TBase<updateTimestampForAmazonOrder_result, updateTimestampForAmazonOrder_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateTimestampForAmazonOrder_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);

    private boolean success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateTimestampForAmazonOrder_result.class, metaDataMap);
    }

    public updateTimestampForAmazonOrder_result() {
    }

    public updateTimestampForAmazonOrder_result(
      boolean success)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public updateTimestampForAmazonOrder_result(updateTimestampForAmazonOrder_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
    }

    public updateTimestampForAmazonOrder_result deepCopy() {
      return new updateTimestampForAmazonOrder_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = false;
    }

    public boolean isSuccess() {
      return this.success;
    }

    public void setSuccess(boolean success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Boolean.valueOf(isSuccess());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof updateTimestampForAmazonOrder_result)
        return this.equals((updateTimestampForAmazonOrder_result)that);
      return false;
    }

    public boolean equals(updateTimestampForAmazonOrder_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(updateTimestampForAmazonOrder_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      updateTimestampForAmazonOrder_result typedOther = (updateTimestampForAmazonOrder_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.success = iprot.readBool();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBool(this.success);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("updateTimestampForAmazonOrder_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class updateSourceDetailTimestamp_args implements org.apache.thrift.TBase<updateSourceDetailTimestamp_args, updateSourceDetailTimestamp_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateSourceDetailTimestamp_args");

    private static final org.apache.thrift.protocol.TField ID_FIELD_DESC = new org.apache.thrift.protocol.TField("id", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField LAST_UPDATED_ON_FIELD_DESC = new org.apache.thrift.protocol.TField("lastUpdatedOn", org.apache.thrift.protocol.TType.I64, (short)2);

    private long id; // required
    private long lastUpdatedOn; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ID((short)1, "id"),
      LAST_UPDATED_ON((short)2, "lastUpdatedOn");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ID
            return ID;
          case 2: // LAST_UPDATED_ON
            return LAST_UPDATED_ON;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ID_ISSET_ID = 0;
    private static final int __LASTUPDATEDON_ISSET_ID = 1;
    private BitSet __isset_bit_vector = new BitSet(2);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ID, new org.apache.thrift.meta_data.FieldMetaData("id", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.LAST_UPDATED_ON, new org.apache.thrift.meta_data.FieldMetaData("lastUpdatedOn", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateSourceDetailTimestamp_args.class, metaDataMap);
    }

    public updateSourceDetailTimestamp_args() {
    }

    public updateSourceDetailTimestamp_args(
      long id,
      long lastUpdatedOn)
    {
      this();
      this.id = id;
      setIdIsSet(true);
      this.lastUpdatedOn = lastUpdatedOn;
      setLastUpdatedOnIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public updateSourceDetailTimestamp_args(updateSourceDetailTimestamp_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.id = other.id;
      this.lastUpdatedOn = other.lastUpdatedOn;
    }

    public updateSourceDetailTimestamp_args deepCopy() {
      return new updateSourceDetailTimestamp_args(this);
    }

    @Override
    public void clear() {
      setIdIsSet(false);
      this.id = 0;
      setLastUpdatedOnIsSet(false);
      this.lastUpdatedOn = 0;
    }

    public long getId() {
      return this.id;
    }

    public void setId(long id) {
      this.id = id;
      setIdIsSet(true);
    }

    public void unsetId() {
      __isset_bit_vector.clear(__ID_ISSET_ID);
    }

    /** Returns true if field id is set (has been assigned a value) and false otherwise */
    public boolean isSetId() {
      return __isset_bit_vector.get(__ID_ISSET_ID);
    }

    public void setIdIsSet(boolean value) {
      __isset_bit_vector.set(__ID_ISSET_ID, value);
    }

    public long getLastUpdatedOn() {
      return this.lastUpdatedOn;
    }

    public void setLastUpdatedOn(long lastUpdatedOn) {
      this.lastUpdatedOn = lastUpdatedOn;
      setLastUpdatedOnIsSet(true);
    }

    public void unsetLastUpdatedOn() {
      __isset_bit_vector.clear(__LASTUPDATEDON_ISSET_ID);
    }

    /** Returns true if field lastUpdatedOn is set (has been assigned a value) and false otherwise */
    public boolean isSetLastUpdatedOn() {
      return __isset_bit_vector.get(__LASTUPDATEDON_ISSET_ID);
    }

    public void setLastUpdatedOnIsSet(boolean value) {
      __isset_bit_vector.set(__LASTUPDATEDON_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ID:
        if (value == null) {
          unsetId();
        } else {
          setId((Long)value);
        }
        break;

      case LAST_UPDATED_ON:
        if (value == null) {
          unsetLastUpdatedOn();
        } else {
          setLastUpdatedOn((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ID:
        return Long.valueOf(getId());

      case LAST_UPDATED_ON:
        return Long.valueOf(getLastUpdatedOn());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ID:
        return isSetId();
      case LAST_UPDATED_ON:
        return isSetLastUpdatedOn();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof updateSourceDetailTimestamp_args)
        return this.equals((updateSourceDetailTimestamp_args)that);
      return false;
    }

    public boolean equals(updateSourceDetailTimestamp_args that) {
      if (that == null)
        return false;

      boolean this_present_id = true;
      boolean that_present_id = true;
      if (this_present_id || that_present_id) {
        if (!(this_present_id && that_present_id))
          return false;
        if (this.id != that.id)
          return false;
      }

      boolean this_present_lastUpdatedOn = true;
      boolean that_present_lastUpdatedOn = true;
      if (this_present_lastUpdatedOn || that_present_lastUpdatedOn) {
        if (!(this_present_lastUpdatedOn && that_present_lastUpdatedOn))
          return false;
        if (this.lastUpdatedOn != that.lastUpdatedOn)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(updateSourceDetailTimestamp_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      updateSourceDetailTimestamp_args typedOther = (updateSourceDetailTimestamp_args)other;

      lastComparison = Boolean.valueOf(isSetId()).compareTo(typedOther.isSetId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.id, typedOther.id);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetLastUpdatedOn()).compareTo(typedOther.isSetLastUpdatedOn());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetLastUpdatedOn()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.lastUpdatedOn, typedOther.lastUpdatedOn);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.id = iprot.readI64();
              setIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // LAST_UPDATED_ON
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.lastUpdatedOn = iprot.readI64();
              setLastUpdatedOnIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ID_FIELD_DESC);
      oprot.writeI64(this.id);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(LAST_UPDATED_ON_FIELD_DESC);
      oprot.writeI64(this.lastUpdatedOn);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("updateSourceDetailTimestamp_args(");
      boolean first = true;

      sb.append("id:");
      sb.append(this.id);
      first = false;
      if (!first) sb.append(", ");
      sb.append("lastUpdatedOn:");
      sb.append(this.lastUpdatedOn);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class updateSourceDetailTimestamp_result implements org.apache.thrift.TBase<updateSourceDetailTimestamp_result, updateSourceDetailTimestamp_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateSourceDetailTimestamp_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);

    private boolean success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateSourceDetailTimestamp_result.class, metaDataMap);
    }

    public updateSourceDetailTimestamp_result() {
    }

    public updateSourceDetailTimestamp_result(
      boolean success)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public updateSourceDetailTimestamp_result(updateSourceDetailTimestamp_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
    }

    public updateSourceDetailTimestamp_result deepCopy() {
      return new updateSourceDetailTimestamp_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = false;
    }

    public boolean isSuccess() {
      return this.success;
    }

    public void setSuccess(boolean success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Boolean.valueOf(isSuccess());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof updateSourceDetailTimestamp_result)
        return this.equals((updateSourceDetailTimestamp_result)that);
      return false;
    }

    public boolean equals(updateSourceDetailTimestamp_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(updateSourceDetailTimestamp_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      updateSourceDetailTimestamp_result typedOther = (updateSourceDetailTimestamp_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.success = iprot.readBool();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBool(this.success);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("updateSourceDetailTimestamp_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getOrdersByMobileNumber_args implements org.apache.thrift.TBase<getOrdersByMobileNumber_args, getOrdersByMobileNumber_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getOrdersByMobileNumber_args");

    private static final org.apache.thrift.protocol.TField MOBILE_NUMBER_FIELD_DESC = new org.apache.thrift.protocol.TField("mobileNumber", org.apache.thrift.protocol.TType.STRING, (short)1);

    private String mobileNumber; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      MOBILE_NUMBER((short)1, "mobileNumber");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // MOBILE_NUMBER
            return MOBILE_NUMBER;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.MOBILE_NUMBER, new org.apache.thrift.meta_data.FieldMetaData("mobileNumber", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getOrdersByMobileNumber_args.class, metaDataMap);
    }

    public getOrdersByMobileNumber_args() {
    }

    public getOrdersByMobileNumber_args(
      String mobileNumber)
    {
      this();
      this.mobileNumber = mobileNumber;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getOrdersByMobileNumber_args(getOrdersByMobileNumber_args other) {
      if (other.isSetMobileNumber()) {
        this.mobileNumber = other.mobileNumber;
      }
    }

    public getOrdersByMobileNumber_args deepCopy() {
      return new getOrdersByMobileNumber_args(this);
    }

    @Override
    public void clear() {
      this.mobileNumber = null;
    }

    public String getMobileNumber() {
      return this.mobileNumber;
    }

    public void setMobileNumber(String mobileNumber) {
      this.mobileNumber = mobileNumber;
    }

    public void unsetMobileNumber() {
      this.mobileNumber = null;
    }

    /** Returns true if field mobileNumber is set (has been assigned a value) and false otherwise */
    public boolean isSetMobileNumber() {
      return this.mobileNumber != null;
    }

    public void setMobileNumberIsSet(boolean value) {
      if (!value) {
        this.mobileNumber = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case MOBILE_NUMBER:
        if (value == null) {
          unsetMobileNumber();
        } else {
          setMobileNumber((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case MOBILE_NUMBER:
        return getMobileNumber();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case MOBILE_NUMBER:
        return isSetMobileNumber();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getOrdersByMobileNumber_args)
        return this.equals((getOrdersByMobileNumber_args)that);
      return false;
    }

    public boolean equals(getOrdersByMobileNumber_args that) {
      if (that == null)
        return false;

      boolean this_present_mobileNumber = true && this.isSetMobileNumber();
      boolean that_present_mobileNumber = true && that.isSetMobileNumber();
      if (this_present_mobileNumber || that_present_mobileNumber) {
        if (!(this_present_mobileNumber && that_present_mobileNumber))
          return false;
        if (!this.mobileNumber.equals(that.mobileNumber))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getOrdersByMobileNumber_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getOrdersByMobileNumber_args typedOther = (getOrdersByMobileNumber_args)other;

      lastComparison = Boolean.valueOf(isSetMobileNumber()).compareTo(typedOther.isSetMobileNumber());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetMobileNumber()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.mobileNumber, typedOther.mobileNumber);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // MOBILE_NUMBER
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.mobileNumber = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.mobileNumber != null) {
        oprot.writeFieldBegin(MOBILE_NUMBER_FIELD_DESC);
        oprot.writeString(this.mobileNumber);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getOrdersByMobileNumber_args(");
      boolean first = true;

      sb.append("mobileNumber:");
      if (this.mobileNumber == null) {
        sb.append("null");
      } else {
        sb.append(this.mobileNumber);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getOrdersByMobileNumber_result implements org.apache.thrift.TBase<getOrdersByMobileNumber_result, getOrdersByMobileNumber_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getOrdersByMobileNumber_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);

    private List<Order> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Order.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getOrdersByMobileNumber_result.class, metaDataMap);
    }

    public getOrdersByMobileNumber_result() {
    }

    public getOrdersByMobileNumber_result(
      List<Order> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getOrdersByMobileNumber_result(getOrdersByMobileNumber_result other) {
      if (other.isSetSuccess()) {
        List<Order> __this__success = new ArrayList<Order>();
        for (Order other_element : other.success) {
          __this__success.add(new Order(other_element));
        }
        this.success = __this__success;
      }
    }

    public getOrdersByMobileNumber_result deepCopy() {
      return new getOrdersByMobileNumber_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<Order> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(Order elem) {
      if (this.success == null) {
        this.success = new ArrayList<Order>();
      }
      this.success.add(elem);
    }

    public List<Order> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<Order> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<Order>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getOrdersByMobileNumber_result)
        return this.equals((getOrdersByMobileNumber_result)that);
      return false;
    }

    public boolean equals(getOrdersByMobileNumber_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getOrdersByMobileNumber_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getOrdersByMobileNumber_result typedOther = (getOrdersByMobileNumber_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list508 = iprot.readListBegin();
                this.success = new ArrayList<Order>(_list508.size);
                for (int _i509 = 0; _i509 < _list508.size; ++_i509)
                {
                  Order _elem510; // required
                  _elem510 = new Order();
                  _elem510.read(iprot);
                  this.success.add(_elem510);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (Order _iter511 : this.success)
          {
            _iter511.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getOrdersByMobileNumber_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getOrdersByAmazonOrderCode_args implements org.apache.thrift.TBase<getOrdersByAmazonOrderCode_args, getOrdersByAmazonOrderCode_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getOrdersByAmazonOrderCode_args");

    private static final org.apache.thrift.protocol.TField AMAZON_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("amazonId", org.apache.thrift.protocol.TType.STRING, (short)1);

    private String amazonId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      AMAZON_ID((short)1, "amazonId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // AMAZON_ID
            return AMAZON_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.AMAZON_ID, new org.apache.thrift.meta_data.FieldMetaData("amazonId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getOrdersByAmazonOrderCode_args.class, metaDataMap);
    }

    public getOrdersByAmazonOrderCode_args() {
    }

    public getOrdersByAmazonOrderCode_args(
      String amazonId)
    {
      this();
      this.amazonId = amazonId;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getOrdersByAmazonOrderCode_args(getOrdersByAmazonOrderCode_args other) {
      if (other.isSetAmazonId()) {
        this.amazonId = other.amazonId;
      }
    }

    public getOrdersByAmazonOrderCode_args deepCopy() {
      return new getOrdersByAmazonOrderCode_args(this);
    }

    @Override
    public void clear() {
      this.amazonId = null;
    }

    public String getAmazonId() {
      return this.amazonId;
    }

    public void setAmazonId(String amazonId) {
      this.amazonId = amazonId;
    }

    public void unsetAmazonId() {
      this.amazonId = null;
    }

    /** Returns true if field amazonId is set (has been assigned a value) and false otherwise */
    public boolean isSetAmazonId() {
      return this.amazonId != null;
    }

    public void setAmazonIdIsSet(boolean value) {
      if (!value) {
        this.amazonId = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case AMAZON_ID:
        if (value == null) {
          unsetAmazonId();
        } else {
          setAmazonId((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case AMAZON_ID:
        return getAmazonId();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case AMAZON_ID:
        return isSetAmazonId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getOrdersByAmazonOrderCode_args)
        return this.equals((getOrdersByAmazonOrderCode_args)that);
      return false;
    }

    public boolean equals(getOrdersByAmazonOrderCode_args that) {
      if (that == null)
        return false;

      boolean this_present_amazonId = true && this.isSetAmazonId();
      boolean that_present_amazonId = true && that.isSetAmazonId();
      if (this_present_amazonId || that_present_amazonId) {
        if (!(this_present_amazonId && that_present_amazonId))
          return false;
        if (!this.amazonId.equals(that.amazonId))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getOrdersByAmazonOrderCode_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getOrdersByAmazonOrderCode_args typedOther = (getOrdersByAmazonOrderCode_args)other;

      lastComparison = Boolean.valueOf(isSetAmazonId()).compareTo(typedOther.isSetAmazonId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetAmazonId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.amazonId, typedOther.amazonId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // AMAZON_ID
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.amazonId = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.amazonId != null) {
        oprot.writeFieldBegin(AMAZON_ID_FIELD_DESC);
        oprot.writeString(this.amazonId);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getOrdersByAmazonOrderCode_args(");
      boolean first = true;

      sb.append("amazonId:");
      if (this.amazonId == null) {
        sb.append("null");
      } else {
        sb.append(this.amazonId);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getOrdersByAmazonOrderCode_result implements org.apache.thrift.TBase<getOrdersByAmazonOrderCode_result, getOrdersByAmazonOrderCode_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getOrdersByAmazonOrderCode_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);

    private List<Order> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Order.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getOrdersByAmazonOrderCode_result.class, metaDataMap);
    }

    public getOrdersByAmazonOrderCode_result() {
    }

    public getOrdersByAmazonOrderCode_result(
      List<Order> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getOrdersByAmazonOrderCode_result(getOrdersByAmazonOrderCode_result other) {
      if (other.isSetSuccess()) {
        List<Order> __this__success = new ArrayList<Order>();
        for (Order other_element : other.success) {
          __this__success.add(new Order(other_element));
        }
        this.success = __this__success;
      }
    }

    public getOrdersByAmazonOrderCode_result deepCopy() {
      return new getOrdersByAmazonOrderCode_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<Order> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(Order elem) {
      if (this.success == null) {
        this.success = new ArrayList<Order>();
      }
      this.success.add(elem);
    }

    public List<Order> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<Order> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<Order>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getOrdersByAmazonOrderCode_result)
        return this.equals((getOrdersByAmazonOrderCode_result)that);
      return false;
    }

    public boolean equals(getOrdersByAmazonOrderCode_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getOrdersByAmazonOrderCode_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getOrdersByAmazonOrderCode_result typedOther = (getOrdersByAmazonOrderCode_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list512 = iprot.readListBegin();
                this.success = new ArrayList<Order>(_list512.size);
                for (int _i513 = 0; _i513 < _list512.size; ++_i513)
                {
                  Order _elem514; // required
                  _elem514 = new Order();
                  _elem514.read(iprot);
                  this.success.add(_elem514);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (Order _iter515 : this.success)
          {
            _iter515.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getOrdersByAmazonOrderCode_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class convertStoreToNormal_args implements org.apache.thrift.TBase<convertStoreToNormal_args, convertStoreToNormal_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("convertStoreToNormal_args");

    private static final org.apache.thrift.protocol.TField ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("orderId", org.apache.thrift.protocol.TType.I64, (short)1);

    private long orderId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ORDER_ID((short)1, "orderId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ORDER_ID
            return ORDER_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ORDERID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("orderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(convertStoreToNormal_args.class, metaDataMap);
    }

    public convertStoreToNormal_args() {
    }

    public convertStoreToNormal_args(
      long orderId)
    {
      this();
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public convertStoreToNormal_args(convertStoreToNormal_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.orderId = other.orderId;
    }

    public convertStoreToNormal_args deepCopy() {
      return new convertStoreToNormal_args(this);
    }

    @Override
    public void clear() {
      setOrderIdIsSet(false);
      this.orderId = 0;
    }

    public long getOrderId() {
      return this.orderId;
    }

    public void setOrderId(long orderId) {
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    public void unsetOrderId() {
      __isset_bit_vector.clear(__ORDERID_ISSET_ID);
    }

    /** Returns true if field orderId is set (has been assigned a value) and false otherwise */
    public boolean isSetOrderId() {
      return __isset_bit_vector.get(__ORDERID_ISSET_ID);
    }

    public void setOrderIdIsSet(boolean value) {
      __isset_bit_vector.set(__ORDERID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ORDER_ID:
        if (value == null) {
          unsetOrderId();
        } else {
          setOrderId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ORDER_ID:
        return Long.valueOf(getOrderId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ORDER_ID:
        return isSetOrderId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof convertStoreToNormal_args)
        return this.equals((convertStoreToNormal_args)that);
      return false;
    }

    public boolean equals(convertStoreToNormal_args that) {
      if (that == null)
        return false;

      boolean this_present_orderId = true;
      boolean that_present_orderId = true;
      if (this_present_orderId || that_present_orderId) {
        if (!(this_present_orderId && that_present_orderId))
          return false;
        if (this.orderId != that.orderId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(convertStoreToNormal_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      convertStoreToNormal_args typedOther = (convertStoreToNormal_args)other;

      lastComparison = Boolean.valueOf(isSetOrderId()).compareTo(typedOther.isSetOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.orderId, typedOther.orderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.orderId = iprot.readI64();
              setOrderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ORDER_ID_FIELD_DESC);
      oprot.writeI64(this.orderId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("convertStoreToNormal_args(");
      boolean first = true;

      sb.append("orderId:");
      sb.append(this.orderId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class convertStoreToNormal_result implements org.apache.thrift.TBase<convertStoreToNormal_result, convertStoreToNormal_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("convertStoreToNormal_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);

    private boolean success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(convertStoreToNormal_result.class, metaDataMap);
    }

    public convertStoreToNormal_result() {
    }

    public convertStoreToNormal_result(
      boolean success)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public convertStoreToNormal_result(convertStoreToNormal_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
    }

    public convertStoreToNormal_result deepCopy() {
      return new convertStoreToNormal_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = false;
    }

    public boolean isSuccess() {
      return this.success;
    }

    public void setSuccess(boolean success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Boolean.valueOf(isSuccess());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof convertStoreToNormal_result)
        return this.equals((convertStoreToNormal_result)that);
      return false;
    }

    public boolean equals(convertStoreToNormal_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(convertStoreToNormal_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      convertStoreToNormal_result typedOther = (convertStoreToNormal_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.success = iprot.readBool();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBool(this.success);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("convertStoreToNormal_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class updateFreebieItem_args implements org.apache.thrift.TBase<updateFreebieItem_args, updateFreebieItem_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateFreebieItem_args");

    private static final org.apache.thrift.protocol.TField ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("orderId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField NEW_FREEBIE_ITEM_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("newFreebieItemId", org.apache.thrift.protocol.TType.I64, (short)2);

    private long orderId; // required
    private long newFreebieItemId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ORDER_ID((short)1, "orderId"),
      NEW_FREEBIE_ITEM_ID((short)2, "newFreebieItemId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ORDER_ID
            return ORDER_ID;
          case 2: // NEW_FREEBIE_ITEM_ID
            return NEW_FREEBIE_ITEM_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ORDERID_ISSET_ID = 0;
    private static final int __NEWFREEBIEITEMID_ISSET_ID = 1;
    private BitSet __isset_bit_vector = new BitSet(2);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("orderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.NEW_FREEBIE_ITEM_ID, new org.apache.thrift.meta_data.FieldMetaData("newFreebieItemId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateFreebieItem_args.class, metaDataMap);
    }

    public updateFreebieItem_args() {
    }

    public updateFreebieItem_args(
      long orderId,
      long newFreebieItemId)
    {
      this();
      this.orderId = orderId;
      setOrderIdIsSet(true);
      this.newFreebieItemId = newFreebieItemId;
      setNewFreebieItemIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public updateFreebieItem_args(updateFreebieItem_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.orderId = other.orderId;
      this.newFreebieItemId = other.newFreebieItemId;
    }

    public updateFreebieItem_args deepCopy() {
      return new updateFreebieItem_args(this);
    }

    @Override
    public void clear() {
      setOrderIdIsSet(false);
      this.orderId = 0;
      setNewFreebieItemIdIsSet(false);
      this.newFreebieItemId = 0;
    }

    public long getOrderId() {
      return this.orderId;
    }

    public void setOrderId(long orderId) {
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    public void unsetOrderId() {
      __isset_bit_vector.clear(__ORDERID_ISSET_ID);
    }

    /** Returns true if field orderId is set (has been assigned a value) and false otherwise */
    public boolean isSetOrderId() {
      return __isset_bit_vector.get(__ORDERID_ISSET_ID);
    }

    public void setOrderIdIsSet(boolean value) {
      __isset_bit_vector.set(__ORDERID_ISSET_ID, value);
    }

    public long getNewFreebieItemId() {
      return this.newFreebieItemId;
    }

    public void setNewFreebieItemId(long newFreebieItemId) {
      this.newFreebieItemId = newFreebieItemId;
      setNewFreebieItemIdIsSet(true);
    }

    public void unsetNewFreebieItemId() {
      __isset_bit_vector.clear(__NEWFREEBIEITEMID_ISSET_ID);
    }

    /** Returns true if field newFreebieItemId is set (has been assigned a value) and false otherwise */
    public boolean isSetNewFreebieItemId() {
      return __isset_bit_vector.get(__NEWFREEBIEITEMID_ISSET_ID);
    }

    public void setNewFreebieItemIdIsSet(boolean value) {
      __isset_bit_vector.set(__NEWFREEBIEITEMID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ORDER_ID:
        if (value == null) {
          unsetOrderId();
        } else {
          setOrderId((Long)value);
        }
        break;

      case NEW_FREEBIE_ITEM_ID:
        if (value == null) {
          unsetNewFreebieItemId();
        } else {
          setNewFreebieItemId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ORDER_ID:
        return Long.valueOf(getOrderId());

      case NEW_FREEBIE_ITEM_ID:
        return Long.valueOf(getNewFreebieItemId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ORDER_ID:
        return isSetOrderId();
      case NEW_FREEBIE_ITEM_ID:
        return isSetNewFreebieItemId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof updateFreebieItem_args)
        return this.equals((updateFreebieItem_args)that);
      return false;
    }

    public boolean equals(updateFreebieItem_args that) {
      if (that == null)
        return false;

      boolean this_present_orderId = true;
      boolean that_present_orderId = true;
      if (this_present_orderId || that_present_orderId) {
        if (!(this_present_orderId && that_present_orderId))
          return false;
        if (this.orderId != that.orderId)
          return false;
      }

      boolean this_present_newFreebieItemId = true;
      boolean that_present_newFreebieItemId = true;
      if (this_present_newFreebieItemId || that_present_newFreebieItemId) {
        if (!(this_present_newFreebieItemId && that_present_newFreebieItemId))
          return false;
        if (this.newFreebieItemId != that.newFreebieItemId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(updateFreebieItem_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      updateFreebieItem_args typedOther = (updateFreebieItem_args)other;

      lastComparison = Boolean.valueOf(isSetOrderId()).compareTo(typedOther.isSetOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.orderId, typedOther.orderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetNewFreebieItemId()).compareTo(typedOther.isSetNewFreebieItemId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetNewFreebieItemId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.newFreebieItemId, typedOther.newFreebieItemId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.orderId = iprot.readI64();
              setOrderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // NEW_FREEBIE_ITEM_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.newFreebieItemId = iprot.readI64();
              setNewFreebieItemIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ORDER_ID_FIELD_DESC);
      oprot.writeI64(this.orderId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(NEW_FREEBIE_ITEM_ID_FIELD_DESC);
      oprot.writeI64(this.newFreebieItemId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("updateFreebieItem_args(");
      boolean first = true;

      sb.append("orderId:");
      sb.append(this.orderId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("newFreebieItemId:");
      sb.append(this.newFreebieItemId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class updateFreebieItem_result implements org.apache.thrift.TBase<updateFreebieItem_result, updateFreebieItem_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateFreebieItem_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);

    private Order success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Order.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateFreebieItem_result.class, metaDataMap);
    }

    public updateFreebieItem_result() {
    }

    public updateFreebieItem_result(
      Order success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public updateFreebieItem_result(updateFreebieItem_result other) {
      if (other.isSetSuccess()) {
        this.success = new Order(other.success);
      }
    }

    public updateFreebieItem_result deepCopy() {
      return new updateFreebieItem_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public Order getSuccess() {
      return this.success;
    }

    public void setSuccess(Order success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Order)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof updateFreebieItem_result)
        return this.equals((updateFreebieItem_result)that);
      return false;
    }

    public boolean equals(updateFreebieItem_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(updateFreebieItem_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      updateFreebieItem_result typedOther = (updateFreebieItem_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.success = new Order();
              this.success.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        this.success.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("updateFreebieItem_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getHotspotServiceMatrices_args implements org.apache.thrift.TBase<getHotspotServiceMatrices_args, getHotspotServiceMatrices_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getHotspotServiceMatrices_args");



    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
;

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getHotspotServiceMatrices_args.class, metaDataMap);
    }

    public getHotspotServiceMatrices_args() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getHotspotServiceMatrices_args(getHotspotServiceMatrices_args other) {
    }

    public getHotspotServiceMatrices_args deepCopy() {
      return new getHotspotServiceMatrices_args(this);
    }

    @Override
    public void clear() {
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getHotspotServiceMatrices_args)
        return this.equals((getHotspotServiceMatrices_args)that);
      return false;
    }

    public boolean equals(getHotspotServiceMatrices_args that) {
      if (that == null)
        return false;

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getHotspotServiceMatrices_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getHotspotServiceMatrices_args typedOther = (getHotspotServiceMatrices_args)other;

      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getHotspotServiceMatrices_args(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getHotspotServiceMatrices_result implements org.apache.thrift.TBase<getHotspotServiceMatrices_result, getHotspotServiceMatrices_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getHotspotServiceMatrices_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);

    private List<HotspotServiceMatrix> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, HotspotServiceMatrix.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getHotspotServiceMatrices_result.class, metaDataMap);
    }

    public getHotspotServiceMatrices_result() {
    }

    public getHotspotServiceMatrices_result(
      List<HotspotServiceMatrix> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getHotspotServiceMatrices_result(getHotspotServiceMatrices_result other) {
      if (other.isSetSuccess()) {
        List<HotspotServiceMatrix> __this__success = new ArrayList<HotspotServiceMatrix>();
        for (HotspotServiceMatrix other_element : other.success) {
          __this__success.add(new HotspotServiceMatrix(other_element));
        }
        this.success = __this__success;
      }
    }

    public getHotspotServiceMatrices_result deepCopy() {
      return new getHotspotServiceMatrices_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<HotspotServiceMatrix> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(HotspotServiceMatrix elem) {
      if (this.success == null) {
        this.success = new ArrayList<HotspotServiceMatrix>();
      }
      this.success.add(elem);
    }

    public List<HotspotServiceMatrix> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<HotspotServiceMatrix> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<HotspotServiceMatrix>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getHotspotServiceMatrices_result)
        return this.equals((getHotspotServiceMatrices_result)that);
      return false;
    }

    public boolean equals(getHotspotServiceMatrices_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getHotspotServiceMatrices_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getHotspotServiceMatrices_result typedOther = (getHotspotServiceMatrices_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list516 = iprot.readListBegin();
                this.success = new ArrayList<HotspotServiceMatrix>(_list516.size);
                for (int _i517 = 0; _i517 < _list516.size; ++_i517)
                {
                  HotspotServiceMatrix _elem518; // required
                  _elem518 = new HotspotServiceMatrix();
                  _elem518.read(iprot);
                  this.success.add(_elem518);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (HotspotServiceMatrix _iter519 : this.success)
          {
            _iter519.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getHotspotServiceMatrices_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class updateOrderAWB_args implements org.apache.thrift.TBase<updateOrderAWB_args, updateOrderAWB_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateOrderAWB_args");

    private static final org.apache.thrift.protocol.TField ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("orderId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField AIRWAY_BILL_NO_FIELD_DESC = new org.apache.thrift.protocol.TField("airwayBillNo", org.apache.thrift.protocol.TType.STRING, (short)2);

    private long orderId; // required
    private String airwayBillNo; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ORDER_ID((short)1, "orderId"),
      AIRWAY_BILL_NO((short)2, "airwayBillNo");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ORDER_ID
            return ORDER_ID;
          case 2: // AIRWAY_BILL_NO
            return AIRWAY_BILL_NO;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ORDERID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("orderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.AIRWAY_BILL_NO, new org.apache.thrift.meta_data.FieldMetaData("airwayBillNo", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateOrderAWB_args.class, metaDataMap);
    }

    public updateOrderAWB_args() {
    }

    public updateOrderAWB_args(
      long orderId,
      String airwayBillNo)
    {
      this();
      this.orderId = orderId;
      setOrderIdIsSet(true);
      this.airwayBillNo = airwayBillNo;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public updateOrderAWB_args(updateOrderAWB_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.orderId = other.orderId;
      if (other.isSetAirwayBillNo()) {
        this.airwayBillNo = other.airwayBillNo;
      }
    }

    public updateOrderAWB_args deepCopy() {
      return new updateOrderAWB_args(this);
    }

    @Override
    public void clear() {
      setOrderIdIsSet(false);
      this.orderId = 0;
      this.airwayBillNo = null;
    }

    public long getOrderId() {
      return this.orderId;
    }

    public void setOrderId(long orderId) {
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    public void unsetOrderId() {
      __isset_bit_vector.clear(__ORDERID_ISSET_ID);
    }

    /** Returns true if field orderId is set (has been assigned a value) and false otherwise */
    public boolean isSetOrderId() {
      return __isset_bit_vector.get(__ORDERID_ISSET_ID);
    }

    public void setOrderIdIsSet(boolean value) {
      __isset_bit_vector.set(__ORDERID_ISSET_ID, value);
    }

    public String getAirwayBillNo() {
      return this.airwayBillNo;
    }

    public void setAirwayBillNo(String airwayBillNo) {
      this.airwayBillNo = airwayBillNo;
    }

    public void unsetAirwayBillNo() {
      this.airwayBillNo = null;
    }

    /** Returns true if field airwayBillNo is set (has been assigned a value) and false otherwise */
    public boolean isSetAirwayBillNo() {
      return this.airwayBillNo != null;
    }

    public void setAirwayBillNoIsSet(boolean value) {
      if (!value) {
        this.airwayBillNo = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ORDER_ID:
        if (value == null) {
          unsetOrderId();
        } else {
          setOrderId((Long)value);
        }
        break;

      case AIRWAY_BILL_NO:
        if (value == null) {
          unsetAirwayBillNo();
        } else {
          setAirwayBillNo((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ORDER_ID:
        return Long.valueOf(getOrderId());

      case AIRWAY_BILL_NO:
        return getAirwayBillNo();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ORDER_ID:
        return isSetOrderId();
      case AIRWAY_BILL_NO:
        return isSetAirwayBillNo();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof updateOrderAWB_args)
        return this.equals((updateOrderAWB_args)that);
      return false;
    }

    public boolean equals(updateOrderAWB_args that) {
      if (that == null)
        return false;

      boolean this_present_orderId = true;
      boolean that_present_orderId = true;
      if (this_present_orderId || that_present_orderId) {
        if (!(this_present_orderId && that_present_orderId))
          return false;
        if (this.orderId != that.orderId)
          return false;
      }

      boolean this_present_airwayBillNo = true && this.isSetAirwayBillNo();
      boolean that_present_airwayBillNo = true && that.isSetAirwayBillNo();
      if (this_present_airwayBillNo || that_present_airwayBillNo) {
        if (!(this_present_airwayBillNo && that_present_airwayBillNo))
          return false;
        if (!this.airwayBillNo.equals(that.airwayBillNo))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(updateOrderAWB_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      updateOrderAWB_args typedOther = (updateOrderAWB_args)other;

      lastComparison = Boolean.valueOf(isSetOrderId()).compareTo(typedOther.isSetOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.orderId, typedOther.orderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetAirwayBillNo()).compareTo(typedOther.isSetAirwayBillNo());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetAirwayBillNo()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.airwayBillNo, typedOther.airwayBillNo);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.orderId = iprot.readI64();
              setOrderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // AIRWAY_BILL_NO
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.airwayBillNo = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ORDER_ID_FIELD_DESC);
      oprot.writeI64(this.orderId);
      oprot.writeFieldEnd();
      if (this.airwayBillNo != null) {
        oprot.writeFieldBegin(AIRWAY_BILL_NO_FIELD_DESC);
        oprot.writeString(this.airwayBillNo);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("updateOrderAWB_args(");
      boolean first = true;

      sb.append("orderId:");
      sb.append(this.orderId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("airwayBillNo:");
      if (this.airwayBillNo == null) {
        sb.append("null");
      } else {
        sb.append(this.airwayBillNo);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class updateOrderAWB_result implements org.apache.thrift.TBase<updateOrderAWB_result, updateOrderAWB_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateOrderAWB_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);

    private Order success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Order.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateOrderAWB_result.class, metaDataMap);
    }

    public updateOrderAWB_result() {
    }

    public updateOrderAWB_result(
      Order success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public updateOrderAWB_result(updateOrderAWB_result other) {
      if (other.isSetSuccess()) {
        this.success = new Order(other.success);
      }
    }

    public updateOrderAWB_result deepCopy() {
      return new updateOrderAWB_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public Order getSuccess() {
      return this.success;
    }

    public void setSuccess(Order success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Order)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof updateOrderAWB_result)
        return this.equals((updateOrderAWB_result)that);
      return false;
    }

    public boolean equals(updateOrderAWB_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(updateOrderAWB_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      updateOrderAWB_result typedOther = (updateOrderAWB_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.success = new Order();
              this.success.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        this.success.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("updateOrderAWB_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getOrdersByVendor_args implements org.apache.thrift.TBase<getOrdersByVendor_args, getOrdersByVendor_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getOrdersByVendor_args");

    private static final org.apache.thrift.protocol.TField VENDORS_FIELD_DESC = new org.apache.thrift.protocol.TField("vendors", org.apache.thrift.protocol.TType.LIST, (short)1);
    private static final org.apache.thrift.protocol.TField STATUSES_FIELD_DESC = new org.apache.thrift.protocol.TField("statuses", org.apache.thrift.protocol.TType.LIST, (short)2);

    private List<Long> vendors; // required
    private List<OrderStatus> statuses; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      VENDORS((short)1, "vendors"),
      STATUSES((short)2, "statuses");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // VENDORS
            return VENDORS;
          case 2: // STATUSES
            return STATUSES;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.VENDORS, new org.apache.thrift.meta_data.FieldMetaData("vendors", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64))));
      tmpMap.put(_Fields.STATUSES, new org.apache.thrift.meta_data.FieldMetaData("statuses", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, OrderStatus.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getOrdersByVendor_args.class, metaDataMap);
    }

    public getOrdersByVendor_args() {
    }

    public getOrdersByVendor_args(
      List<Long> vendors,
      List<OrderStatus> statuses)
    {
      this();
      this.vendors = vendors;
      this.statuses = statuses;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getOrdersByVendor_args(getOrdersByVendor_args other) {
      if (other.isSetVendors()) {
        List<Long> __this__vendors = new ArrayList<Long>();
        for (Long other_element : other.vendors) {
          __this__vendors.add(other_element);
        }
        this.vendors = __this__vendors;
      }
      if (other.isSetStatuses()) {
        List<OrderStatus> __this__statuses = new ArrayList<OrderStatus>();
        for (OrderStatus other_element : other.statuses) {
          __this__statuses.add(other_element);
        }
        this.statuses = __this__statuses;
      }
    }

    public getOrdersByVendor_args deepCopy() {
      return new getOrdersByVendor_args(this);
    }

    @Override
    public void clear() {
      this.vendors = null;
      this.statuses = null;
    }

    public int getVendorsSize() {
      return (this.vendors == null) ? 0 : this.vendors.size();
    }

    public java.util.Iterator<Long> getVendorsIterator() {
      return (this.vendors == null) ? null : this.vendors.iterator();
    }

    public void addToVendors(long elem) {
      if (this.vendors == null) {
        this.vendors = new ArrayList<Long>();
      }
      this.vendors.add(elem);
    }

    public List<Long> getVendors() {
      return this.vendors;
    }

    public void setVendors(List<Long> vendors) {
      this.vendors = vendors;
    }

    public void unsetVendors() {
      this.vendors = null;
    }

    /** Returns true if field vendors is set (has been assigned a value) and false otherwise */
    public boolean isSetVendors() {
      return this.vendors != null;
    }

    public void setVendorsIsSet(boolean value) {
      if (!value) {
        this.vendors = null;
      }
    }

    public int getStatusesSize() {
      return (this.statuses == null) ? 0 : this.statuses.size();
    }

    public java.util.Iterator<OrderStatus> getStatusesIterator() {
      return (this.statuses == null) ? null : this.statuses.iterator();
    }

    public void addToStatuses(OrderStatus elem) {
      if (this.statuses == null) {
        this.statuses = new ArrayList<OrderStatus>();
      }
      this.statuses.add(elem);
    }

    public List<OrderStatus> getStatuses() {
      return this.statuses;
    }

    public void setStatuses(List<OrderStatus> statuses) {
      this.statuses = statuses;
    }

    public void unsetStatuses() {
      this.statuses = null;
    }

    /** Returns true if field statuses is set (has been assigned a value) and false otherwise */
    public boolean isSetStatuses() {
      return this.statuses != null;
    }

    public void setStatusesIsSet(boolean value) {
      if (!value) {
        this.statuses = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case VENDORS:
        if (value == null) {
          unsetVendors();
        } else {
          setVendors((List<Long>)value);
        }
        break;

      case STATUSES:
        if (value == null) {
          unsetStatuses();
        } else {
          setStatuses((List<OrderStatus>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case VENDORS:
        return getVendors();

      case STATUSES:
        return getStatuses();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case VENDORS:
        return isSetVendors();
      case STATUSES:
        return isSetStatuses();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getOrdersByVendor_args)
        return this.equals((getOrdersByVendor_args)that);
      return false;
    }

    public boolean equals(getOrdersByVendor_args that) {
      if (that == null)
        return false;

      boolean this_present_vendors = true && this.isSetVendors();
      boolean that_present_vendors = true && that.isSetVendors();
      if (this_present_vendors || that_present_vendors) {
        if (!(this_present_vendors && that_present_vendors))
          return false;
        if (!this.vendors.equals(that.vendors))
          return false;
      }

      boolean this_present_statuses = true && this.isSetStatuses();
      boolean that_present_statuses = true && that.isSetStatuses();
      if (this_present_statuses || that_present_statuses) {
        if (!(this_present_statuses && that_present_statuses))
          return false;
        if (!this.statuses.equals(that.statuses))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getOrdersByVendor_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getOrdersByVendor_args typedOther = (getOrdersByVendor_args)other;

      lastComparison = Boolean.valueOf(isSetVendors()).compareTo(typedOther.isSetVendors());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetVendors()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.vendors, typedOther.vendors);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetStatuses()).compareTo(typedOther.isSetStatuses());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetStatuses()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.statuses, typedOther.statuses);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // VENDORS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list520 = iprot.readListBegin();
                this.vendors = new ArrayList<Long>(_list520.size);
                for (int _i521 = 0; _i521 < _list520.size; ++_i521)
                {
                  long _elem522; // required
                  _elem522 = iprot.readI64();
                  this.vendors.add(_elem522);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // STATUSES
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list523 = iprot.readListBegin();
                this.statuses = new ArrayList<OrderStatus>(_list523.size);
                for (int _i524 = 0; _i524 < _list523.size; ++_i524)
                {
                  OrderStatus _elem525; // required
                  _elem525 = OrderStatus.findByValue(iprot.readI32());
                  this.statuses.add(_elem525);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.vendors != null) {
        oprot.writeFieldBegin(VENDORS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, this.vendors.size()));
          for (long _iter526 : this.vendors)
          {
            oprot.writeI64(_iter526);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      if (this.statuses != null) {
        oprot.writeFieldBegin(STATUSES_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I32, this.statuses.size()));
          for (OrderStatus _iter527 : this.statuses)
          {
            oprot.writeI32(_iter527.getValue());
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getOrdersByVendor_args(");
      boolean first = true;

      sb.append("vendors:");
      if (this.vendors == null) {
        sb.append("null");
      } else {
        sb.append(this.vendors);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("statuses:");
      if (this.statuses == null) {
        sb.append("null");
      } else {
        sb.append(this.statuses);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getOrdersByVendor_result implements org.apache.thrift.TBase<getOrdersByVendor_result, getOrdersByVendor_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getOrdersByVendor_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private List<Order> success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Order.class))));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getOrdersByVendor_result.class, metaDataMap);
    }

    public getOrdersByVendor_result() {
    }

    public getOrdersByVendor_result(
      List<Order> success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getOrdersByVendor_result(getOrdersByVendor_result other) {
      if (other.isSetSuccess()) {
        List<Order> __this__success = new ArrayList<Order>();
        for (Order other_element : other.success) {
          __this__success.add(new Order(other_element));
        }
        this.success = __this__success;
      }
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public getOrdersByVendor_result deepCopy() {
      return new getOrdersByVendor_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.ex = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<Order> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(Order elem) {
      if (this.success == null) {
        this.success = new ArrayList<Order>();
      }
      this.success.add(elem);
    }

    public List<Order> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<Order> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<Order>)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getOrdersByVendor_result)
        return this.equals((getOrdersByVendor_result)that);
      return false;
    }

    public boolean equals(getOrdersByVendor_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getOrdersByVendor_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getOrdersByVendor_result typedOther = (getOrdersByVendor_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list528 = iprot.readListBegin();
                this.success = new ArrayList<Order>(_list528.size);
                for (int _i529 = 0; _i529 < _list528.size; ++_i529)
                {
                  Order _elem530; // required
                  _elem530 = new Order();
                  _elem530.read(iprot);
                  this.success.add(_elem530);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (Order _iter531 : this.success)
          {
            _iter531.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getOrdersByVendor_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class createEbayOrder_args implements org.apache.thrift.TBase<createEbayOrder_args, createEbayOrder_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("createEbayOrder_args");

    private static final org.apache.thrift.protocol.TField EBAY_ORDER_FIELD_DESC = new org.apache.thrift.protocol.TField("ebayOrder", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private EbayOrder ebayOrder; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      EBAY_ORDER((short)1, "ebayOrder");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // EBAY_ORDER
            return EBAY_ORDER;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.EBAY_ORDER, new org.apache.thrift.meta_data.FieldMetaData("ebayOrder", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, EbayOrder.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(createEbayOrder_args.class, metaDataMap);
    }

    public createEbayOrder_args() {
    }

    public createEbayOrder_args(
      EbayOrder ebayOrder)
    {
      this();
      this.ebayOrder = ebayOrder;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public createEbayOrder_args(createEbayOrder_args other) {
      if (other.isSetEbayOrder()) {
        this.ebayOrder = new EbayOrder(other.ebayOrder);
      }
    }

    public createEbayOrder_args deepCopy() {
      return new createEbayOrder_args(this);
    }

    @Override
    public void clear() {
      this.ebayOrder = null;
    }

    public EbayOrder getEbayOrder() {
      return this.ebayOrder;
    }

    public void setEbayOrder(EbayOrder ebayOrder) {
      this.ebayOrder = ebayOrder;
    }

    public void unsetEbayOrder() {
      this.ebayOrder = null;
    }

    /** Returns true if field ebayOrder is set (has been assigned a value) and false otherwise */
    public boolean isSetEbayOrder() {
      return this.ebayOrder != null;
    }

    public void setEbayOrderIsSet(boolean value) {
      if (!value) {
        this.ebayOrder = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case EBAY_ORDER:
        if (value == null) {
          unsetEbayOrder();
        } else {
          setEbayOrder((EbayOrder)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case EBAY_ORDER:
        return getEbayOrder();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case EBAY_ORDER:
        return isSetEbayOrder();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof createEbayOrder_args)
        return this.equals((createEbayOrder_args)that);
      return false;
    }

    public boolean equals(createEbayOrder_args that) {
      if (that == null)
        return false;

      boolean this_present_ebayOrder = true && this.isSetEbayOrder();
      boolean that_present_ebayOrder = true && that.isSetEbayOrder();
      if (this_present_ebayOrder || that_present_ebayOrder) {
        if (!(this_present_ebayOrder && that_present_ebayOrder))
          return false;
        if (!this.ebayOrder.equals(that.ebayOrder))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(createEbayOrder_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      createEbayOrder_args typedOther = (createEbayOrder_args)other;

      lastComparison = Boolean.valueOf(isSetEbayOrder()).compareTo(typedOther.isSetEbayOrder());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEbayOrder()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ebayOrder, typedOther.ebayOrder);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // EBAY_ORDER
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ebayOrder = new EbayOrder();
              this.ebayOrder.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.ebayOrder != null) {
        oprot.writeFieldBegin(EBAY_ORDER_FIELD_DESC);
        this.ebayOrder.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("createEbayOrder_args(");
      boolean first = true;

      sb.append("ebayOrder:");
      if (this.ebayOrder == null) {
        sb.append("null");
      } else {
        sb.append(this.ebayOrder);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class createEbayOrder_result implements org.apache.thrift.TBase<createEbayOrder_result, createEbayOrder_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("createEbayOrder_result");



    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
;

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(createEbayOrder_result.class, metaDataMap);
    }

    public createEbayOrder_result() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public createEbayOrder_result(createEbayOrder_result other) {
    }

    public createEbayOrder_result deepCopy() {
      return new createEbayOrder_result(this);
    }

    @Override
    public void clear() {
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof createEbayOrder_result)
        return this.equals((createEbayOrder_result)that);
      return false;
    }

    public boolean equals(createEbayOrder_result that) {
      if (that == null)
        return false;

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(createEbayOrder_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      createEbayOrder_result typedOther = (createEbayOrder_result)other;

      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("createEbayOrder_result(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getEbayOrderByOrderId_args implements org.apache.thrift.TBase<getEbayOrderByOrderId_args, getEbayOrderByOrderId_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getEbayOrderByOrderId_args");

    private static final org.apache.thrift.protocol.TField ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("orderId", org.apache.thrift.protocol.TType.I64, (short)1);

    private long orderId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ORDER_ID((short)1, "orderId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ORDER_ID
            return ORDER_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ORDERID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("orderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getEbayOrderByOrderId_args.class, metaDataMap);
    }

    public getEbayOrderByOrderId_args() {
    }

    public getEbayOrderByOrderId_args(
      long orderId)
    {
      this();
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getEbayOrderByOrderId_args(getEbayOrderByOrderId_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.orderId = other.orderId;
    }

    public getEbayOrderByOrderId_args deepCopy() {
      return new getEbayOrderByOrderId_args(this);
    }

    @Override
    public void clear() {
      setOrderIdIsSet(false);
      this.orderId = 0;
    }

    public long getOrderId() {
      return this.orderId;
    }

    public void setOrderId(long orderId) {
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    public void unsetOrderId() {
      __isset_bit_vector.clear(__ORDERID_ISSET_ID);
    }

    /** Returns true if field orderId is set (has been assigned a value) and false otherwise */
    public boolean isSetOrderId() {
      return __isset_bit_vector.get(__ORDERID_ISSET_ID);
    }

    public void setOrderIdIsSet(boolean value) {
      __isset_bit_vector.set(__ORDERID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ORDER_ID:
        if (value == null) {
          unsetOrderId();
        } else {
          setOrderId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ORDER_ID:
        return Long.valueOf(getOrderId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ORDER_ID:
        return isSetOrderId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getEbayOrderByOrderId_args)
        return this.equals((getEbayOrderByOrderId_args)that);
      return false;
    }

    public boolean equals(getEbayOrderByOrderId_args that) {
      if (that == null)
        return false;

      boolean this_present_orderId = true;
      boolean that_present_orderId = true;
      if (this_present_orderId || that_present_orderId) {
        if (!(this_present_orderId && that_present_orderId))
          return false;
        if (this.orderId != that.orderId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getEbayOrderByOrderId_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getEbayOrderByOrderId_args typedOther = (getEbayOrderByOrderId_args)other;

      lastComparison = Boolean.valueOf(isSetOrderId()).compareTo(typedOther.isSetOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.orderId, typedOther.orderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.orderId = iprot.readI64();
              setOrderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ORDER_ID_FIELD_DESC);
      oprot.writeI64(this.orderId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getEbayOrderByOrderId_args(");
      boolean first = true;

      sb.append("orderId:");
      sb.append(this.orderId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getEbayOrderByOrderId_result implements org.apache.thrift.TBase<getEbayOrderByOrderId_result, getEbayOrderByOrderId_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getEbayOrderByOrderId_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);

    private EbayOrder success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, EbayOrder.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getEbayOrderByOrderId_result.class, metaDataMap);
    }

    public getEbayOrderByOrderId_result() {
    }

    public getEbayOrderByOrderId_result(
      EbayOrder success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getEbayOrderByOrderId_result(getEbayOrderByOrderId_result other) {
      if (other.isSetSuccess()) {
        this.success = new EbayOrder(other.success);
      }
    }

    public getEbayOrderByOrderId_result deepCopy() {
      return new getEbayOrderByOrderId_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public EbayOrder getSuccess() {
      return this.success;
    }

    public void setSuccess(EbayOrder success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((EbayOrder)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getEbayOrderByOrderId_result)
        return this.equals((getEbayOrderByOrderId_result)that);
      return false;
    }

    public boolean equals(getEbayOrderByOrderId_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getEbayOrderByOrderId_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getEbayOrderByOrderId_result typedOther = (getEbayOrderByOrderId_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.success = new EbayOrder();
              this.success.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        this.success.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getEbayOrderByOrderId_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getEbayOrderBySalesRecNumber_args implements org.apache.thrift.TBase<getEbayOrderBySalesRecNumber_args, getEbayOrderBySalesRecNumber_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getEbayOrderBySalesRecNumber_args");

    private static final org.apache.thrift.protocol.TField SALES_RECORD_NUMBER_FIELD_DESC = new org.apache.thrift.protocol.TField("salesRecordNumber", org.apache.thrift.protocol.TType.I64, (short)1);

    private long salesRecordNumber; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SALES_RECORD_NUMBER((short)1, "salesRecordNumber");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // SALES_RECORD_NUMBER
            return SALES_RECORD_NUMBER;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SALESRECORDNUMBER_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SALES_RECORD_NUMBER, new org.apache.thrift.meta_data.FieldMetaData("salesRecordNumber", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getEbayOrderBySalesRecNumber_args.class, metaDataMap);
    }

    public getEbayOrderBySalesRecNumber_args() {
    }

    public getEbayOrderBySalesRecNumber_args(
      long salesRecordNumber)
    {
      this();
      this.salesRecordNumber = salesRecordNumber;
      setSalesRecordNumberIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getEbayOrderBySalesRecNumber_args(getEbayOrderBySalesRecNumber_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.salesRecordNumber = other.salesRecordNumber;
    }

    public getEbayOrderBySalesRecNumber_args deepCopy() {
      return new getEbayOrderBySalesRecNumber_args(this);
    }

    @Override
    public void clear() {
      setSalesRecordNumberIsSet(false);
      this.salesRecordNumber = 0;
    }

    public long getSalesRecordNumber() {
      return this.salesRecordNumber;
    }

    public void setSalesRecordNumber(long salesRecordNumber) {
      this.salesRecordNumber = salesRecordNumber;
      setSalesRecordNumberIsSet(true);
    }

    public void unsetSalesRecordNumber() {
      __isset_bit_vector.clear(__SALESRECORDNUMBER_ISSET_ID);
    }

    /** Returns true if field salesRecordNumber is set (has been assigned a value) and false otherwise */
    public boolean isSetSalesRecordNumber() {
      return __isset_bit_vector.get(__SALESRECORDNUMBER_ISSET_ID);
    }

    public void setSalesRecordNumberIsSet(boolean value) {
      __isset_bit_vector.set(__SALESRECORDNUMBER_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SALES_RECORD_NUMBER:
        if (value == null) {
          unsetSalesRecordNumber();
        } else {
          setSalesRecordNumber((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SALES_RECORD_NUMBER:
        return Long.valueOf(getSalesRecordNumber());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SALES_RECORD_NUMBER:
        return isSetSalesRecordNumber();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getEbayOrderBySalesRecNumber_args)
        return this.equals((getEbayOrderBySalesRecNumber_args)that);
      return false;
    }

    public boolean equals(getEbayOrderBySalesRecNumber_args that) {
      if (that == null)
        return false;

      boolean this_present_salesRecordNumber = true;
      boolean that_present_salesRecordNumber = true;
      if (this_present_salesRecordNumber || that_present_salesRecordNumber) {
        if (!(this_present_salesRecordNumber && that_present_salesRecordNumber))
          return false;
        if (this.salesRecordNumber != that.salesRecordNumber)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getEbayOrderBySalesRecNumber_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getEbayOrderBySalesRecNumber_args typedOther = (getEbayOrderBySalesRecNumber_args)other;

      lastComparison = Boolean.valueOf(isSetSalesRecordNumber()).compareTo(typedOther.isSetSalesRecordNumber());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSalesRecordNumber()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.salesRecordNumber, typedOther.salesRecordNumber);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // SALES_RECORD_NUMBER
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.salesRecordNumber = iprot.readI64();
              setSalesRecordNumberIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(SALES_RECORD_NUMBER_FIELD_DESC);
      oprot.writeI64(this.salesRecordNumber);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getEbayOrderBySalesRecNumber_args(");
      boolean first = true;

      sb.append("salesRecordNumber:");
      sb.append(this.salesRecordNumber);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getEbayOrderBySalesRecNumber_result implements org.apache.thrift.TBase<getEbayOrderBySalesRecNumber_result, getEbayOrderBySalesRecNumber_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getEbayOrderBySalesRecNumber_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);

    private EbayOrder success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, EbayOrder.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getEbayOrderBySalesRecNumber_result.class, metaDataMap);
    }

    public getEbayOrderBySalesRecNumber_result() {
    }

    public getEbayOrderBySalesRecNumber_result(
      EbayOrder success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getEbayOrderBySalesRecNumber_result(getEbayOrderBySalesRecNumber_result other) {
      if (other.isSetSuccess()) {
        this.success = new EbayOrder(other.success);
      }
    }

    public getEbayOrderBySalesRecNumber_result deepCopy() {
      return new getEbayOrderBySalesRecNumber_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public EbayOrder getSuccess() {
      return this.success;
    }

    public void setSuccess(EbayOrder success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((EbayOrder)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getEbayOrderBySalesRecNumber_result)
        return this.equals((getEbayOrderBySalesRecNumber_result)that);
      return false;
    }

    public boolean equals(getEbayOrderBySalesRecNumber_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getEbayOrderBySalesRecNumber_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getEbayOrderBySalesRecNumber_result typedOther = (getEbayOrderBySalesRecNumber_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.success = new EbayOrder();
              this.success.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        this.success.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getEbayOrderBySalesRecNumber_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getEbayOrder_args implements org.apache.thrift.TBase<getEbayOrder_args, getEbayOrder_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getEbayOrder_args");

    private static final org.apache.thrift.protocol.TField SALES_RECORD_NUMBER_FIELD_DESC = new org.apache.thrift.protocol.TField("salesRecordNumber", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField LISTING_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("listingId", org.apache.thrift.protocol.TType.STRING, (short)2);
    private static final org.apache.thrift.protocol.TField PAISAPAY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("paisapayId", org.apache.thrift.protocol.TType.STRING, (short)3);

    private long salesRecordNumber; // required
    private String listingId; // required
    private String paisapayId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SALES_RECORD_NUMBER((short)1, "salesRecordNumber"),
      LISTING_ID((short)2, "listingId"),
      PAISAPAY_ID((short)3, "paisapayId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // SALES_RECORD_NUMBER
            return SALES_RECORD_NUMBER;
          case 2: // LISTING_ID
            return LISTING_ID;
          case 3: // PAISAPAY_ID
            return PAISAPAY_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SALESRECORDNUMBER_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SALES_RECORD_NUMBER, new org.apache.thrift.meta_data.FieldMetaData("salesRecordNumber", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.LISTING_ID, new org.apache.thrift.meta_data.FieldMetaData("listingId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.PAISAPAY_ID, new org.apache.thrift.meta_data.FieldMetaData("paisapayId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getEbayOrder_args.class, metaDataMap);
    }

    public getEbayOrder_args() {
    }

    public getEbayOrder_args(
      long salesRecordNumber,
      String listingId,
      String paisapayId)
    {
      this();
      this.salesRecordNumber = salesRecordNumber;
      setSalesRecordNumberIsSet(true);
      this.listingId = listingId;
      this.paisapayId = paisapayId;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getEbayOrder_args(getEbayOrder_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.salesRecordNumber = other.salesRecordNumber;
      if (other.isSetListingId()) {
        this.listingId = other.listingId;
      }
      if (other.isSetPaisapayId()) {
        this.paisapayId = other.paisapayId;
      }
    }

    public getEbayOrder_args deepCopy() {
      return new getEbayOrder_args(this);
    }

    @Override
    public void clear() {
      setSalesRecordNumberIsSet(false);
      this.salesRecordNumber = 0;
      this.listingId = null;
      this.paisapayId = null;
    }

    public long getSalesRecordNumber() {
      return this.salesRecordNumber;
    }

    public void setSalesRecordNumber(long salesRecordNumber) {
      this.salesRecordNumber = salesRecordNumber;
      setSalesRecordNumberIsSet(true);
    }

    public void unsetSalesRecordNumber() {
      __isset_bit_vector.clear(__SALESRECORDNUMBER_ISSET_ID);
    }

    /** Returns true if field salesRecordNumber is set (has been assigned a value) and false otherwise */
    public boolean isSetSalesRecordNumber() {
      return __isset_bit_vector.get(__SALESRECORDNUMBER_ISSET_ID);
    }

    public void setSalesRecordNumberIsSet(boolean value) {
      __isset_bit_vector.set(__SALESRECORDNUMBER_ISSET_ID, value);
    }

    public String getListingId() {
      return this.listingId;
    }

    public void setListingId(String listingId) {
      this.listingId = listingId;
    }

    public void unsetListingId() {
      this.listingId = null;
    }

    /** Returns true if field listingId is set (has been assigned a value) and false otherwise */
    public boolean isSetListingId() {
      return this.listingId != null;
    }

    public void setListingIdIsSet(boolean value) {
      if (!value) {
        this.listingId = null;
      }
    }

    public String getPaisapayId() {
      return this.paisapayId;
    }

    public void setPaisapayId(String paisapayId) {
      this.paisapayId = paisapayId;
    }

    public void unsetPaisapayId() {
      this.paisapayId = null;
    }

    /** Returns true if field paisapayId is set (has been assigned a value) and false otherwise */
    public boolean isSetPaisapayId() {
      return this.paisapayId != null;
    }

    public void setPaisapayIdIsSet(boolean value) {
      if (!value) {
        this.paisapayId = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SALES_RECORD_NUMBER:
        if (value == null) {
          unsetSalesRecordNumber();
        } else {
          setSalesRecordNumber((Long)value);
        }
        break;

      case LISTING_ID:
        if (value == null) {
          unsetListingId();
        } else {
          setListingId((String)value);
        }
        break;

      case PAISAPAY_ID:
        if (value == null) {
          unsetPaisapayId();
        } else {
          setPaisapayId((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SALES_RECORD_NUMBER:
        return Long.valueOf(getSalesRecordNumber());

      case LISTING_ID:
        return getListingId();

      case PAISAPAY_ID:
        return getPaisapayId();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SALES_RECORD_NUMBER:
        return isSetSalesRecordNumber();
      case LISTING_ID:
        return isSetListingId();
      case PAISAPAY_ID:
        return isSetPaisapayId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getEbayOrder_args)
        return this.equals((getEbayOrder_args)that);
      return false;
    }

    public boolean equals(getEbayOrder_args that) {
      if (that == null)
        return false;

      boolean this_present_salesRecordNumber = true;
      boolean that_present_salesRecordNumber = true;
      if (this_present_salesRecordNumber || that_present_salesRecordNumber) {
        if (!(this_present_salesRecordNumber && that_present_salesRecordNumber))
          return false;
        if (this.salesRecordNumber != that.salesRecordNumber)
          return false;
      }

      boolean this_present_listingId = true && this.isSetListingId();
      boolean that_present_listingId = true && that.isSetListingId();
      if (this_present_listingId || that_present_listingId) {
        if (!(this_present_listingId && that_present_listingId))
          return false;
        if (!this.listingId.equals(that.listingId))
          return false;
      }

      boolean this_present_paisapayId = true && this.isSetPaisapayId();
      boolean that_present_paisapayId = true && that.isSetPaisapayId();
      if (this_present_paisapayId || that_present_paisapayId) {
        if (!(this_present_paisapayId && that_present_paisapayId))
          return false;
        if (!this.paisapayId.equals(that.paisapayId))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getEbayOrder_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getEbayOrder_args typedOther = (getEbayOrder_args)other;

      lastComparison = Boolean.valueOf(isSetSalesRecordNumber()).compareTo(typedOther.isSetSalesRecordNumber());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSalesRecordNumber()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.salesRecordNumber, typedOther.salesRecordNumber);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetListingId()).compareTo(typedOther.isSetListingId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetListingId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.listingId, typedOther.listingId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetPaisapayId()).compareTo(typedOther.isSetPaisapayId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetPaisapayId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.paisapayId, typedOther.paisapayId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // SALES_RECORD_NUMBER
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.salesRecordNumber = iprot.readI64();
              setSalesRecordNumberIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // LISTING_ID
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.listingId = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // PAISAPAY_ID
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.paisapayId = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(SALES_RECORD_NUMBER_FIELD_DESC);
      oprot.writeI64(this.salesRecordNumber);
      oprot.writeFieldEnd();
      if (this.listingId != null) {
        oprot.writeFieldBegin(LISTING_ID_FIELD_DESC);
        oprot.writeString(this.listingId);
        oprot.writeFieldEnd();
      }
      if (this.paisapayId != null) {
        oprot.writeFieldBegin(PAISAPAY_ID_FIELD_DESC);
        oprot.writeString(this.paisapayId);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getEbayOrder_args(");
      boolean first = true;

      sb.append("salesRecordNumber:");
      sb.append(this.salesRecordNumber);
      first = false;
      if (!first) sb.append(", ");
      sb.append("listingId:");
      if (this.listingId == null) {
        sb.append("null");
      } else {
        sb.append(this.listingId);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("paisapayId:");
      if (this.paisapayId == null) {
        sb.append("null");
      } else {
        sb.append(this.paisapayId);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getEbayOrder_result implements org.apache.thrift.TBase<getEbayOrder_result, getEbayOrder_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getEbayOrder_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);

    private List<EbayOrder> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, EbayOrder.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getEbayOrder_result.class, metaDataMap);
    }

    public getEbayOrder_result() {
    }

    public getEbayOrder_result(
      List<EbayOrder> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getEbayOrder_result(getEbayOrder_result other) {
      if (other.isSetSuccess()) {
        List<EbayOrder> __this__success = new ArrayList<EbayOrder>();
        for (EbayOrder other_element : other.success) {
          __this__success.add(new EbayOrder(other_element));
        }
        this.success = __this__success;
      }
    }

    public getEbayOrder_result deepCopy() {
      return new getEbayOrder_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<EbayOrder> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(EbayOrder elem) {
      if (this.success == null) {
        this.success = new ArrayList<EbayOrder>();
      }
      this.success.add(elem);
    }

    public List<EbayOrder> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<EbayOrder> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<EbayOrder>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getEbayOrder_result)
        return this.equals((getEbayOrder_result)that);
      return false;
    }

    public boolean equals(getEbayOrder_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getEbayOrder_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getEbayOrder_result typedOther = (getEbayOrder_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list532 = iprot.readListBegin();
                this.success = new ArrayList<EbayOrder>(_list532.size);
                for (int _i533 = 0; _i533 < _list532.size; ++_i533)
                {
                  EbayOrder _elem534; // required
                  _elem534 = new EbayOrder();
                  _elem534.read(iprot);
                  this.success.add(_elem534);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (EbayOrder _iter535 : this.success)
          {
            _iter535.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getEbayOrder_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class updateEbayOrder_args implements org.apache.thrift.TBase<updateEbayOrder_args, updateEbayOrder_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateEbayOrder_args");

    private static final org.apache.thrift.protocol.TField EBAY_ORDER_FIELD_DESC = new org.apache.thrift.protocol.TField("ebayOrder", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private EbayOrder ebayOrder; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      EBAY_ORDER((short)1, "ebayOrder");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // EBAY_ORDER
            return EBAY_ORDER;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.EBAY_ORDER, new org.apache.thrift.meta_data.FieldMetaData("ebayOrder", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, EbayOrder.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateEbayOrder_args.class, metaDataMap);
    }

    public updateEbayOrder_args() {
    }

    public updateEbayOrder_args(
      EbayOrder ebayOrder)
    {
      this();
      this.ebayOrder = ebayOrder;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public updateEbayOrder_args(updateEbayOrder_args other) {
      if (other.isSetEbayOrder()) {
        this.ebayOrder = new EbayOrder(other.ebayOrder);
      }
    }

    public updateEbayOrder_args deepCopy() {
      return new updateEbayOrder_args(this);
    }

    @Override
    public void clear() {
      this.ebayOrder = null;
    }

    public EbayOrder getEbayOrder() {
      return this.ebayOrder;
    }

    public void setEbayOrder(EbayOrder ebayOrder) {
      this.ebayOrder = ebayOrder;
    }

    public void unsetEbayOrder() {
      this.ebayOrder = null;
    }

    /** Returns true if field ebayOrder is set (has been assigned a value) and false otherwise */
    public boolean isSetEbayOrder() {
      return this.ebayOrder != null;
    }

    public void setEbayOrderIsSet(boolean value) {
      if (!value) {
        this.ebayOrder = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case EBAY_ORDER:
        if (value == null) {
          unsetEbayOrder();
        } else {
          setEbayOrder((EbayOrder)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case EBAY_ORDER:
        return getEbayOrder();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case EBAY_ORDER:
        return isSetEbayOrder();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof updateEbayOrder_args)
        return this.equals((updateEbayOrder_args)that);
      return false;
    }

    public boolean equals(updateEbayOrder_args that) {
      if (that == null)
        return false;

      boolean this_present_ebayOrder = true && this.isSetEbayOrder();
      boolean that_present_ebayOrder = true && that.isSetEbayOrder();
      if (this_present_ebayOrder || that_present_ebayOrder) {
        if (!(this_present_ebayOrder && that_present_ebayOrder))
          return false;
        if (!this.ebayOrder.equals(that.ebayOrder))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(updateEbayOrder_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      updateEbayOrder_args typedOther = (updateEbayOrder_args)other;

      lastComparison = Boolean.valueOf(isSetEbayOrder()).compareTo(typedOther.isSetEbayOrder());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEbayOrder()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ebayOrder, typedOther.ebayOrder);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // EBAY_ORDER
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ebayOrder = new EbayOrder();
              this.ebayOrder.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.ebayOrder != null) {
        oprot.writeFieldBegin(EBAY_ORDER_FIELD_DESC);
        this.ebayOrder.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("updateEbayOrder_args(");
      boolean first = true;

      sb.append("ebayOrder:");
      if (this.ebayOrder == null) {
        sb.append("null");
      } else {
        sb.append(this.ebayOrder);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class updateEbayOrder_result implements org.apache.thrift.TBase<updateEbayOrder_result, updateEbayOrder_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateEbayOrder_result");



    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
;

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateEbayOrder_result.class, metaDataMap);
    }

    public updateEbayOrder_result() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public updateEbayOrder_result(updateEbayOrder_result other) {
    }

    public updateEbayOrder_result deepCopy() {
      return new updateEbayOrder_result(this);
    }

    @Override
    public void clear() {
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof updateEbayOrder_result)
        return this.equals((updateEbayOrder_result)that);
      return false;
    }

    public boolean equals(updateEbayOrder_result that) {
      if (that == null)
        return false;

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(updateEbayOrder_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      updateEbayOrder_result typedOther = (updateEbayOrder_result)other;

      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("updateEbayOrder_result(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class ebayOrderExists_args implements org.apache.thrift.TBase<ebayOrderExists_args, ebayOrderExists_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ebayOrderExists_args");

    private static final org.apache.thrift.protocol.TField SALES_REC_NUMBER_FIELD_DESC = new org.apache.thrift.protocol.TField("salesRecNumber", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField EBAY_LISTING_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("ebayListingId", org.apache.thrift.protocol.TType.STRING, (short)2);

    private long salesRecNumber; // required
    private String ebayListingId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SALES_REC_NUMBER((short)1, "salesRecNumber"),
      EBAY_LISTING_ID((short)2, "ebayListingId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // SALES_REC_NUMBER
            return SALES_REC_NUMBER;
          case 2: // EBAY_LISTING_ID
            return EBAY_LISTING_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SALESRECNUMBER_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SALES_REC_NUMBER, new org.apache.thrift.meta_data.FieldMetaData("salesRecNumber", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.EBAY_LISTING_ID, new org.apache.thrift.meta_data.FieldMetaData("ebayListingId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(ebayOrderExists_args.class, metaDataMap);
    }

    public ebayOrderExists_args() {
    }

    public ebayOrderExists_args(
      long salesRecNumber,
      String ebayListingId)
    {
      this();
      this.salesRecNumber = salesRecNumber;
      setSalesRecNumberIsSet(true);
      this.ebayListingId = ebayListingId;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public ebayOrderExists_args(ebayOrderExists_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.salesRecNumber = other.salesRecNumber;
      if (other.isSetEbayListingId()) {
        this.ebayListingId = other.ebayListingId;
      }
    }

    public ebayOrderExists_args deepCopy() {
      return new ebayOrderExists_args(this);
    }

    @Override
    public void clear() {
      setSalesRecNumberIsSet(false);
      this.salesRecNumber = 0;
      this.ebayListingId = null;
    }

    public long getSalesRecNumber() {
      return this.salesRecNumber;
    }

    public void setSalesRecNumber(long salesRecNumber) {
      this.salesRecNumber = salesRecNumber;
      setSalesRecNumberIsSet(true);
    }

    public void unsetSalesRecNumber() {
      __isset_bit_vector.clear(__SALESRECNUMBER_ISSET_ID);
    }

    /** Returns true if field salesRecNumber is set (has been assigned a value) and false otherwise */
    public boolean isSetSalesRecNumber() {
      return __isset_bit_vector.get(__SALESRECNUMBER_ISSET_ID);
    }

    public void setSalesRecNumberIsSet(boolean value) {
      __isset_bit_vector.set(__SALESRECNUMBER_ISSET_ID, value);
    }

    public String getEbayListingId() {
      return this.ebayListingId;
    }

    public void setEbayListingId(String ebayListingId) {
      this.ebayListingId = ebayListingId;
    }

    public void unsetEbayListingId() {
      this.ebayListingId = null;
    }

    /** Returns true if field ebayListingId is set (has been assigned a value) and false otherwise */
    public boolean isSetEbayListingId() {
      return this.ebayListingId != null;
    }

    public void setEbayListingIdIsSet(boolean value) {
      if (!value) {
        this.ebayListingId = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SALES_REC_NUMBER:
        if (value == null) {
          unsetSalesRecNumber();
        } else {
          setSalesRecNumber((Long)value);
        }
        break;

      case EBAY_LISTING_ID:
        if (value == null) {
          unsetEbayListingId();
        } else {
          setEbayListingId((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SALES_REC_NUMBER:
        return Long.valueOf(getSalesRecNumber());

      case EBAY_LISTING_ID:
        return getEbayListingId();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SALES_REC_NUMBER:
        return isSetSalesRecNumber();
      case EBAY_LISTING_ID:
        return isSetEbayListingId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof ebayOrderExists_args)
        return this.equals((ebayOrderExists_args)that);
      return false;
    }

    public boolean equals(ebayOrderExists_args that) {
      if (that == null)
        return false;

      boolean this_present_salesRecNumber = true;
      boolean that_present_salesRecNumber = true;
      if (this_present_salesRecNumber || that_present_salesRecNumber) {
        if (!(this_present_salesRecNumber && that_present_salesRecNumber))
          return false;
        if (this.salesRecNumber != that.salesRecNumber)
          return false;
      }

      boolean this_present_ebayListingId = true && this.isSetEbayListingId();
      boolean that_present_ebayListingId = true && that.isSetEbayListingId();
      if (this_present_ebayListingId || that_present_ebayListingId) {
        if (!(this_present_ebayListingId && that_present_ebayListingId))
          return false;
        if (!this.ebayListingId.equals(that.ebayListingId))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(ebayOrderExists_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      ebayOrderExists_args typedOther = (ebayOrderExists_args)other;

      lastComparison = Boolean.valueOf(isSetSalesRecNumber()).compareTo(typedOther.isSetSalesRecNumber());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSalesRecNumber()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.salesRecNumber, typedOther.salesRecNumber);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEbayListingId()).compareTo(typedOther.isSetEbayListingId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEbayListingId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ebayListingId, typedOther.ebayListingId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // SALES_REC_NUMBER
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.salesRecNumber = iprot.readI64();
              setSalesRecNumberIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // EBAY_LISTING_ID
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.ebayListingId = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(SALES_REC_NUMBER_FIELD_DESC);
      oprot.writeI64(this.salesRecNumber);
      oprot.writeFieldEnd();
      if (this.ebayListingId != null) {
        oprot.writeFieldBegin(EBAY_LISTING_ID_FIELD_DESC);
        oprot.writeString(this.ebayListingId);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("ebayOrderExists_args(");
      boolean first = true;

      sb.append("salesRecNumber:");
      sb.append(this.salesRecNumber);
      first = false;
      if (!first) sb.append(", ");
      sb.append("ebayListingId:");
      if (this.ebayListingId == null) {
        sb.append("null");
      } else {
        sb.append(this.ebayListingId);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class ebayOrderExists_result implements org.apache.thrift.TBase<ebayOrderExists_result, ebayOrderExists_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ebayOrderExists_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);

    private boolean success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(ebayOrderExists_result.class, metaDataMap);
    }

    public ebayOrderExists_result() {
    }

    public ebayOrderExists_result(
      boolean success)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public ebayOrderExists_result(ebayOrderExists_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
    }

    public ebayOrderExists_result deepCopy() {
      return new ebayOrderExists_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = false;
    }

    public boolean isSuccess() {
      return this.success;
    }

    public void setSuccess(boolean success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Boolean.valueOf(isSuccess());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof ebayOrderExists_result)
        return this.equals((ebayOrderExists_result)that);
      return false;
    }

    public boolean equals(ebayOrderExists_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(ebayOrderExists_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      ebayOrderExists_result typedOther = (ebayOrderExists_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.success = iprot.readBool();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBool(this.success);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("ebayOrderExists_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class updateOrderForEbay_args implements org.apache.thrift.TBase<updateOrderForEbay_args, updateOrderForEbay_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateOrderForEbay_args");

    private static final org.apache.thrift.protocol.TField ORDER_FIELD_DESC = new org.apache.thrift.protocol.TField("order", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private Order order; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ORDER((short)1, "order");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ORDER
            return ORDER;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ORDER, new org.apache.thrift.meta_data.FieldMetaData("order", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Order.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateOrderForEbay_args.class, metaDataMap);
    }

    public updateOrderForEbay_args() {
    }

    public updateOrderForEbay_args(
      Order order)
    {
      this();
      this.order = order;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public updateOrderForEbay_args(updateOrderForEbay_args other) {
      if (other.isSetOrder()) {
        this.order = new Order(other.order);
      }
    }

    public updateOrderForEbay_args deepCopy() {
      return new updateOrderForEbay_args(this);
    }

    @Override
    public void clear() {
      this.order = null;
    }

    public Order getOrder() {
      return this.order;
    }

    public void setOrder(Order order) {
      this.order = order;
    }

    public void unsetOrder() {
      this.order = null;
    }

    /** Returns true if field order is set (has been assigned a value) and false otherwise */
    public boolean isSetOrder() {
      return this.order != null;
    }

    public void setOrderIsSet(boolean value) {
      if (!value) {
        this.order = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ORDER:
        if (value == null) {
          unsetOrder();
        } else {
          setOrder((Order)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ORDER:
        return getOrder();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ORDER:
        return isSetOrder();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof updateOrderForEbay_args)
        return this.equals((updateOrderForEbay_args)that);
      return false;
    }

    public boolean equals(updateOrderForEbay_args that) {
      if (that == null)
        return false;

      boolean this_present_order = true && this.isSetOrder();
      boolean that_present_order = true && that.isSetOrder();
      if (this_present_order || that_present_order) {
        if (!(this_present_order && that_present_order))
          return false;
        if (!this.order.equals(that.order))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(updateOrderForEbay_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      updateOrderForEbay_args typedOther = (updateOrderForEbay_args)other;

      lastComparison = Boolean.valueOf(isSetOrder()).compareTo(typedOther.isSetOrder());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrder()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.order, typedOther.order);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ORDER
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.order = new Order();
              this.order.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.order != null) {
        oprot.writeFieldBegin(ORDER_FIELD_DESC);
        this.order.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("updateOrderForEbay_args(");
      boolean first = true;

      sb.append("order:");
      if (this.order == null) {
        sb.append("null");
      } else {
        sb.append(this.order);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class updateOrderForEbay_result implements org.apache.thrift.TBase<updateOrderForEbay_result, updateOrderForEbay_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateOrderForEbay_result");



    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
;

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateOrderForEbay_result.class, metaDataMap);
    }

    public updateOrderForEbay_result() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public updateOrderForEbay_result(updateOrderForEbay_result other) {
    }

    public updateOrderForEbay_result deepCopy() {
      return new updateOrderForEbay_result(this);
    }

    @Override
    public void clear() {
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof updateOrderForEbay_result)
        return this.equals((updateOrderForEbay_result)that);
      return false;
    }

    public boolean equals(updateOrderForEbay_result that) {
      if (that == null)
        return false;

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(updateOrderForEbay_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      updateOrderForEbay_result typedOther = (updateOrderForEbay_result)other;

      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("updateOrderForEbay_result(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class splitEbayOrder_args implements org.apache.thrift.TBase<splitEbayOrder_args, splitEbayOrder_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("splitEbayOrder_args");

    private static final org.apache.thrift.protocol.TField ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("orderId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField SPLIT_ORDER_QTY_FIELD_DESC = new org.apache.thrift.protocol.TField("splitOrderQty", org.apache.thrift.protocol.TType.I64, (short)2);
    private static final org.apache.thrift.protocol.TField SPLIT_ORDER_ITEM_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("splitOrderItemId", org.apache.thrift.protocol.TType.I64, (short)3);
    private static final org.apache.thrift.protocol.TField USE_POWER_SHIP_FIELD_DESC = new org.apache.thrift.protocol.TField("usePowerShip", org.apache.thrift.protocol.TType.BOOL, (short)4);

    private long orderId; // required
    private long splitOrderQty; // required
    private long splitOrderItemId; // required
    private boolean usePowerShip; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ORDER_ID((short)1, "orderId"),
      SPLIT_ORDER_QTY((short)2, "splitOrderQty"),
      SPLIT_ORDER_ITEM_ID((short)3, "splitOrderItemId"),
      USE_POWER_SHIP((short)4, "usePowerShip");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ORDER_ID
            return ORDER_ID;
          case 2: // SPLIT_ORDER_QTY
            return SPLIT_ORDER_QTY;
          case 3: // SPLIT_ORDER_ITEM_ID
            return SPLIT_ORDER_ITEM_ID;
          case 4: // USE_POWER_SHIP
            return USE_POWER_SHIP;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ORDERID_ISSET_ID = 0;
    private static final int __SPLITORDERQTY_ISSET_ID = 1;
    private static final int __SPLITORDERITEMID_ISSET_ID = 2;
    private static final int __USEPOWERSHIP_ISSET_ID = 3;
    private BitSet __isset_bit_vector = new BitSet(4);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("orderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.SPLIT_ORDER_QTY, new org.apache.thrift.meta_data.FieldMetaData("splitOrderQty", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.SPLIT_ORDER_ITEM_ID, new org.apache.thrift.meta_data.FieldMetaData("splitOrderItemId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.USE_POWER_SHIP, new org.apache.thrift.meta_data.FieldMetaData("usePowerShip", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(splitEbayOrder_args.class, metaDataMap);
    }

    public splitEbayOrder_args() {
    }

    public splitEbayOrder_args(
      long orderId,
      long splitOrderQty,
      long splitOrderItemId,
      boolean usePowerShip)
    {
      this();
      this.orderId = orderId;
      setOrderIdIsSet(true);
      this.splitOrderQty = splitOrderQty;
      setSplitOrderQtyIsSet(true);
      this.splitOrderItemId = splitOrderItemId;
      setSplitOrderItemIdIsSet(true);
      this.usePowerShip = usePowerShip;
      setUsePowerShipIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public splitEbayOrder_args(splitEbayOrder_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.orderId = other.orderId;
      this.splitOrderQty = other.splitOrderQty;
      this.splitOrderItemId = other.splitOrderItemId;
      this.usePowerShip = other.usePowerShip;
    }

    public splitEbayOrder_args deepCopy() {
      return new splitEbayOrder_args(this);
    }

    @Override
    public void clear() {
      setOrderIdIsSet(false);
      this.orderId = 0;
      setSplitOrderQtyIsSet(false);
      this.splitOrderQty = 0;
      setSplitOrderItemIdIsSet(false);
      this.splitOrderItemId = 0;
      setUsePowerShipIsSet(false);
      this.usePowerShip = false;
    }

    public long getOrderId() {
      return this.orderId;
    }

    public void setOrderId(long orderId) {
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    public void unsetOrderId() {
      __isset_bit_vector.clear(__ORDERID_ISSET_ID);
    }

    /** Returns true if field orderId is set (has been assigned a value) and false otherwise */
    public boolean isSetOrderId() {
      return __isset_bit_vector.get(__ORDERID_ISSET_ID);
    }

    public void setOrderIdIsSet(boolean value) {
      __isset_bit_vector.set(__ORDERID_ISSET_ID, value);
    }

    public long getSplitOrderQty() {
      return this.splitOrderQty;
    }

    public void setSplitOrderQty(long splitOrderQty) {
      this.splitOrderQty = splitOrderQty;
      setSplitOrderQtyIsSet(true);
    }

    public void unsetSplitOrderQty() {
      __isset_bit_vector.clear(__SPLITORDERQTY_ISSET_ID);
    }

    /** Returns true if field splitOrderQty is set (has been assigned a value) and false otherwise */
    public boolean isSetSplitOrderQty() {
      return __isset_bit_vector.get(__SPLITORDERQTY_ISSET_ID);
    }

    public void setSplitOrderQtyIsSet(boolean value) {
      __isset_bit_vector.set(__SPLITORDERQTY_ISSET_ID, value);
    }

    public long getSplitOrderItemId() {
      return this.splitOrderItemId;
    }

    public void setSplitOrderItemId(long splitOrderItemId) {
      this.splitOrderItemId = splitOrderItemId;
      setSplitOrderItemIdIsSet(true);
    }

    public void unsetSplitOrderItemId() {
      __isset_bit_vector.clear(__SPLITORDERITEMID_ISSET_ID);
    }

    /** Returns true if field splitOrderItemId is set (has been assigned a value) and false otherwise */
    public boolean isSetSplitOrderItemId() {
      return __isset_bit_vector.get(__SPLITORDERITEMID_ISSET_ID);
    }

    public void setSplitOrderItemIdIsSet(boolean value) {
      __isset_bit_vector.set(__SPLITORDERITEMID_ISSET_ID, value);
    }

    public boolean isUsePowerShip() {
      return this.usePowerShip;
    }

    public void setUsePowerShip(boolean usePowerShip) {
      this.usePowerShip = usePowerShip;
      setUsePowerShipIsSet(true);
    }

    public void unsetUsePowerShip() {
      __isset_bit_vector.clear(__USEPOWERSHIP_ISSET_ID);
    }

    /** Returns true if field usePowerShip is set (has been assigned a value) and false otherwise */
    public boolean isSetUsePowerShip() {
      return __isset_bit_vector.get(__USEPOWERSHIP_ISSET_ID);
    }

    public void setUsePowerShipIsSet(boolean value) {
      __isset_bit_vector.set(__USEPOWERSHIP_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ORDER_ID:
        if (value == null) {
          unsetOrderId();
        } else {
          setOrderId((Long)value);
        }
        break;

      case SPLIT_ORDER_QTY:
        if (value == null) {
          unsetSplitOrderQty();
        } else {
          setSplitOrderQty((Long)value);
        }
        break;

      case SPLIT_ORDER_ITEM_ID:
        if (value == null) {
          unsetSplitOrderItemId();
        } else {
          setSplitOrderItemId((Long)value);
        }
        break;

      case USE_POWER_SHIP:
        if (value == null) {
          unsetUsePowerShip();
        } else {
          setUsePowerShip((Boolean)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ORDER_ID:
        return Long.valueOf(getOrderId());

      case SPLIT_ORDER_QTY:
        return Long.valueOf(getSplitOrderQty());

      case SPLIT_ORDER_ITEM_ID:
        return Long.valueOf(getSplitOrderItemId());

      case USE_POWER_SHIP:
        return Boolean.valueOf(isUsePowerShip());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ORDER_ID:
        return isSetOrderId();
      case SPLIT_ORDER_QTY:
        return isSetSplitOrderQty();
      case SPLIT_ORDER_ITEM_ID:
        return isSetSplitOrderItemId();
      case USE_POWER_SHIP:
        return isSetUsePowerShip();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof splitEbayOrder_args)
        return this.equals((splitEbayOrder_args)that);
      return false;
    }

    public boolean equals(splitEbayOrder_args that) {
      if (that == null)
        return false;

      boolean this_present_orderId = true;
      boolean that_present_orderId = true;
      if (this_present_orderId || that_present_orderId) {
        if (!(this_present_orderId && that_present_orderId))
          return false;
        if (this.orderId != that.orderId)
          return false;
      }

      boolean this_present_splitOrderQty = true;
      boolean that_present_splitOrderQty = true;
      if (this_present_splitOrderQty || that_present_splitOrderQty) {
        if (!(this_present_splitOrderQty && that_present_splitOrderQty))
          return false;
        if (this.splitOrderQty != that.splitOrderQty)
          return false;
      }

      boolean this_present_splitOrderItemId = true;
      boolean that_present_splitOrderItemId = true;
      if (this_present_splitOrderItemId || that_present_splitOrderItemId) {
        if (!(this_present_splitOrderItemId && that_present_splitOrderItemId))
          return false;
        if (this.splitOrderItemId != that.splitOrderItemId)
          return false;
      }

      boolean this_present_usePowerShip = true;
      boolean that_present_usePowerShip = true;
      if (this_present_usePowerShip || that_present_usePowerShip) {
        if (!(this_present_usePowerShip && that_present_usePowerShip))
          return false;
        if (this.usePowerShip != that.usePowerShip)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(splitEbayOrder_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      splitEbayOrder_args typedOther = (splitEbayOrder_args)other;

      lastComparison = Boolean.valueOf(isSetOrderId()).compareTo(typedOther.isSetOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.orderId, typedOther.orderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetSplitOrderQty()).compareTo(typedOther.isSetSplitOrderQty());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSplitOrderQty()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.splitOrderQty, typedOther.splitOrderQty);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetSplitOrderItemId()).compareTo(typedOther.isSetSplitOrderItemId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSplitOrderItemId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.splitOrderItemId, typedOther.splitOrderItemId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetUsePowerShip()).compareTo(typedOther.isSetUsePowerShip());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetUsePowerShip()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.usePowerShip, typedOther.usePowerShip);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.orderId = iprot.readI64();
              setOrderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // SPLIT_ORDER_QTY
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.splitOrderQty = iprot.readI64();
              setSplitOrderQtyIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // SPLIT_ORDER_ITEM_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.splitOrderItemId = iprot.readI64();
              setSplitOrderItemIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 4: // USE_POWER_SHIP
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.usePowerShip = iprot.readBool();
              setUsePowerShipIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ORDER_ID_FIELD_DESC);
      oprot.writeI64(this.orderId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(SPLIT_ORDER_QTY_FIELD_DESC);
      oprot.writeI64(this.splitOrderQty);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(SPLIT_ORDER_ITEM_ID_FIELD_DESC);
      oprot.writeI64(this.splitOrderItemId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(USE_POWER_SHIP_FIELD_DESC);
      oprot.writeBool(this.usePowerShip);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("splitEbayOrder_args(");
      boolean first = true;

      sb.append("orderId:");
      sb.append(this.orderId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("splitOrderQty:");
      sb.append(this.splitOrderQty);
      first = false;
      if (!first) sb.append(", ");
      sb.append("splitOrderItemId:");
      sb.append(this.splitOrderItemId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("usePowerShip:");
      sb.append(this.usePowerShip);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class splitEbayOrder_result implements org.apache.thrift.TBase<splitEbayOrder_result, splitEbayOrder_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("splitEbayOrder_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);

    private Order success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Order.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(splitEbayOrder_result.class, metaDataMap);
    }

    public splitEbayOrder_result() {
    }

    public splitEbayOrder_result(
      Order success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public splitEbayOrder_result(splitEbayOrder_result other) {
      if (other.isSetSuccess()) {
        this.success = new Order(other.success);
      }
    }

    public splitEbayOrder_result deepCopy() {
      return new splitEbayOrder_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public Order getSuccess() {
      return this.success;
    }

    public void setSuccess(Order success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Order)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof splitEbayOrder_result)
        return this.equals((splitEbayOrder_result)that);
      return false;
    }

    public boolean equals(splitEbayOrder_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(splitEbayOrder_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      splitEbayOrder_result typedOther = (splitEbayOrder_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.success = new Order();
              this.success.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        this.success.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("splitEbayOrder_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class addOrUpdateAmazonFbaSalesSnapshot_args implements org.apache.thrift.TBase<addOrUpdateAmazonFbaSalesSnapshot_args, addOrUpdateAmazonFbaSalesSnapshot_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addOrUpdateAmazonFbaSalesSnapshot_args");

    private static final org.apache.thrift.protocol.TField AMAZONFBASALESSNAPSHOT_FIELD_DESC = new org.apache.thrift.protocol.TField("amazonfbasalessnapshot", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private AmazonFbaSalesSnapshot amazonfbasalessnapshot; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      AMAZONFBASALESSNAPSHOT((short)1, "amazonfbasalessnapshot");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // AMAZONFBASALESSNAPSHOT
            return AMAZONFBASALESSNAPSHOT;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.AMAZONFBASALESSNAPSHOT, new org.apache.thrift.meta_data.FieldMetaData("amazonfbasalessnapshot", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, AmazonFbaSalesSnapshot.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(addOrUpdateAmazonFbaSalesSnapshot_args.class, metaDataMap);
    }

    public addOrUpdateAmazonFbaSalesSnapshot_args() {
    }

    public addOrUpdateAmazonFbaSalesSnapshot_args(
      AmazonFbaSalesSnapshot amazonfbasalessnapshot)
    {
      this();
      this.amazonfbasalessnapshot = amazonfbasalessnapshot;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public addOrUpdateAmazonFbaSalesSnapshot_args(addOrUpdateAmazonFbaSalesSnapshot_args other) {
      if (other.isSetAmazonfbasalessnapshot()) {
        this.amazonfbasalessnapshot = new AmazonFbaSalesSnapshot(other.amazonfbasalessnapshot);
      }
    }

    public addOrUpdateAmazonFbaSalesSnapshot_args deepCopy() {
      return new addOrUpdateAmazonFbaSalesSnapshot_args(this);
    }

    @Override
    public void clear() {
      this.amazonfbasalessnapshot = null;
    }

    public AmazonFbaSalesSnapshot getAmazonfbasalessnapshot() {
      return this.amazonfbasalessnapshot;
    }

    public void setAmazonfbasalessnapshot(AmazonFbaSalesSnapshot amazonfbasalessnapshot) {
      this.amazonfbasalessnapshot = amazonfbasalessnapshot;
    }

    public void unsetAmazonfbasalessnapshot() {
      this.amazonfbasalessnapshot = null;
    }

    /** Returns true if field amazonfbasalessnapshot is set (has been assigned a value) and false otherwise */
    public boolean isSetAmazonfbasalessnapshot() {
      return this.amazonfbasalessnapshot != null;
    }

    public void setAmazonfbasalessnapshotIsSet(boolean value) {
      if (!value) {
        this.amazonfbasalessnapshot = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case AMAZONFBASALESSNAPSHOT:
        if (value == null) {
          unsetAmazonfbasalessnapshot();
        } else {
          setAmazonfbasalessnapshot((AmazonFbaSalesSnapshot)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case AMAZONFBASALESSNAPSHOT:
        return getAmazonfbasalessnapshot();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case AMAZONFBASALESSNAPSHOT:
        return isSetAmazonfbasalessnapshot();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof addOrUpdateAmazonFbaSalesSnapshot_args)
        return this.equals((addOrUpdateAmazonFbaSalesSnapshot_args)that);
      return false;
    }

    public boolean equals(addOrUpdateAmazonFbaSalesSnapshot_args that) {
      if (that == null)
        return false;

      boolean this_present_amazonfbasalessnapshot = true && this.isSetAmazonfbasalessnapshot();
      boolean that_present_amazonfbasalessnapshot = true && that.isSetAmazonfbasalessnapshot();
      if (this_present_amazonfbasalessnapshot || that_present_amazonfbasalessnapshot) {
        if (!(this_present_amazonfbasalessnapshot && that_present_amazonfbasalessnapshot))
          return false;
        if (!this.amazonfbasalessnapshot.equals(that.amazonfbasalessnapshot))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(addOrUpdateAmazonFbaSalesSnapshot_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      addOrUpdateAmazonFbaSalesSnapshot_args typedOther = (addOrUpdateAmazonFbaSalesSnapshot_args)other;

      lastComparison = Boolean.valueOf(isSetAmazonfbasalessnapshot()).compareTo(typedOther.isSetAmazonfbasalessnapshot());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetAmazonfbasalessnapshot()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.amazonfbasalessnapshot, typedOther.amazonfbasalessnapshot);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // AMAZONFBASALESSNAPSHOT
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.amazonfbasalessnapshot = new AmazonFbaSalesSnapshot();
              this.amazonfbasalessnapshot.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.amazonfbasalessnapshot != null) {
        oprot.writeFieldBegin(AMAZONFBASALESSNAPSHOT_FIELD_DESC);
        this.amazonfbasalessnapshot.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("addOrUpdateAmazonFbaSalesSnapshot_args(");
      boolean first = true;

      sb.append("amazonfbasalessnapshot:");
      if (this.amazonfbasalessnapshot == null) {
        sb.append("null");
      } else {
        sb.append(this.amazonfbasalessnapshot);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class addOrUpdateAmazonFbaSalesSnapshot_result implements org.apache.thrift.TBase<addOrUpdateAmazonFbaSalesSnapshot_result, addOrUpdateAmazonFbaSalesSnapshot_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addOrUpdateAmazonFbaSalesSnapshot_result");



    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
;

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(addOrUpdateAmazonFbaSalesSnapshot_result.class, metaDataMap);
    }

    public addOrUpdateAmazonFbaSalesSnapshot_result() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public addOrUpdateAmazonFbaSalesSnapshot_result(addOrUpdateAmazonFbaSalesSnapshot_result other) {
    }

    public addOrUpdateAmazonFbaSalesSnapshot_result deepCopy() {
      return new addOrUpdateAmazonFbaSalesSnapshot_result(this);
    }

    @Override
    public void clear() {
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof addOrUpdateAmazonFbaSalesSnapshot_result)
        return this.equals((addOrUpdateAmazonFbaSalesSnapshot_result)that);
      return false;
    }

    public boolean equals(addOrUpdateAmazonFbaSalesSnapshot_result that) {
      if (that == null)
        return false;

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(addOrUpdateAmazonFbaSalesSnapshot_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      addOrUpdateAmazonFbaSalesSnapshot_result typedOther = (addOrUpdateAmazonFbaSalesSnapshot_result)other;

      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("addOrUpdateAmazonFbaSalesSnapshot_result(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getAmazonFbaSalesSnapshotForDays_args implements org.apache.thrift.TBase<getAmazonFbaSalesSnapshotForDays_args, getAmazonFbaSalesSnapshotForDays_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAmazonFbaSalesSnapshotForDays_args");

    private static final org.apache.thrift.protocol.TField DAYS_FIELD_DESC = new org.apache.thrift.protocol.TField("days", org.apache.thrift.protocol.TType.I32, (short)1);

    private int days; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      DAYS((short)1, "days");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // DAYS
            return DAYS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __DAYS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.DAYS, new org.apache.thrift.meta_data.FieldMetaData("days", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAmazonFbaSalesSnapshotForDays_args.class, metaDataMap);
    }

    public getAmazonFbaSalesSnapshotForDays_args() {
    }

    public getAmazonFbaSalesSnapshotForDays_args(
      int days)
    {
      this();
      this.days = days;
      setDaysIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getAmazonFbaSalesSnapshotForDays_args(getAmazonFbaSalesSnapshotForDays_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.days = other.days;
    }

    public getAmazonFbaSalesSnapshotForDays_args deepCopy() {
      return new getAmazonFbaSalesSnapshotForDays_args(this);
    }

    @Override
    public void clear() {
      setDaysIsSet(false);
      this.days = 0;
    }

    public int getDays() {
      return this.days;
    }

    public void setDays(int days) {
      this.days = days;
      setDaysIsSet(true);
    }

    public void unsetDays() {
      __isset_bit_vector.clear(__DAYS_ISSET_ID);
    }

    /** Returns true if field days is set (has been assigned a value) and false otherwise */
    public boolean isSetDays() {
      return __isset_bit_vector.get(__DAYS_ISSET_ID);
    }

    public void setDaysIsSet(boolean value) {
      __isset_bit_vector.set(__DAYS_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case DAYS:
        if (value == null) {
          unsetDays();
        } else {
          setDays((Integer)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case DAYS:
        return Integer.valueOf(getDays());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case DAYS:
        return isSetDays();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getAmazonFbaSalesSnapshotForDays_args)
        return this.equals((getAmazonFbaSalesSnapshotForDays_args)that);
      return false;
    }

    public boolean equals(getAmazonFbaSalesSnapshotForDays_args that) {
      if (that == null)
        return false;

      boolean this_present_days = true;
      boolean that_present_days = true;
      if (this_present_days || that_present_days) {
        if (!(this_present_days && that_present_days))
          return false;
        if (this.days != that.days)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getAmazonFbaSalesSnapshotForDays_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getAmazonFbaSalesSnapshotForDays_args typedOther = (getAmazonFbaSalesSnapshotForDays_args)other;

      lastComparison = Boolean.valueOf(isSetDays()).compareTo(typedOther.isSetDays());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetDays()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.days, typedOther.days);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // DAYS
            if (field.type == org.apache.thrift.protocol.TType.I32) {
              this.days = iprot.readI32();
              setDaysIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(DAYS_FIELD_DESC);
      oprot.writeI32(this.days);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getAmazonFbaSalesSnapshotForDays_args(");
      boolean first = true;

      sb.append("days:");
      sb.append(this.days);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getAmazonFbaSalesSnapshotForDays_result implements org.apache.thrift.TBase<getAmazonFbaSalesSnapshotForDays_result, getAmazonFbaSalesSnapshotForDays_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAmazonFbaSalesSnapshotForDays_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);

    private List<AmazonFbaSalesSnapshot> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, AmazonFbaSalesSnapshot.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAmazonFbaSalesSnapshotForDays_result.class, metaDataMap);
    }

    public getAmazonFbaSalesSnapshotForDays_result() {
    }

    public getAmazonFbaSalesSnapshotForDays_result(
      List<AmazonFbaSalesSnapshot> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getAmazonFbaSalesSnapshotForDays_result(getAmazonFbaSalesSnapshotForDays_result other) {
      if (other.isSetSuccess()) {
        List<AmazonFbaSalesSnapshot> __this__success = new ArrayList<AmazonFbaSalesSnapshot>();
        for (AmazonFbaSalesSnapshot other_element : other.success) {
          __this__success.add(new AmazonFbaSalesSnapshot(other_element));
        }
        this.success = __this__success;
      }
    }

    public getAmazonFbaSalesSnapshotForDays_result deepCopy() {
      return new getAmazonFbaSalesSnapshotForDays_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<AmazonFbaSalesSnapshot> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(AmazonFbaSalesSnapshot elem) {
      if (this.success == null) {
        this.success = new ArrayList<AmazonFbaSalesSnapshot>();
      }
      this.success.add(elem);
    }

    public List<AmazonFbaSalesSnapshot> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<AmazonFbaSalesSnapshot> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<AmazonFbaSalesSnapshot>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getAmazonFbaSalesSnapshotForDays_result)
        return this.equals((getAmazonFbaSalesSnapshotForDays_result)that);
      return false;
    }

    public boolean equals(getAmazonFbaSalesSnapshotForDays_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getAmazonFbaSalesSnapshotForDays_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getAmazonFbaSalesSnapshotForDays_result typedOther = (getAmazonFbaSalesSnapshotForDays_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list536 = iprot.readListBegin();
                this.success = new ArrayList<AmazonFbaSalesSnapshot>(_list536.size);
                for (int _i537 = 0; _i537 < _list536.size; ++_i537)
                {
                  AmazonFbaSalesSnapshot _elem538; // required
                  _elem538 = new AmazonFbaSalesSnapshot();
                  _elem538.read(iprot);
                  this.success.add(_elem538);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (AmazonFbaSalesSnapshot _iter539 : this.success)
          {
            _iter539.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getAmazonFbaSalesSnapshotForDays_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getAmazonFbaSalesLatestSnapshotForItem_args implements org.apache.thrift.TBase<getAmazonFbaSalesLatestSnapshotForItem_args, getAmazonFbaSalesLatestSnapshotForItem_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAmazonFbaSalesLatestSnapshotForItem_args");

    private static final org.apache.thrift.protocol.TField ITEM_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("item_id", org.apache.thrift.protocol.TType.I64, (short)1);

    private long item_id; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ITEM_ID((short)1, "item_id");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ITEM_ID
            return ITEM_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ITEM_ID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ITEM_ID, new org.apache.thrift.meta_data.FieldMetaData("item_id", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAmazonFbaSalesLatestSnapshotForItem_args.class, metaDataMap);
    }

    public getAmazonFbaSalesLatestSnapshotForItem_args() {
    }

    public getAmazonFbaSalesLatestSnapshotForItem_args(
      long item_id)
    {
      this();
      this.item_id = item_id;
      setItem_idIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getAmazonFbaSalesLatestSnapshotForItem_args(getAmazonFbaSalesLatestSnapshotForItem_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.item_id = other.item_id;
    }

    public getAmazonFbaSalesLatestSnapshotForItem_args deepCopy() {
      return new getAmazonFbaSalesLatestSnapshotForItem_args(this);
    }

    @Override
    public void clear() {
      setItem_idIsSet(false);
      this.item_id = 0;
    }

    public long getItem_id() {
      return this.item_id;
    }

    public void setItem_id(long item_id) {
      this.item_id = item_id;
      setItem_idIsSet(true);
    }

    public void unsetItem_id() {
      __isset_bit_vector.clear(__ITEM_ID_ISSET_ID);
    }

    /** Returns true if field item_id is set (has been assigned a value) and false otherwise */
    public boolean isSetItem_id() {
      return __isset_bit_vector.get(__ITEM_ID_ISSET_ID);
    }

    public void setItem_idIsSet(boolean value) {
      __isset_bit_vector.set(__ITEM_ID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ITEM_ID:
        if (value == null) {
          unsetItem_id();
        } else {
          setItem_id((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ITEM_ID:
        return Long.valueOf(getItem_id());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ITEM_ID:
        return isSetItem_id();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getAmazonFbaSalesLatestSnapshotForItem_args)
        return this.equals((getAmazonFbaSalesLatestSnapshotForItem_args)that);
      return false;
    }

    public boolean equals(getAmazonFbaSalesLatestSnapshotForItem_args that) {
      if (that == null)
        return false;

      boolean this_present_item_id = true;
      boolean that_present_item_id = true;
      if (this_present_item_id || that_present_item_id) {
        if (!(this_present_item_id && that_present_item_id))
          return false;
        if (this.item_id != that.item_id)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getAmazonFbaSalesLatestSnapshotForItem_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getAmazonFbaSalesLatestSnapshotForItem_args typedOther = (getAmazonFbaSalesLatestSnapshotForItem_args)other;

      lastComparison = Boolean.valueOf(isSetItem_id()).compareTo(typedOther.isSetItem_id());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetItem_id()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.item_id, typedOther.item_id);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ITEM_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.item_id = iprot.readI64();
              setItem_idIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ITEM_ID_FIELD_DESC);
      oprot.writeI64(this.item_id);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getAmazonFbaSalesLatestSnapshotForItem_args(");
      boolean first = true;

      sb.append("item_id:");
      sb.append(this.item_id);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getAmazonFbaSalesLatestSnapshotForItem_result implements org.apache.thrift.TBase<getAmazonFbaSalesLatestSnapshotForItem_result, getAmazonFbaSalesLatestSnapshotForItem_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAmazonFbaSalesLatestSnapshotForItem_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);

    private AmazonFbaSalesSnapshot success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, AmazonFbaSalesSnapshot.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAmazonFbaSalesLatestSnapshotForItem_result.class, metaDataMap);
    }

    public getAmazonFbaSalesLatestSnapshotForItem_result() {
    }

    public getAmazonFbaSalesLatestSnapshotForItem_result(
      AmazonFbaSalesSnapshot success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getAmazonFbaSalesLatestSnapshotForItem_result(getAmazonFbaSalesLatestSnapshotForItem_result other) {
      if (other.isSetSuccess()) {
        this.success = new AmazonFbaSalesSnapshot(other.success);
      }
    }

    public getAmazonFbaSalesLatestSnapshotForItem_result deepCopy() {
      return new getAmazonFbaSalesLatestSnapshotForItem_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public AmazonFbaSalesSnapshot getSuccess() {
      return this.success;
    }

    public void setSuccess(AmazonFbaSalesSnapshot success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((AmazonFbaSalesSnapshot)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getAmazonFbaSalesLatestSnapshotForItem_result)
        return this.equals((getAmazonFbaSalesLatestSnapshotForItem_result)that);
      return false;
    }

    public boolean equals(getAmazonFbaSalesLatestSnapshotForItem_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getAmazonFbaSalesLatestSnapshotForItem_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getAmazonFbaSalesLatestSnapshotForItem_result typedOther = (getAmazonFbaSalesLatestSnapshotForItem_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.success = new AmazonFbaSalesSnapshot();
              this.success.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        this.success.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getAmazonFbaSalesLatestSnapshotForItem_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class createSnapdealOrder_args implements org.apache.thrift.TBase<createSnapdealOrder_args, createSnapdealOrder_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("createSnapdealOrder_args");

    private static final org.apache.thrift.protocol.TField SNAPDEAL_ORDER_FIELD_DESC = new org.apache.thrift.protocol.TField("snapdealOrder", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private SnapdealOrder snapdealOrder; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SNAPDEAL_ORDER((short)1, "snapdealOrder");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // SNAPDEAL_ORDER
            return SNAPDEAL_ORDER;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SNAPDEAL_ORDER, new org.apache.thrift.meta_data.FieldMetaData("snapdealOrder", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, SnapdealOrder.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(createSnapdealOrder_args.class, metaDataMap);
    }

    public createSnapdealOrder_args() {
    }

    public createSnapdealOrder_args(
      SnapdealOrder snapdealOrder)
    {
      this();
      this.snapdealOrder = snapdealOrder;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public createSnapdealOrder_args(createSnapdealOrder_args other) {
      if (other.isSetSnapdealOrder()) {
        this.snapdealOrder = new SnapdealOrder(other.snapdealOrder);
      }
    }

    public createSnapdealOrder_args deepCopy() {
      return new createSnapdealOrder_args(this);
    }

    @Override
    public void clear() {
      this.snapdealOrder = null;
    }

    public SnapdealOrder getSnapdealOrder() {
      return this.snapdealOrder;
    }

    public void setSnapdealOrder(SnapdealOrder snapdealOrder) {
      this.snapdealOrder = snapdealOrder;
    }

    public void unsetSnapdealOrder() {
      this.snapdealOrder = null;
    }

    /** Returns true if field snapdealOrder is set (has been assigned a value) and false otherwise */
    public boolean isSetSnapdealOrder() {
      return this.snapdealOrder != null;
    }

    public void setSnapdealOrderIsSet(boolean value) {
      if (!value) {
        this.snapdealOrder = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SNAPDEAL_ORDER:
        if (value == null) {
          unsetSnapdealOrder();
        } else {
          setSnapdealOrder((SnapdealOrder)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SNAPDEAL_ORDER:
        return getSnapdealOrder();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SNAPDEAL_ORDER:
        return isSetSnapdealOrder();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof createSnapdealOrder_args)
        return this.equals((createSnapdealOrder_args)that);
      return false;
    }

    public boolean equals(createSnapdealOrder_args that) {
      if (that == null)
        return false;

      boolean this_present_snapdealOrder = true && this.isSetSnapdealOrder();
      boolean that_present_snapdealOrder = true && that.isSetSnapdealOrder();
      if (this_present_snapdealOrder || that_present_snapdealOrder) {
        if (!(this_present_snapdealOrder && that_present_snapdealOrder))
          return false;
        if (!this.snapdealOrder.equals(that.snapdealOrder))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(createSnapdealOrder_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      createSnapdealOrder_args typedOther = (createSnapdealOrder_args)other;

      lastComparison = Boolean.valueOf(isSetSnapdealOrder()).compareTo(typedOther.isSetSnapdealOrder());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSnapdealOrder()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.snapdealOrder, typedOther.snapdealOrder);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // SNAPDEAL_ORDER
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.snapdealOrder = new SnapdealOrder();
              this.snapdealOrder.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.snapdealOrder != null) {
        oprot.writeFieldBegin(SNAPDEAL_ORDER_FIELD_DESC);
        this.snapdealOrder.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("createSnapdealOrder_args(");
      boolean first = true;

      sb.append("snapdealOrder:");
      if (this.snapdealOrder == null) {
        sb.append("null");
      } else {
        sb.append(this.snapdealOrder);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class createSnapdealOrder_result implements org.apache.thrift.TBase<createSnapdealOrder_result, createSnapdealOrder_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("createSnapdealOrder_result");



    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
;

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(createSnapdealOrder_result.class, metaDataMap);
    }

    public createSnapdealOrder_result() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public createSnapdealOrder_result(createSnapdealOrder_result other) {
    }

    public createSnapdealOrder_result deepCopy() {
      return new createSnapdealOrder_result(this);
    }

    @Override
    public void clear() {
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof createSnapdealOrder_result)
        return this.equals((createSnapdealOrder_result)that);
      return false;
    }

    public boolean equals(createSnapdealOrder_result that) {
      if (that == null)
        return false;

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(createSnapdealOrder_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      createSnapdealOrder_result typedOther = (createSnapdealOrder_result)other;

      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("createSnapdealOrder_result(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getSnapdealOrder_args implements org.apache.thrift.TBase<getSnapdealOrder_args, getSnapdealOrder_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getSnapdealOrder_args");

    private static final org.apache.thrift.protocol.TField ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("orderId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField REFERENCE_CODE_FIELD_DESC = new org.apache.thrift.protocol.TField("referenceCode", org.apache.thrift.protocol.TType.STRING, (short)2);
    private static final org.apache.thrift.protocol.TField SUBRDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("subrderId", org.apache.thrift.protocol.TType.STRING, (short)3);

    private long orderId; // required
    private String referenceCode; // required
    private String subrderId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ORDER_ID((short)1, "orderId"),
      REFERENCE_CODE((short)2, "referenceCode"),
      SUBRDER_ID((short)3, "subrderId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ORDER_ID
            return ORDER_ID;
          case 2: // REFERENCE_CODE
            return REFERENCE_CODE;
          case 3: // SUBRDER_ID
            return SUBRDER_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ORDERID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("orderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.REFERENCE_CODE, new org.apache.thrift.meta_data.FieldMetaData("referenceCode", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.SUBRDER_ID, new org.apache.thrift.meta_data.FieldMetaData("subrderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getSnapdealOrder_args.class, metaDataMap);
    }

    public getSnapdealOrder_args() {
    }

    public getSnapdealOrder_args(
      long orderId,
      String referenceCode,
      String subrderId)
    {
      this();
      this.orderId = orderId;
      setOrderIdIsSet(true);
      this.referenceCode = referenceCode;
      this.subrderId = subrderId;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getSnapdealOrder_args(getSnapdealOrder_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.orderId = other.orderId;
      if (other.isSetReferenceCode()) {
        this.referenceCode = other.referenceCode;
      }
      if (other.isSetSubrderId()) {
        this.subrderId = other.subrderId;
      }
    }

    public getSnapdealOrder_args deepCopy() {
      return new getSnapdealOrder_args(this);
    }

    @Override
    public void clear() {
      setOrderIdIsSet(false);
      this.orderId = 0;
      this.referenceCode = null;
      this.subrderId = null;
    }

    public long getOrderId() {
      return this.orderId;
    }

    public void setOrderId(long orderId) {
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    public void unsetOrderId() {
      __isset_bit_vector.clear(__ORDERID_ISSET_ID);
    }

    /** Returns true if field orderId is set (has been assigned a value) and false otherwise */
    public boolean isSetOrderId() {
      return __isset_bit_vector.get(__ORDERID_ISSET_ID);
    }

    public void setOrderIdIsSet(boolean value) {
      __isset_bit_vector.set(__ORDERID_ISSET_ID, value);
    }

    public String getReferenceCode() {
      return this.referenceCode;
    }

    public void setReferenceCode(String referenceCode) {
      this.referenceCode = referenceCode;
    }

    public void unsetReferenceCode() {
      this.referenceCode = null;
    }

    /** Returns true if field referenceCode is set (has been assigned a value) and false otherwise */
    public boolean isSetReferenceCode() {
      return this.referenceCode != null;
    }

    public void setReferenceCodeIsSet(boolean value) {
      if (!value) {
        this.referenceCode = null;
      }
    }

    public String getSubrderId() {
      return this.subrderId;
    }

    public void setSubrderId(String subrderId) {
      this.subrderId = subrderId;
    }

    public void unsetSubrderId() {
      this.subrderId = null;
    }

    /** Returns true if field subrderId is set (has been assigned a value) and false otherwise */
    public boolean isSetSubrderId() {
      return this.subrderId != null;
    }

    public void setSubrderIdIsSet(boolean value) {
      if (!value) {
        this.subrderId = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ORDER_ID:
        if (value == null) {
          unsetOrderId();
        } else {
          setOrderId((Long)value);
        }
        break;

      case REFERENCE_CODE:
        if (value == null) {
          unsetReferenceCode();
        } else {
          setReferenceCode((String)value);
        }
        break;

      case SUBRDER_ID:
        if (value == null) {
          unsetSubrderId();
        } else {
          setSubrderId((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ORDER_ID:
        return Long.valueOf(getOrderId());

      case REFERENCE_CODE:
        return getReferenceCode();

      case SUBRDER_ID:
        return getSubrderId();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ORDER_ID:
        return isSetOrderId();
      case REFERENCE_CODE:
        return isSetReferenceCode();
      case SUBRDER_ID:
        return isSetSubrderId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getSnapdealOrder_args)
        return this.equals((getSnapdealOrder_args)that);
      return false;
    }

    public boolean equals(getSnapdealOrder_args that) {
      if (that == null)
        return false;

      boolean this_present_orderId = true;
      boolean that_present_orderId = true;
      if (this_present_orderId || that_present_orderId) {
        if (!(this_present_orderId && that_present_orderId))
          return false;
        if (this.orderId != that.orderId)
          return false;
      }

      boolean this_present_referenceCode = true && this.isSetReferenceCode();
      boolean that_present_referenceCode = true && that.isSetReferenceCode();
      if (this_present_referenceCode || that_present_referenceCode) {
        if (!(this_present_referenceCode && that_present_referenceCode))
          return false;
        if (!this.referenceCode.equals(that.referenceCode))
          return false;
      }

      boolean this_present_subrderId = true && this.isSetSubrderId();
      boolean that_present_subrderId = true && that.isSetSubrderId();
      if (this_present_subrderId || that_present_subrderId) {
        if (!(this_present_subrderId && that_present_subrderId))
          return false;
        if (!this.subrderId.equals(that.subrderId))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getSnapdealOrder_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getSnapdealOrder_args typedOther = (getSnapdealOrder_args)other;

      lastComparison = Boolean.valueOf(isSetOrderId()).compareTo(typedOther.isSetOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.orderId, typedOther.orderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetReferenceCode()).compareTo(typedOther.isSetReferenceCode());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetReferenceCode()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.referenceCode, typedOther.referenceCode);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetSubrderId()).compareTo(typedOther.isSetSubrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSubrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.subrderId, typedOther.subrderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.orderId = iprot.readI64();
              setOrderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // REFERENCE_CODE
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.referenceCode = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // SUBRDER_ID
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.subrderId = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ORDER_ID_FIELD_DESC);
      oprot.writeI64(this.orderId);
      oprot.writeFieldEnd();
      if (this.referenceCode != null) {
        oprot.writeFieldBegin(REFERENCE_CODE_FIELD_DESC);
        oprot.writeString(this.referenceCode);
        oprot.writeFieldEnd();
      }
      if (this.subrderId != null) {
        oprot.writeFieldBegin(SUBRDER_ID_FIELD_DESC);
        oprot.writeString(this.subrderId);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getSnapdealOrder_args(");
      boolean first = true;

      sb.append("orderId:");
      sb.append(this.orderId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("referenceCode:");
      if (this.referenceCode == null) {
        sb.append("null");
      } else {
        sb.append(this.referenceCode);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("subrderId:");
      if (this.subrderId == null) {
        sb.append("null");
      } else {
        sb.append(this.subrderId);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getSnapdealOrder_result implements org.apache.thrift.TBase<getSnapdealOrder_result, getSnapdealOrder_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getSnapdealOrder_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);

    private List<SnapdealOrder> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, SnapdealOrder.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getSnapdealOrder_result.class, metaDataMap);
    }

    public getSnapdealOrder_result() {
    }

    public getSnapdealOrder_result(
      List<SnapdealOrder> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getSnapdealOrder_result(getSnapdealOrder_result other) {
      if (other.isSetSuccess()) {
        List<SnapdealOrder> __this__success = new ArrayList<SnapdealOrder>();
        for (SnapdealOrder other_element : other.success) {
          __this__success.add(new SnapdealOrder(other_element));
        }
        this.success = __this__success;
      }
    }

    public getSnapdealOrder_result deepCopy() {
      return new getSnapdealOrder_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<SnapdealOrder> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(SnapdealOrder elem) {
      if (this.success == null) {
        this.success = new ArrayList<SnapdealOrder>();
      }
      this.success.add(elem);
    }

    public List<SnapdealOrder> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<SnapdealOrder> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<SnapdealOrder>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getSnapdealOrder_result)
        return this.equals((getSnapdealOrder_result)that);
      return false;
    }

    public boolean equals(getSnapdealOrder_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getSnapdealOrder_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getSnapdealOrder_result typedOther = (getSnapdealOrder_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list540 = iprot.readListBegin();
                this.success = new ArrayList<SnapdealOrder>(_list540.size);
                for (int _i541 = 0; _i541 < _list540.size; ++_i541)
                {
                  SnapdealOrder _elem542; // required
                  _elem542 = new SnapdealOrder();
                  _elem542.read(iprot);
                  this.success.add(_elem542);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (SnapdealOrder _iter543 : this.success)
          {
            _iter543.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getSnapdealOrder_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class snapdealOrderExists_args implements org.apache.thrift.TBase<snapdealOrderExists_args, snapdealOrderExists_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("snapdealOrderExists_args");

    private static final org.apache.thrift.protocol.TField SUB_ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("subOrderId", org.apache.thrift.protocol.TType.STRING, (short)1);
    private static final org.apache.thrift.protocol.TField REFERENCE_CODE_FIELD_DESC = new org.apache.thrift.protocol.TField("referenceCode", org.apache.thrift.protocol.TType.STRING, (short)2);

    private String subOrderId; // required
    private String referenceCode; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUB_ORDER_ID((short)1, "subOrderId"),
      REFERENCE_CODE((short)2, "referenceCode");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // SUB_ORDER_ID
            return SUB_ORDER_ID;
          case 2: // REFERENCE_CODE
            return REFERENCE_CODE;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUB_ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("subOrderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.REFERENCE_CODE, new org.apache.thrift.meta_data.FieldMetaData("referenceCode", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(snapdealOrderExists_args.class, metaDataMap);
    }

    public snapdealOrderExists_args() {
    }

    public snapdealOrderExists_args(
      String subOrderId,
      String referenceCode)
    {
      this();
      this.subOrderId = subOrderId;
      this.referenceCode = referenceCode;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public snapdealOrderExists_args(snapdealOrderExists_args other) {
      if (other.isSetSubOrderId()) {
        this.subOrderId = other.subOrderId;
      }
      if (other.isSetReferenceCode()) {
        this.referenceCode = other.referenceCode;
      }
    }

    public snapdealOrderExists_args deepCopy() {
      return new snapdealOrderExists_args(this);
    }

    @Override
    public void clear() {
      this.subOrderId = null;
      this.referenceCode = null;
    }

    public String getSubOrderId() {
      return this.subOrderId;
    }

    public void setSubOrderId(String subOrderId) {
      this.subOrderId = subOrderId;
    }

    public void unsetSubOrderId() {
      this.subOrderId = null;
    }

    /** Returns true if field subOrderId is set (has been assigned a value) and false otherwise */
    public boolean isSetSubOrderId() {
      return this.subOrderId != null;
    }

    public void setSubOrderIdIsSet(boolean value) {
      if (!value) {
        this.subOrderId = null;
      }
    }

    public String getReferenceCode() {
      return this.referenceCode;
    }

    public void setReferenceCode(String referenceCode) {
      this.referenceCode = referenceCode;
    }

    public void unsetReferenceCode() {
      this.referenceCode = null;
    }

    /** Returns true if field referenceCode is set (has been assigned a value) and false otherwise */
    public boolean isSetReferenceCode() {
      return this.referenceCode != null;
    }

    public void setReferenceCodeIsSet(boolean value) {
      if (!value) {
        this.referenceCode = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUB_ORDER_ID:
        if (value == null) {
          unsetSubOrderId();
        } else {
          setSubOrderId((String)value);
        }
        break;

      case REFERENCE_CODE:
        if (value == null) {
          unsetReferenceCode();
        } else {
          setReferenceCode((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUB_ORDER_ID:
        return getSubOrderId();

      case REFERENCE_CODE:
        return getReferenceCode();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUB_ORDER_ID:
        return isSetSubOrderId();
      case REFERENCE_CODE:
        return isSetReferenceCode();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof snapdealOrderExists_args)
        return this.equals((snapdealOrderExists_args)that);
      return false;
    }

    public boolean equals(snapdealOrderExists_args that) {
      if (that == null)
        return false;

      boolean this_present_subOrderId = true && this.isSetSubOrderId();
      boolean that_present_subOrderId = true && that.isSetSubOrderId();
      if (this_present_subOrderId || that_present_subOrderId) {
        if (!(this_present_subOrderId && that_present_subOrderId))
          return false;
        if (!this.subOrderId.equals(that.subOrderId))
          return false;
      }

      boolean this_present_referenceCode = true && this.isSetReferenceCode();
      boolean that_present_referenceCode = true && that.isSetReferenceCode();
      if (this_present_referenceCode || that_present_referenceCode) {
        if (!(this_present_referenceCode && that_present_referenceCode))
          return false;
        if (!this.referenceCode.equals(that.referenceCode))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(snapdealOrderExists_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      snapdealOrderExists_args typedOther = (snapdealOrderExists_args)other;

      lastComparison = Boolean.valueOf(isSetSubOrderId()).compareTo(typedOther.isSetSubOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSubOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.subOrderId, typedOther.subOrderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetReferenceCode()).compareTo(typedOther.isSetReferenceCode());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetReferenceCode()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.referenceCode, typedOther.referenceCode);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // SUB_ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.subOrderId = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // REFERENCE_CODE
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.referenceCode = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.subOrderId != null) {
        oprot.writeFieldBegin(SUB_ORDER_ID_FIELD_DESC);
        oprot.writeString(this.subOrderId);
        oprot.writeFieldEnd();
      }
      if (this.referenceCode != null) {
        oprot.writeFieldBegin(REFERENCE_CODE_FIELD_DESC);
        oprot.writeString(this.referenceCode);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("snapdealOrderExists_args(");
      boolean first = true;

      sb.append("subOrderId:");
      if (this.subOrderId == null) {
        sb.append("null");
      } else {
        sb.append(this.subOrderId);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("referenceCode:");
      if (this.referenceCode == null) {
        sb.append("null");
      } else {
        sb.append(this.referenceCode);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class snapdealOrderExists_result implements org.apache.thrift.TBase<snapdealOrderExists_result, snapdealOrderExists_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("snapdealOrderExists_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);

    private boolean success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(snapdealOrderExists_result.class, metaDataMap);
    }

    public snapdealOrderExists_result() {
    }

    public snapdealOrderExists_result(
      boolean success)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public snapdealOrderExists_result(snapdealOrderExists_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
    }

    public snapdealOrderExists_result deepCopy() {
      return new snapdealOrderExists_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = false;
    }

    public boolean isSuccess() {
      return this.success;
    }

    public void setSuccess(boolean success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Boolean.valueOf(isSuccess());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof snapdealOrderExists_result)
        return this.equals((snapdealOrderExists_result)that);
      return false;
    }

    public boolean equals(snapdealOrderExists_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(snapdealOrderExists_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      snapdealOrderExists_result typedOther = (snapdealOrderExists_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.success = iprot.readBool();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBool(this.success);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("snapdealOrderExists_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class updateLatestFbaPricesForItem_args implements org.apache.thrift.TBase<updateLatestFbaPricesForItem_args, updateLatestFbaPricesForItem_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateLatestFbaPricesForItem_args");

    private static final org.apache.thrift.protocol.TField FBAITEMPRICES_FIELD_DESC = new org.apache.thrift.protocol.TField("fbaitemprices", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private FbaItemPrices fbaitemprices; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      FBAITEMPRICES((short)1, "fbaitemprices");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // FBAITEMPRICES
            return FBAITEMPRICES;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.FBAITEMPRICES, new org.apache.thrift.meta_data.FieldMetaData("fbaitemprices", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, FbaItemPrices.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateLatestFbaPricesForItem_args.class, metaDataMap);
    }

    public updateLatestFbaPricesForItem_args() {
    }

    public updateLatestFbaPricesForItem_args(
      FbaItemPrices fbaitemprices)
    {
      this();
      this.fbaitemprices = fbaitemprices;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public updateLatestFbaPricesForItem_args(updateLatestFbaPricesForItem_args other) {
      if (other.isSetFbaitemprices()) {
        this.fbaitemprices = new FbaItemPrices(other.fbaitemprices);
      }
    }

    public updateLatestFbaPricesForItem_args deepCopy() {
      return new updateLatestFbaPricesForItem_args(this);
    }

    @Override
    public void clear() {
      this.fbaitemprices = null;
    }

    public FbaItemPrices getFbaitemprices() {
      return this.fbaitemprices;
    }

    public void setFbaitemprices(FbaItemPrices fbaitemprices) {
      this.fbaitemprices = fbaitemprices;
    }

    public void unsetFbaitemprices() {
      this.fbaitemprices = null;
    }

    /** Returns true if field fbaitemprices is set (has been assigned a value) and false otherwise */
    public boolean isSetFbaitemprices() {
      return this.fbaitemprices != null;
    }

    public void setFbaitempricesIsSet(boolean value) {
      if (!value) {
        this.fbaitemprices = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case FBAITEMPRICES:
        if (value == null) {
          unsetFbaitemprices();
        } else {
          setFbaitemprices((FbaItemPrices)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case FBAITEMPRICES:
        return getFbaitemprices();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case FBAITEMPRICES:
        return isSetFbaitemprices();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof updateLatestFbaPricesForItem_args)
        return this.equals((updateLatestFbaPricesForItem_args)that);
      return false;
    }

    public boolean equals(updateLatestFbaPricesForItem_args that) {
      if (that == null)
        return false;

      boolean this_present_fbaitemprices = true && this.isSetFbaitemprices();
      boolean that_present_fbaitemprices = true && that.isSetFbaitemprices();
      if (this_present_fbaitemprices || that_present_fbaitemprices) {
        if (!(this_present_fbaitemprices && that_present_fbaitemprices))
          return false;
        if (!this.fbaitemprices.equals(that.fbaitemprices))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(updateLatestFbaPricesForItem_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      updateLatestFbaPricesForItem_args typedOther = (updateLatestFbaPricesForItem_args)other;

      lastComparison = Boolean.valueOf(isSetFbaitemprices()).compareTo(typedOther.isSetFbaitemprices());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetFbaitemprices()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.fbaitemprices, typedOther.fbaitemprices);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // FBAITEMPRICES
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.fbaitemprices = new FbaItemPrices();
              this.fbaitemprices.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.fbaitemprices != null) {
        oprot.writeFieldBegin(FBAITEMPRICES_FIELD_DESC);
        this.fbaitemprices.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("updateLatestFbaPricesForItem_args(");
      boolean first = true;

      sb.append("fbaitemprices:");
      if (this.fbaitemprices == null) {
        sb.append("null");
      } else {
        sb.append(this.fbaitemprices);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class updateLatestFbaPricesForItem_result implements org.apache.thrift.TBase<updateLatestFbaPricesForItem_result, updateLatestFbaPricesForItem_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateLatestFbaPricesForItem_result");



    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
;

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateLatestFbaPricesForItem_result.class, metaDataMap);
    }

    public updateLatestFbaPricesForItem_result() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public updateLatestFbaPricesForItem_result(updateLatestFbaPricesForItem_result other) {
    }

    public updateLatestFbaPricesForItem_result deepCopy() {
      return new updateLatestFbaPricesForItem_result(this);
    }

    @Override
    public void clear() {
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof updateLatestFbaPricesForItem_result)
        return this.equals((updateLatestFbaPricesForItem_result)that);
      return false;
    }

    public boolean equals(updateLatestFbaPricesForItem_result that) {
      if (that == null)
        return false;

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(updateLatestFbaPricesForItem_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      updateLatestFbaPricesForItem_result typedOther = (updateLatestFbaPricesForItem_result)other;

      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("updateLatestFbaPricesForItem_result(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class flipkartOrderExists_args implements org.apache.thrift.TBase<flipkartOrderExists_args, flipkartOrderExists_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("flipkartOrderExists_args");

    private static final org.apache.thrift.protocol.TField FLIPKART_ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("flipkartOrderId", org.apache.thrift.protocol.TType.STRING, (short)1);
    private static final org.apache.thrift.protocol.TField FLIPKART_SUB_ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("flipkartSubOrderId", org.apache.thrift.protocol.TType.STRING, (short)2);

    private String flipkartOrderId; // required
    private String flipkartSubOrderId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      FLIPKART_ORDER_ID((short)1, "flipkartOrderId"),
      FLIPKART_SUB_ORDER_ID((short)2, "flipkartSubOrderId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // FLIPKART_ORDER_ID
            return FLIPKART_ORDER_ID;
          case 2: // FLIPKART_SUB_ORDER_ID
            return FLIPKART_SUB_ORDER_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.FLIPKART_ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("flipkartOrderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.FLIPKART_SUB_ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("flipkartSubOrderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(flipkartOrderExists_args.class, metaDataMap);
    }

    public flipkartOrderExists_args() {
    }

    public flipkartOrderExists_args(
      String flipkartOrderId,
      String flipkartSubOrderId)
    {
      this();
      this.flipkartOrderId = flipkartOrderId;
      this.flipkartSubOrderId = flipkartSubOrderId;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public flipkartOrderExists_args(flipkartOrderExists_args other) {
      if (other.isSetFlipkartOrderId()) {
        this.flipkartOrderId = other.flipkartOrderId;
      }
      if (other.isSetFlipkartSubOrderId()) {
        this.flipkartSubOrderId = other.flipkartSubOrderId;
      }
    }

    public flipkartOrderExists_args deepCopy() {
      return new flipkartOrderExists_args(this);
    }

    @Override
    public void clear() {
      this.flipkartOrderId = null;
      this.flipkartSubOrderId = null;
    }

    public String getFlipkartOrderId() {
      return this.flipkartOrderId;
    }

    public void setFlipkartOrderId(String flipkartOrderId) {
      this.flipkartOrderId = flipkartOrderId;
    }

    public void unsetFlipkartOrderId() {
      this.flipkartOrderId = null;
    }

    /** Returns true if field flipkartOrderId is set (has been assigned a value) and false otherwise */
    public boolean isSetFlipkartOrderId() {
      return this.flipkartOrderId != null;
    }

    public void setFlipkartOrderIdIsSet(boolean value) {
      if (!value) {
        this.flipkartOrderId = null;
      }
    }

    public String getFlipkartSubOrderId() {
      return this.flipkartSubOrderId;
    }

    public void setFlipkartSubOrderId(String flipkartSubOrderId) {
      this.flipkartSubOrderId = flipkartSubOrderId;
    }

    public void unsetFlipkartSubOrderId() {
      this.flipkartSubOrderId = null;
    }

    /** Returns true if field flipkartSubOrderId is set (has been assigned a value) and false otherwise */
    public boolean isSetFlipkartSubOrderId() {
      return this.flipkartSubOrderId != null;
    }

    public void setFlipkartSubOrderIdIsSet(boolean value) {
      if (!value) {
        this.flipkartSubOrderId = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case FLIPKART_ORDER_ID:
        if (value == null) {
          unsetFlipkartOrderId();
        } else {
          setFlipkartOrderId((String)value);
        }
        break;

      case FLIPKART_SUB_ORDER_ID:
        if (value == null) {
          unsetFlipkartSubOrderId();
        } else {
          setFlipkartSubOrderId((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case FLIPKART_ORDER_ID:
        return getFlipkartOrderId();

      case FLIPKART_SUB_ORDER_ID:
        return getFlipkartSubOrderId();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case FLIPKART_ORDER_ID:
        return isSetFlipkartOrderId();
      case FLIPKART_SUB_ORDER_ID:
        return isSetFlipkartSubOrderId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof flipkartOrderExists_args)
        return this.equals((flipkartOrderExists_args)that);
      return false;
    }

    public boolean equals(flipkartOrderExists_args that) {
      if (that == null)
        return false;

      boolean this_present_flipkartOrderId = true && this.isSetFlipkartOrderId();
      boolean that_present_flipkartOrderId = true && that.isSetFlipkartOrderId();
      if (this_present_flipkartOrderId || that_present_flipkartOrderId) {
        if (!(this_present_flipkartOrderId && that_present_flipkartOrderId))
          return false;
        if (!this.flipkartOrderId.equals(that.flipkartOrderId))
          return false;
      }

      boolean this_present_flipkartSubOrderId = true && this.isSetFlipkartSubOrderId();
      boolean that_present_flipkartSubOrderId = true && that.isSetFlipkartSubOrderId();
      if (this_present_flipkartSubOrderId || that_present_flipkartSubOrderId) {
        if (!(this_present_flipkartSubOrderId && that_present_flipkartSubOrderId))
          return false;
        if (!this.flipkartSubOrderId.equals(that.flipkartSubOrderId))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(flipkartOrderExists_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      flipkartOrderExists_args typedOther = (flipkartOrderExists_args)other;

      lastComparison = Boolean.valueOf(isSetFlipkartOrderId()).compareTo(typedOther.isSetFlipkartOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetFlipkartOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.flipkartOrderId, typedOther.flipkartOrderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetFlipkartSubOrderId()).compareTo(typedOther.isSetFlipkartSubOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetFlipkartSubOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.flipkartSubOrderId, typedOther.flipkartSubOrderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // FLIPKART_ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.flipkartOrderId = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // FLIPKART_SUB_ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.flipkartSubOrderId = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.flipkartOrderId != null) {
        oprot.writeFieldBegin(FLIPKART_ORDER_ID_FIELD_DESC);
        oprot.writeString(this.flipkartOrderId);
        oprot.writeFieldEnd();
      }
      if (this.flipkartSubOrderId != null) {
        oprot.writeFieldBegin(FLIPKART_SUB_ORDER_ID_FIELD_DESC);
        oprot.writeString(this.flipkartSubOrderId);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("flipkartOrderExists_args(");
      boolean first = true;

      sb.append("flipkartOrderId:");
      if (this.flipkartOrderId == null) {
        sb.append("null");
      } else {
        sb.append(this.flipkartOrderId);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("flipkartSubOrderId:");
      if (this.flipkartSubOrderId == null) {
        sb.append("null");
      } else {
        sb.append(this.flipkartSubOrderId);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class flipkartOrderExists_result implements org.apache.thrift.TBase<flipkartOrderExists_result, flipkartOrderExists_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("flipkartOrderExists_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);

    private boolean success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(flipkartOrderExists_result.class, metaDataMap);
    }

    public flipkartOrderExists_result() {
    }

    public flipkartOrderExists_result(
      boolean success)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public flipkartOrderExists_result(flipkartOrderExists_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
    }

    public flipkartOrderExists_result deepCopy() {
      return new flipkartOrderExists_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = false;
    }

    public boolean isSuccess() {
      return this.success;
    }

    public void setSuccess(boolean success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Boolean.valueOf(isSuccess());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof flipkartOrderExists_result)
        return this.equals((flipkartOrderExists_result)that);
      return false;
    }

    public boolean equals(flipkartOrderExists_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(flipkartOrderExists_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      flipkartOrderExists_result typedOther = (flipkartOrderExists_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.success = iprot.readBool();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBool(this.success);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("flipkartOrderExists_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class createFlipkartOrder_args implements org.apache.thrift.TBase<createFlipkartOrder_args, createFlipkartOrder_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("createFlipkartOrder_args");

    private static final org.apache.thrift.protocol.TField FLIPKART_ORDER_FIELD_DESC = new org.apache.thrift.protocol.TField("flipkartOrder", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private FlipkartOrder flipkartOrder; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      FLIPKART_ORDER((short)1, "flipkartOrder");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // FLIPKART_ORDER
            return FLIPKART_ORDER;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.FLIPKART_ORDER, new org.apache.thrift.meta_data.FieldMetaData("flipkartOrder", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, FlipkartOrder.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(createFlipkartOrder_args.class, metaDataMap);
    }

    public createFlipkartOrder_args() {
    }

    public createFlipkartOrder_args(
      FlipkartOrder flipkartOrder)
    {
      this();
      this.flipkartOrder = flipkartOrder;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public createFlipkartOrder_args(createFlipkartOrder_args other) {
      if (other.isSetFlipkartOrder()) {
        this.flipkartOrder = new FlipkartOrder(other.flipkartOrder);
      }
    }

    public createFlipkartOrder_args deepCopy() {
      return new createFlipkartOrder_args(this);
    }

    @Override
    public void clear() {
      this.flipkartOrder = null;
    }

    public FlipkartOrder getFlipkartOrder() {
      return this.flipkartOrder;
    }

    public void setFlipkartOrder(FlipkartOrder flipkartOrder) {
      this.flipkartOrder = flipkartOrder;
    }

    public void unsetFlipkartOrder() {
      this.flipkartOrder = null;
    }

    /** Returns true if field flipkartOrder is set (has been assigned a value) and false otherwise */
    public boolean isSetFlipkartOrder() {
      return this.flipkartOrder != null;
    }

    public void setFlipkartOrderIsSet(boolean value) {
      if (!value) {
        this.flipkartOrder = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case FLIPKART_ORDER:
        if (value == null) {
          unsetFlipkartOrder();
        } else {
          setFlipkartOrder((FlipkartOrder)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case FLIPKART_ORDER:
        return getFlipkartOrder();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case FLIPKART_ORDER:
        return isSetFlipkartOrder();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof createFlipkartOrder_args)
        return this.equals((createFlipkartOrder_args)that);
      return false;
    }

    public boolean equals(createFlipkartOrder_args that) {
      if (that == null)
        return false;

      boolean this_present_flipkartOrder = true && this.isSetFlipkartOrder();
      boolean that_present_flipkartOrder = true && that.isSetFlipkartOrder();
      if (this_present_flipkartOrder || that_present_flipkartOrder) {
        if (!(this_present_flipkartOrder && that_present_flipkartOrder))
          return false;
        if (!this.flipkartOrder.equals(that.flipkartOrder))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(createFlipkartOrder_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      createFlipkartOrder_args typedOther = (createFlipkartOrder_args)other;

      lastComparison = Boolean.valueOf(isSetFlipkartOrder()).compareTo(typedOther.isSetFlipkartOrder());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetFlipkartOrder()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.flipkartOrder, typedOther.flipkartOrder);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // FLIPKART_ORDER
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.flipkartOrder = new FlipkartOrder();
              this.flipkartOrder.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.flipkartOrder != null) {
        oprot.writeFieldBegin(FLIPKART_ORDER_FIELD_DESC);
        this.flipkartOrder.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("createFlipkartOrder_args(");
      boolean first = true;

      sb.append("flipkartOrder:");
      if (this.flipkartOrder == null) {
        sb.append("null");
      } else {
        sb.append(this.flipkartOrder);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class createFlipkartOrder_result implements org.apache.thrift.TBase<createFlipkartOrder_result, createFlipkartOrder_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("createFlipkartOrder_result");



    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
;

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(createFlipkartOrder_result.class, metaDataMap);
    }

    public createFlipkartOrder_result() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public createFlipkartOrder_result(createFlipkartOrder_result other) {
    }

    public createFlipkartOrder_result deepCopy() {
      return new createFlipkartOrder_result(this);
    }

    @Override
    public void clear() {
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof createFlipkartOrder_result)
        return this.equals((createFlipkartOrder_result)that);
      return false;
    }

    public boolean equals(createFlipkartOrder_result that) {
      if (that == null)
        return false;

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(createFlipkartOrder_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      createFlipkartOrder_result typedOther = (createFlipkartOrder_result)other;

      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("createFlipkartOrder_result(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getFlipkartOrder_args implements org.apache.thrift.TBase<getFlipkartOrder_args, getFlipkartOrder_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getFlipkartOrder_args");

    private static final org.apache.thrift.protocol.TField ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("orderId", org.apache.thrift.protocol.TType.I64, (short)1);

    private long orderId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ORDER_ID((short)1, "orderId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ORDER_ID
            return ORDER_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ORDERID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("orderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getFlipkartOrder_args.class, metaDataMap);
    }

    public getFlipkartOrder_args() {
    }

    public getFlipkartOrder_args(
      long orderId)
    {
      this();
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getFlipkartOrder_args(getFlipkartOrder_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.orderId = other.orderId;
    }

    public getFlipkartOrder_args deepCopy() {
      return new getFlipkartOrder_args(this);
    }

    @Override
    public void clear() {
      setOrderIdIsSet(false);
      this.orderId = 0;
    }

    public long getOrderId() {
      return this.orderId;
    }

    public void setOrderId(long orderId) {
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    public void unsetOrderId() {
      __isset_bit_vector.clear(__ORDERID_ISSET_ID);
    }

    /** Returns true if field orderId is set (has been assigned a value) and false otherwise */
    public boolean isSetOrderId() {
      return __isset_bit_vector.get(__ORDERID_ISSET_ID);
    }

    public void setOrderIdIsSet(boolean value) {
      __isset_bit_vector.set(__ORDERID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ORDER_ID:
        if (value == null) {
          unsetOrderId();
        } else {
          setOrderId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ORDER_ID:
        return Long.valueOf(getOrderId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ORDER_ID:
        return isSetOrderId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getFlipkartOrder_args)
        return this.equals((getFlipkartOrder_args)that);
      return false;
    }

    public boolean equals(getFlipkartOrder_args that) {
      if (that == null)
        return false;

      boolean this_present_orderId = true;
      boolean that_present_orderId = true;
      if (this_present_orderId || that_present_orderId) {
        if (!(this_present_orderId && that_present_orderId))
          return false;
        if (this.orderId != that.orderId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getFlipkartOrder_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getFlipkartOrder_args typedOther = (getFlipkartOrder_args)other;

      lastComparison = Boolean.valueOf(isSetOrderId()).compareTo(typedOther.isSetOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.orderId, typedOther.orderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.orderId = iprot.readI64();
              setOrderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ORDER_ID_FIELD_DESC);
      oprot.writeI64(this.orderId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getFlipkartOrder_args(");
      boolean first = true;

      sb.append("orderId:");
      sb.append(this.orderId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getFlipkartOrder_result implements org.apache.thrift.TBase<getFlipkartOrder_result, getFlipkartOrder_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getFlipkartOrder_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);

    private FlipkartOrder success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, FlipkartOrder.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getFlipkartOrder_result.class, metaDataMap);
    }

    public getFlipkartOrder_result() {
    }

    public getFlipkartOrder_result(
      FlipkartOrder success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getFlipkartOrder_result(getFlipkartOrder_result other) {
      if (other.isSetSuccess()) {
        this.success = new FlipkartOrder(other.success);
      }
    }

    public getFlipkartOrder_result deepCopy() {
      return new getFlipkartOrder_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public FlipkartOrder getSuccess() {
      return this.success;
    }

    public void setSuccess(FlipkartOrder success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((FlipkartOrder)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getFlipkartOrder_result)
        return this.equals((getFlipkartOrder_result)that);
      return false;
    }

    public boolean equals(getFlipkartOrder_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getFlipkartOrder_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getFlipkartOrder_result typedOther = (getFlipkartOrder_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.success = new FlipkartOrder();
              this.success.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        this.success.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getFlipkartOrder_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getFlipkartOrderByOrderItemId_args implements org.apache.thrift.TBase<getFlipkartOrderByOrderItemId_args, getFlipkartOrderByOrderItemId_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getFlipkartOrderByOrderItemId_args");

    private static final org.apache.thrift.protocol.TField FLIPKART_ORDER_ITEM_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("flipkartOrderItemId", org.apache.thrift.protocol.TType.STRING, (short)1);

    private String flipkartOrderItemId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      FLIPKART_ORDER_ITEM_ID((short)1, "flipkartOrderItemId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // FLIPKART_ORDER_ITEM_ID
            return FLIPKART_ORDER_ITEM_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.FLIPKART_ORDER_ITEM_ID, new org.apache.thrift.meta_data.FieldMetaData("flipkartOrderItemId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getFlipkartOrderByOrderItemId_args.class, metaDataMap);
    }

    public getFlipkartOrderByOrderItemId_args() {
    }

    public getFlipkartOrderByOrderItemId_args(
      String flipkartOrderItemId)
    {
      this();
      this.flipkartOrderItemId = flipkartOrderItemId;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getFlipkartOrderByOrderItemId_args(getFlipkartOrderByOrderItemId_args other) {
      if (other.isSetFlipkartOrderItemId()) {
        this.flipkartOrderItemId = other.flipkartOrderItemId;
      }
    }

    public getFlipkartOrderByOrderItemId_args deepCopy() {
      return new getFlipkartOrderByOrderItemId_args(this);
    }

    @Override
    public void clear() {
      this.flipkartOrderItemId = null;
    }

    public String getFlipkartOrderItemId() {
      return this.flipkartOrderItemId;
    }

    public void setFlipkartOrderItemId(String flipkartOrderItemId) {
      this.flipkartOrderItemId = flipkartOrderItemId;
    }

    public void unsetFlipkartOrderItemId() {
      this.flipkartOrderItemId = null;
    }

    /** Returns true if field flipkartOrderItemId is set (has been assigned a value) and false otherwise */
    public boolean isSetFlipkartOrderItemId() {
      return this.flipkartOrderItemId != null;
    }

    public void setFlipkartOrderItemIdIsSet(boolean value) {
      if (!value) {
        this.flipkartOrderItemId = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case FLIPKART_ORDER_ITEM_ID:
        if (value == null) {
          unsetFlipkartOrderItemId();
        } else {
          setFlipkartOrderItemId((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case FLIPKART_ORDER_ITEM_ID:
        return getFlipkartOrderItemId();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case FLIPKART_ORDER_ITEM_ID:
        return isSetFlipkartOrderItemId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getFlipkartOrderByOrderItemId_args)
        return this.equals((getFlipkartOrderByOrderItemId_args)that);
      return false;
    }

    public boolean equals(getFlipkartOrderByOrderItemId_args that) {
      if (that == null)
        return false;

      boolean this_present_flipkartOrderItemId = true && this.isSetFlipkartOrderItemId();
      boolean that_present_flipkartOrderItemId = true && that.isSetFlipkartOrderItemId();
      if (this_present_flipkartOrderItemId || that_present_flipkartOrderItemId) {
        if (!(this_present_flipkartOrderItemId && that_present_flipkartOrderItemId))
          return false;
        if (!this.flipkartOrderItemId.equals(that.flipkartOrderItemId))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getFlipkartOrderByOrderItemId_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getFlipkartOrderByOrderItemId_args typedOther = (getFlipkartOrderByOrderItemId_args)other;

      lastComparison = Boolean.valueOf(isSetFlipkartOrderItemId()).compareTo(typedOther.isSetFlipkartOrderItemId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetFlipkartOrderItemId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.flipkartOrderItemId, typedOther.flipkartOrderItemId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // FLIPKART_ORDER_ITEM_ID
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.flipkartOrderItemId = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.flipkartOrderItemId != null) {
        oprot.writeFieldBegin(FLIPKART_ORDER_ITEM_ID_FIELD_DESC);
        oprot.writeString(this.flipkartOrderItemId);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getFlipkartOrderByOrderItemId_args(");
      boolean first = true;

      sb.append("flipkartOrderItemId:");
      if (this.flipkartOrderItemId == null) {
        sb.append("null");
      } else {
        sb.append(this.flipkartOrderItemId);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getFlipkartOrderByOrderItemId_result implements org.apache.thrift.TBase<getFlipkartOrderByOrderItemId_result, getFlipkartOrderByOrderItemId_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getFlipkartOrderByOrderItemId_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);

    private FlipkartOrder success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, FlipkartOrder.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getFlipkartOrderByOrderItemId_result.class, metaDataMap);
    }

    public getFlipkartOrderByOrderItemId_result() {
    }

    public getFlipkartOrderByOrderItemId_result(
      FlipkartOrder success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getFlipkartOrderByOrderItemId_result(getFlipkartOrderByOrderItemId_result other) {
      if (other.isSetSuccess()) {
        this.success = new FlipkartOrder(other.success);
      }
    }

    public getFlipkartOrderByOrderItemId_result deepCopy() {
      return new getFlipkartOrderByOrderItemId_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public FlipkartOrder getSuccess() {
      return this.success;
    }

    public void setSuccess(FlipkartOrder success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((FlipkartOrder)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getFlipkartOrderByOrderItemId_result)
        return this.equals((getFlipkartOrderByOrderItemId_result)that);
      return false;
    }

    public boolean equals(getFlipkartOrderByOrderItemId_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getFlipkartOrderByOrderItemId_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getFlipkartOrderByOrderItemId_result typedOther = (getFlipkartOrderByOrderItemId_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.success = new FlipkartOrder();
              this.success.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        this.success.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getFlipkartOrderByOrderItemId_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class updateFlipkartOrderDatesAndAWB_args implements org.apache.thrift.TBase<updateFlipkartOrderDatesAndAWB_args, updateFlipkartOrderDatesAndAWB_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateFlipkartOrderDatesAndAWB_args");

    private static final org.apache.thrift.protocol.TField FLIPKART_ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("flipkartOrderId", org.apache.thrift.protocol.TType.STRING, (short)1);
    private static final org.apache.thrift.protocol.TField FLIPKART_SUB_ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("flipkartSubOrderId", org.apache.thrift.protocol.TType.STRING, (short)2);
    private static final org.apache.thrift.protocol.TField DATE_FIELD_DESC = new org.apache.thrift.protocol.TField("date", org.apache.thrift.protocol.TType.I64, (short)3);
    private static final org.apache.thrift.protocol.TField AWB_FIELD_DESC = new org.apache.thrift.protocol.TField("awb", org.apache.thrift.protocol.TType.STRING, (short)4);

    private String flipkartOrderId; // required
    private String flipkartSubOrderId; // required
    private long date; // required
    private String awb; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      FLIPKART_ORDER_ID((short)1, "flipkartOrderId"),
      FLIPKART_SUB_ORDER_ID((short)2, "flipkartSubOrderId"),
      DATE((short)3, "date"),
      AWB((short)4, "awb");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // FLIPKART_ORDER_ID
            return FLIPKART_ORDER_ID;
          case 2: // FLIPKART_SUB_ORDER_ID
            return FLIPKART_SUB_ORDER_ID;
          case 3: // DATE
            return DATE;
          case 4: // AWB
            return AWB;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __DATE_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.FLIPKART_ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("flipkartOrderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.FLIPKART_SUB_ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("flipkartSubOrderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.DATE, new org.apache.thrift.meta_data.FieldMetaData("date", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.AWB, new org.apache.thrift.meta_data.FieldMetaData("awb", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateFlipkartOrderDatesAndAWB_args.class, metaDataMap);
    }

    public updateFlipkartOrderDatesAndAWB_args() {
    }

    public updateFlipkartOrderDatesAndAWB_args(
      String flipkartOrderId,
      String flipkartSubOrderId,
      long date,
      String awb)
    {
      this();
      this.flipkartOrderId = flipkartOrderId;
      this.flipkartSubOrderId = flipkartSubOrderId;
      this.date = date;
      setDateIsSet(true);
      this.awb = awb;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public updateFlipkartOrderDatesAndAWB_args(updateFlipkartOrderDatesAndAWB_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      if (other.isSetFlipkartOrderId()) {
        this.flipkartOrderId = other.flipkartOrderId;
      }
      if (other.isSetFlipkartSubOrderId()) {
        this.flipkartSubOrderId = other.flipkartSubOrderId;
      }
      this.date = other.date;
      if (other.isSetAwb()) {
        this.awb = other.awb;
      }
    }

    public updateFlipkartOrderDatesAndAWB_args deepCopy() {
      return new updateFlipkartOrderDatesAndAWB_args(this);
    }

    @Override
    public void clear() {
      this.flipkartOrderId = null;
      this.flipkartSubOrderId = null;
      setDateIsSet(false);
      this.date = 0;
      this.awb = null;
    }

    public String getFlipkartOrderId() {
      return this.flipkartOrderId;
    }

    public void setFlipkartOrderId(String flipkartOrderId) {
      this.flipkartOrderId = flipkartOrderId;
    }

    public void unsetFlipkartOrderId() {
      this.flipkartOrderId = null;
    }

    /** Returns true if field flipkartOrderId is set (has been assigned a value) and false otherwise */
    public boolean isSetFlipkartOrderId() {
      return this.flipkartOrderId != null;
    }

    public void setFlipkartOrderIdIsSet(boolean value) {
      if (!value) {
        this.flipkartOrderId = null;
      }
    }

    public String getFlipkartSubOrderId() {
      return this.flipkartSubOrderId;
    }

    public void setFlipkartSubOrderId(String flipkartSubOrderId) {
      this.flipkartSubOrderId = flipkartSubOrderId;
    }

    public void unsetFlipkartSubOrderId() {
      this.flipkartSubOrderId = null;
    }

    /** Returns true if field flipkartSubOrderId is set (has been assigned a value) and false otherwise */
    public boolean isSetFlipkartSubOrderId() {
      return this.flipkartSubOrderId != null;
    }

    public void setFlipkartSubOrderIdIsSet(boolean value) {
      if (!value) {
        this.flipkartSubOrderId = null;
      }
    }

    public long getDate() {
      return this.date;
    }

    public void setDate(long date) {
      this.date = date;
      setDateIsSet(true);
    }

    public void unsetDate() {
      __isset_bit_vector.clear(__DATE_ISSET_ID);
    }

    /** Returns true if field date is set (has been assigned a value) and false otherwise */
    public boolean isSetDate() {
      return __isset_bit_vector.get(__DATE_ISSET_ID);
    }

    public void setDateIsSet(boolean value) {
      __isset_bit_vector.set(__DATE_ISSET_ID, value);
    }

    public String getAwb() {
      return this.awb;
    }

    public void setAwb(String awb) {
      this.awb = awb;
    }

    public void unsetAwb() {
      this.awb = null;
    }

    /** Returns true if field awb is set (has been assigned a value) and false otherwise */
    public boolean isSetAwb() {
      return this.awb != null;
    }

    public void setAwbIsSet(boolean value) {
      if (!value) {
        this.awb = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case FLIPKART_ORDER_ID:
        if (value == null) {
          unsetFlipkartOrderId();
        } else {
          setFlipkartOrderId((String)value);
        }
        break;

      case FLIPKART_SUB_ORDER_ID:
        if (value == null) {
          unsetFlipkartSubOrderId();
        } else {
          setFlipkartSubOrderId((String)value);
        }
        break;

      case DATE:
        if (value == null) {
          unsetDate();
        } else {
          setDate((Long)value);
        }
        break;

      case AWB:
        if (value == null) {
          unsetAwb();
        } else {
          setAwb((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case FLIPKART_ORDER_ID:
        return getFlipkartOrderId();

      case FLIPKART_SUB_ORDER_ID:
        return getFlipkartSubOrderId();

      case DATE:
        return Long.valueOf(getDate());

      case AWB:
        return getAwb();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case FLIPKART_ORDER_ID:
        return isSetFlipkartOrderId();
      case FLIPKART_SUB_ORDER_ID:
        return isSetFlipkartSubOrderId();
      case DATE:
        return isSetDate();
      case AWB:
        return isSetAwb();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof updateFlipkartOrderDatesAndAWB_args)
        return this.equals((updateFlipkartOrderDatesAndAWB_args)that);
      return false;
    }

    public boolean equals(updateFlipkartOrderDatesAndAWB_args that) {
      if (that == null)
        return false;

      boolean this_present_flipkartOrderId = true && this.isSetFlipkartOrderId();
      boolean that_present_flipkartOrderId = true && that.isSetFlipkartOrderId();
      if (this_present_flipkartOrderId || that_present_flipkartOrderId) {
        if (!(this_present_flipkartOrderId && that_present_flipkartOrderId))
          return false;
        if (!this.flipkartOrderId.equals(that.flipkartOrderId))
          return false;
      }

      boolean this_present_flipkartSubOrderId = true && this.isSetFlipkartSubOrderId();
      boolean that_present_flipkartSubOrderId = true && that.isSetFlipkartSubOrderId();
      if (this_present_flipkartSubOrderId || that_present_flipkartSubOrderId) {
        if (!(this_present_flipkartSubOrderId && that_present_flipkartSubOrderId))
          return false;
        if (!this.flipkartSubOrderId.equals(that.flipkartSubOrderId))
          return false;
      }

      boolean this_present_date = true;
      boolean that_present_date = true;
      if (this_present_date || that_present_date) {
        if (!(this_present_date && that_present_date))
          return false;
        if (this.date != that.date)
          return false;
      }

      boolean this_present_awb = true && this.isSetAwb();
      boolean that_present_awb = true && that.isSetAwb();
      if (this_present_awb || that_present_awb) {
        if (!(this_present_awb && that_present_awb))
          return false;
        if (!this.awb.equals(that.awb))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(updateFlipkartOrderDatesAndAWB_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      updateFlipkartOrderDatesAndAWB_args typedOther = (updateFlipkartOrderDatesAndAWB_args)other;

      lastComparison = Boolean.valueOf(isSetFlipkartOrderId()).compareTo(typedOther.isSetFlipkartOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetFlipkartOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.flipkartOrderId, typedOther.flipkartOrderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetFlipkartSubOrderId()).compareTo(typedOther.isSetFlipkartSubOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetFlipkartSubOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.flipkartSubOrderId, typedOther.flipkartSubOrderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetDate()).compareTo(typedOther.isSetDate());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetDate()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.date, typedOther.date);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetAwb()).compareTo(typedOther.isSetAwb());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetAwb()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.awb, typedOther.awb);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // FLIPKART_ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.flipkartOrderId = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // FLIPKART_SUB_ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.flipkartSubOrderId = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // DATE
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.date = iprot.readI64();
              setDateIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 4: // AWB
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.awb = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.flipkartOrderId != null) {
        oprot.writeFieldBegin(FLIPKART_ORDER_ID_FIELD_DESC);
        oprot.writeString(this.flipkartOrderId);
        oprot.writeFieldEnd();
      }
      if (this.flipkartSubOrderId != null) {
        oprot.writeFieldBegin(FLIPKART_SUB_ORDER_ID_FIELD_DESC);
        oprot.writeString(this.flipkartSubOrderId);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldBegin(DATE_FIELD_DESC);
      oprot.writeI64(this.date);
      oprot.writeFieldEnd();
      if (this.awb != null) {
        oprot.writeFieldBegin(AWB_FIELD_DESC);
        oprot.writeString(this.awb);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("updateFlipkartOrderDatesAndAWB_args(");
      boolean first = true;

      sb.append("flipkartOrderId:");
      if (this.flipkartOrderId == null) {
        sb.append("null");
      } else {
        sb.append(this.flipkartOrderId);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("flipkartSubOrderId:");
      if (this.flipkartSubOrderId == null) {
        sb.append("null");
      } else {
        sb.append(this.flipkartSubOrderId);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("date:");
      sb.append(this.date);
      first = false;
      if (!first) sb.append(", ");
      sb.append("awb:");
      if (this.awb == null) {
        sb.append("null");
      } else {
        sb.append(this.awb);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class updateFlipkartOrderDatesAndAWB_result implements org.apache.thrift.TBase<updateFlipkartOrderDatesAndAWB_result, updateFlipkartOrderDatesAndAWB_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateFlipkartOrderDatesAndAWB_result");



    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
;

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateFlipkartOrderDatesAndAWB_result.class, metaDataMap);
    }

    public updateFlipkartOrderDatesAndAWB_result() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public updateFlipkartOrderDatesAndAWB_result(updateFlipkartOrderDatesAndAWB_result other) {
    }

    public updateFlipkartOrderDatesAndAWB_result deepCopy() {
      return new updateFlipkartOrderDatesAndAWB_result(this);
    }

    @Override
    public void clear() {
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof updateFlipkartOrderDatesAndAWB_result)
        return this.equals((updateFlipkartOrderDatesAndAWB_result)that);
      return false;
    }

    public boolean equals(updateFlipkartOrderDatesAndAWB_result that) {
      if (that == null)
        return false;

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(updateFlipkartOrderDatesAndAWB_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      updateFlipkartOrderDatesAndAWB_result typedOther = (updateFlipkartOrderDatesAndAWB_result)other;

      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("updateFlipkartOrderDatesAndAWB_result(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getOrdersCreatedAfterTimestampForSource_args implements org.apache.thrift.TBase<getOrdersCreatedAfterTimestampForSource_args, getOrdersCreatedAfterTimestampForSource_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getOrdersCreatedAfterTimestampForSource_args");

    private static final org.apache.thrift.protocol.TField TIMESTAMP_FIELD_DESC = new org.apache.thrift.protocol.TField("timestamp", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField SOURCE_FIELD_DESC = new org.apache.thrift.protocol.TField("source", org.apache.thrift.protocol.TType.I64, (short)2);

    private long timestamp; // required
    private long source; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      TIMESTAMP((short)1, "timestamp"),
      SOURCE((short)2, "source");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // TIMESTAMP
            return TIMESTAMP;
          case 2: // SOURCE
            return SOURCE;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __TIMESTAMP_ISSET_ID = 0;
    private static final int __SOURCE_ISSET_ID = 1;
    private BitSet __isset_bit_vector = new BitSet(2);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.TIMESTAMP, new org.apache.thrift.meta_data.FieldMetaData("timestamp", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.SOURCE, new org.apache.thrift.meta_data.FieldMetaData("source", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getOrdersCreatedAfterTimestampForSource_args.class, metaDataMap);
    }

    public getOrdersCreatedAfterTimestampForSource_args() {
    }

    public getOrdersCreatedAfterTimestampForSource_args(
      long timestamp,
      long source)
    {
      this();
      this.timestamp = timestamp;
      setTimestampIsSet(true);
      this.source = source;
      setSourceIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getOrdersCreatedAfterTimestampForSource_args(getOrdersCreatedAfterTimestampForSource_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.timestamp = other.timestamp;
      this.source = other.source;
    }

    public getOrdersCreatedAfterTimestampForSource_args deepCopy() {
      return new getOrdersCreatedAfterTimestampForSource_args(this);
    }

    @Override
    public void clear() {
      setTimestampIsSet(false);
      this.timestamp = 0;
      setSourceIsSet(false);
      this.source = 0;
    }

    public long getTimestamp() {
      return this.timestamp;
    }

    public void setTimestamp(long timestamp) {
      this.timestamp = timestamp;
      setTimestampIsSet(true);
    }

    public void unsetTimestamp() {
      __isset_bit_vector.clear(__TIMESTAMP_ISSET_ID);
    }

    /** Returns true if field timestamp is set (has been assigned a value) and false otherwise */
    public boolean isSetTimestamp() {
      return __isset_bit_vector.get(__TIMESTAMP_ISSET_ID);
    }

    public void setTimestampIsSet(boolean value) {
      __isset_bit_vector.set(__TIMESTAMP_ISSET_ID, value);
    }

    public long getSource() {
      return this.source;
    }

    public void setSource(long source) {
      this.source = source;
      setSourceIsSet(true);
    }

    public void unsetSource() {
      __isset_bit_vector.clear(__SOURCE_ISSET_ID);
    }

    /** Returns true if field source is set (has been assigned a value) and false otherwise */
    public boolean isSetSource() {
      return __isset_bit_vector.get(__SOURCE_ISSET_ID);
    }

    public void setSourceIsSet(boolean value) {
      __isset_bit_vector.set(__SOURCE_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case TIMESTAMP:
        if (value == null) {
          unsetTimestamp();
        } else {
          setTimestamp((Long)value);
        }
        break;

      case SOURCE:
        if (value == null) {
          unsetSource();
        } else {
          setSource((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case TIMESTAMP:
        return Long.valueOf(getTimestamp());

      case SOURCE:
        return Long.valueOf(getSource());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case TIMESTAMP:
        return isSetTimestamp();
      case SOURCE:
        return isSetSource();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getOrdersCreatedAfterTimestampForSource_args)
        return this.equals((getOrdersCreatedAfterTimestampForSource_args)that);
      return false;
    }

    public boolean equals(getOrdersCreatedAfterTimestampForSource_args that) {
      if (that == null)
        return false;

      boolean this_present_timestamp = true;
      boolean that_present_timestamp = true;
      if (this_present_timestamp || that_present_timestamp) {
        if (!(this_present_timestamp && that_present_timestamp))
          return false;
        if (this.timestamp != that.timestamp)
          return false;
      }

      boolean this_present_source = true;
      boolean that_present_source = true;
      if (this_present_source || that_present_source) {
        if (!(this_present_source && that_present_source))
          return false;
        if (this.source != that.source)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getOrdersCreatedAfterTimestampForSource_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getOrdersCreatedAfterTimestampForSource_args typedOther = (getOrdersCreatedAfterTimestampForSource_args)other;

      lastComparison = Boolean.valueOf(isSetTimestamp()).compareTo(typedOther.isSetTimestamp());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetTimestamp()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.timestamp, typedOther.timestamp);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetSource()).compareTo(typedOther.isSetSource());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSource()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.source, typedOther.source);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // TIMESTAMP
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.timestamp = iprot.readI64();
              setTimestampIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // SOURCE
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.source = iprot.readI64();
              setSourceIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(TIMESTAMP_FIELD_DESC);
      oprot.writeI64(this.timestamp);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(SOURCE_FIELD_DESC);
      oprot.writeI64(this.source);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getOrdersCreatedAfterTimestampForSource_args(");
      boolean first = true;

      sb.append("timestamp:");
      sb.append(this.timestamp);
      first = false;
      if (!first) sb.append(", ");
      sb.append("source:");
      sb.append(this.source);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getOrdersCreatedAfterTimestampForSource_result implements org.apache.thrift.TBase<getOrdersCreatedAfterTimestampForSource_result, getOrdersCreatedAfterTimestampForSource_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getOrdersCreatedAfterTimestampForSource_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.MAP, (short)0);

    private Map<Long,Long> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64), 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getOrdersCreatedAfterTimestampForSource_result.class, metaDataMap);
    }

    public getOrdersCreatedAfterTimestampForSource_result() {
    }

    public getOrdersCreatedAfterTimestampForSource_result(
      Map<Long,Long> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getOrdersCreatedAfterTimestampForSource_result(getOrdersCreatedAfterTimestampForSource_result other) {
      if (other.isSetSuccess()) {
        Map<Long,Long> __this__success = new HashMap<Long,Long>();
        for (Map.Entry<Long, Long> other_element : other.success.entrySet()) {

          Long other_element_key = other_element.getKey();
          Long other_element_value = other_element.getValue();

          Long __this__success_copy_key = other_element_key;

          Long __this__success_copy_value = other_element_value;

          __this__success.put(__this__success_copy_key, __this__success_copy_value);
        }
        this.success = __this__success;
      }
    }

    public getOrdersCreatedAfterTimestampForSource_result deepCopy() {
      return new getOrdersCreatedAfterTimestampForSource_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public void putToSuccess(long key, long val) {
      if (this.success == null) {
        this.success = new HashMap<Long,Long>();
      }
      this.success.put(key, val);
    }

    public Map<Long,Long> getSuccess() {
      return this.success;
    }

    public void setSuccess(Map<Long,Long> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Map<Long,Long>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getOrdersCreatedAfterTimestampForSource_result)
        return this.equals((getOrdersCreatedAfterTimestampForSource_result)that);
      return false;
    }

    public boolean equals(getOrdersCreatedAfterTimestampForSource_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getOrdersCreatedAfterTimestampForSource_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getOrdersCreatedAfterTimestampForSource_result typedOther = (getOrdersCreatedAfterTimestampForSource_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.MAP) {
              {
                org.apache.thrift.protocol.TMap _map544 = iprot.readMapBegin();
                this.success = new HashMap<Long,Long>(2*_map544.size);
                for (int _i545 = 0; _i545 < _map544.size; ++_i545)
                {
                  long _key546; // required
                  long _val547; // required
                  _key546 = iprot.readI64();
                  _val547 = iprot.readI64();
                  this.success.put(_key546, _val547);
                }
                iprot.readMapEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.I64, org.apache.thrift.protocol.TType.I64, this.success.size()));
          for (Map.Entry<Long, Long> _iter548 : this.success.entrySet())
          {
            oprot.writeI64(_iter548.getKey());
            oprot.writeI64(_iter548.getValue());
          }
          oprot.writeMapEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getOrdersCreatedAfterTimestampForSource_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getOrderForAirwayBillNo_args implements org.apache.thrift.TBase<getOrderForAirwayBillNo_args, getOrderForAirwayBillNo_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getOrderForAirwayBillNo_args");

    private static final org.apache.thrift.protocol.TField AIRWAYBILL_NO_FIELD_DESC = new org.apache.thrift.protocol.TField("airwaybillNo", org.apache.thrift.protocol.TType.STRING, (short)1);

    private String airwaybillNo; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      AIRWAYBILL_NO((short)1, "airwaybillNo");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // AIRWAYBILL_NO
            return AIRWAYBILL_NO;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.AIRWAYBILL_NO, new org.apache.thrift.meta_data.FieldMetaData("airwaybillNo", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getOrderForAirwayBillNo_args.class, metaDataMap);
    }

    public getOrderForAirwayBillNo_args() {
    }

    public getOrderForAirwayBillNo_args(
      String airwaybillNo)
    {
      this();
      this.airwaybillNo = airwaybillNo;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getOrderForAirwayBillNo_args(getOrderForAirwayBillNo_args other) {
      if (other.isSetAirwaybillNo()) {
        this.airwaybillNo = other.airwaybillNo;
      }
    }

    public getOrderForAirwayBillNo_args deepCopy() {
      return new getOrderForAirwayBillNo_args(this);
    }

    @Override
    public void clear() {
      this.airwaybillNo = null;
    }

    public String getAirwaybillNo() {
      return this.airwaybillNo;
    }

    public void setAirwaybillNo(String airwaybillNo) {
      this.airwaybillNo = airwaybillNo;
    }

    public void unsetAirwaybillNo() {
      this.airwaybillNo = null;
    }

    /** Returns true if field airwaybillNo is set (has been assigned a value) and false otherwise */
    public boolean isSetAirwaybillNo() {
      return this.airwaybillNo != null;
    }

    public void setAirwaybillNoIsSet(boolean value) {
      if (!value) {
        this.airwaybillNo = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case AIRWAYBILL_NO:
        if (value == null) {
          unsetAirwaybillNo();
        } else {
          setAirwaybillNo((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case AIRWAYBILL_NO:
        return getAirwaybillNo();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case AIRWAYBILL_NO:
        return isSetAirwaybillNo();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getOrderForAirwayBillNo_args)
        return this.equals((getOrderForAirwayBillNo_args)that);
      return false;
    }

    public boolean equals(getOrderForAirwayBillNo_args that) {
      if (that == null)
        return false;

      boolean this_present_airwaybillNo = true && this.isSetAirwaybillNo();
      boolean that_present_airwaybillNo = true && that.isSetAirwaybillNo();
      if (this_present_airwaybillNo || that_present_airwaybillNo) {
        if (!(this_present_airwaybillNo && that_present_airwaybillNo))
          return false;
        if (!this.airwaybillNo.equals(that.airwaybillNo))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getOrderForAirwayBillNo_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getOrderForAirwayBillNo_args typedOther = (getOrderForAirwayBillNo_args)other;

      lastComparison = Boolean.valueOf(isSetAirwaybillNo()).compareTo(typedOther.isSetAirwaybillNo());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetAirwaybillNo()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.airwaybillNo, typedOther.airwaybillNo);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // AIRWAYBILL_NO
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.airwaybillNo = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.airwaybillNo != null) {
        oprot.writeFieldBegin(AIRWAYBILL_NO_FIELD_DESC);
        oprot.writeString(this.airwaybillNo);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getOrderForAirwayBillNo_args(");
      boolean first = true;

      sb.append("airwaybillNo:");
      if (this.airwaybillNo == null) {
        sb.append("null");
      } else {
        sb.append(this.airwaybillNo);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getOrderForAirwayBillNo_result implements org.apache.thrift.TBase<getOrderForAirwayBillNo_result, getOrderForAirwayBillNo_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getOrderForAirwayBillNo_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private List<Order> success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Order.class))));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getOrderForAirwayBillNo_result.class, metaDataMap);
    }

    public getOrderForAirwayBillNo_result() {
    }

    public getOrderForAirwayBillNo_result(
      List<Order> success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getOrderForAirwayBillNo_result(getOrderForAirwayBillNo_result other) {
      if (other.isSetSuccess()) {
        List<Order> __this__success = new ArrayList<Order>();
        for (Order other_element : other.success) {
          __this__success.add(new Order(other_element));
        }
        this.success = __this__success;
      }
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public getOrderForAirwayBillNo_result deepCopy() {
      return new getOrderForAirwayBillNo_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.ex = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<Order> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(Order elem) {
      if (this.success == null) {
        this.success = new ArrayList<Order>();
      }
      this.success.add(elem);
    }

    public List<Order> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<Order> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<Order>)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getOrderForAirwayBillNo_result)
        return this.equals((getOrderForAirwayBillNo_result)that);
      return false;
    }

    public boolean equals(getOrderForAirwayBillNo_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getOrderForAirwayBillNo_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getOrderForAirwayBillNo_result typedOther = (getOrderForAirwayBillNo_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list549 = iprot.readListBegin();
                this.success = new ArrayList<Order>(_list549.size);
                for (int _i550 = 0; _i550 < _list549.size; ++_i550)
                {
                  Order _elem551; // required
                  _elem551 = new Order();
                  _elem551.read(iprot);
                  this.success.add(_elem551);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (Order _iter552 : this.success)
          {
            _iter552.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getOrderForAirwayBillNo_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getMinCreatedTimeStampUndeliveredOrdersForSource_args implements org.apache.thrift.TBase<getMinCreatedTimeStampUndeliveredOrdersForSource_args, getMinCreatedTimeStampUndeliveredOrdersForSource_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getMinCreatedTimeStampUndeliveredOrdersForSource_args");

    private static final org.apache.thrift.protocol.TField SOURCE_FIELD_DESC = new org.apache.thrift.protocol.TField("source", org.apache.thrift.protocol.TType.I32, (short)1);

    private int source; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SOURCE((short)1, "source");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // SOURCE
            return SOURCE;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SOURCE_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SOURCE, new org.apache.thrift.meta_data.FieldMetaData("source", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getMinCreatedTimeStampUndeliveredOrdersForSource_args.class, metaDataMap);
    }

    public getMinCreatedTimeStampUndeliveredOrdersForSource_args() {
    }

    public getMinCreatedTimeStampUndeliveredOrdersForSource_args(
      int source)
    {
      this();
      this.source = source;
      setSourceIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getMinCreatedTimeStampUndeliveredOrdersForSource_args(getMinCreatedTimeStampUndeliveredOrdersForSource_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.source = other.source;
    }

    public getMinCreatedTimeStampUndeliveredOrdersForSource_args deepCopy() {
      return new getMinCreatedTimeStampUndeliveredOrdersForSource_args(this);
    }

    @Override
    public void clear() {
      setSourceIsSet(false);
      this.source = 0;
    }

    public int getSource() {
      return this.source;
    }

    public void setSource(int source) {
      this.source = source;
      setSourceIsSet(true);
    }

    public void unsetSource() {
      __isset_bit_vector.clear(__SOURCE_ISSET_ID);
    }

    /** Returns true if field source is set (has been assigned a value) and false otherwise */
    public boolean isSetSource() {
      return __isset_bit_vector.get(__SOURCE_ISSET_ID);
    }

    public void setSourceIsSet(boolean value) {
      __isset_bit_vector.set(__SOURCE_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SOURCE:
        if (value == null) {
          unsetSource();
        } else {
          setSource((Integer)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SOURCE:
        return Integer.valueOf(getSource());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SOURCE:
        return isSetSource();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getMinCreatedTimeStampUndeliveredOrdersForSource_args)
        return this.equals((getMinCreatedTimeStampUndeliveredOrdersForSource_args)that);
      return false;
    }

    public boolean equals(getMinCreatedTimeStampUndeliveredOrdersForSource_args that) {
      if (that == null)
        return false;

      boolean this_present_source = true;
      boolean that_present_source = true;
      if (this_present_source || that_present_source) {
        if (!(this_present_source && that_present_source))
          return false;
        if (this.source != that.source)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getMinCreatedTimeStampUndeliveredOrdersForSource_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getMinCreatedTimeStampUndeliveredOrdersForSource_args typedOther = (getMinCreatedTimeStampUndeliveredOrdersForSource_args)other;

      lastComparison = Boolean.valueOf(isSetSource()).compareTo(typedOther.isSetSource());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSource()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.source, typedOther.source);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // SOURCE
            if (field.type == org.apache.thrift.protocol.TType.I32) {
              this.source = iprot.readI32();
              setSourceIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(SOURCE_FIELD_DESC);
      oprot.writeI32(this.source);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getMinCreatedTimeStampUndeliveredOrdersForSource_args(");
      boolean first = true;

      sb.append("source:");
      sb.append(this.source);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getMinCreatedTimeStampUndeliveredOrdersForSource_result implements org.apache.thrift.TBase<getMinCreatedTimeStampUndeliveredOrdersForSource_result, getMinCreatedTimeStampUndeliveredOrdersForSource_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getMinCreatedTimeStampUndeliveredOrdersForSource_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.I64, (short)0);

    private long success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getMinCreatedTimeStampUndeliveredOrdersForSource_result.class, metaDataMap);
    }

    public getMinCreatedTimeStampUndeliveredOrdersForSource_result() {
    }

    public getMinCreatedTimeStampUndeliveredOrdersForSource_result(
      long success)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getMinCreatedTimeStampUndeliveredOrdersForSource_result(getMinCreatedTimeStampUndeliveredOrdersForSource_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
    }

    public getMinCreatedTimeStampUndeliveredOrdersForSource_result deepCopy() {
      return new getMinCreatedTimeStampUndeliveredOrdersForSource_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = 0;
    }

    public long getSuccess() {
      return this.success;
    }

    public void setSuccess(long success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Long.valueOf(getSuccess());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getMinCreatedTimeStampUndeliveredOrdersForSource_result)
        return this.equals((getMinCreatedTimeStampUndeliveredOrdersForSource_result)that);
      return false;
    }

    public boolean equals(getMinCreatedTimeStampUndeliveredOrdersForSource_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getMinCreatedTimeStampUndeliveredOrdersForSource_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getMinCreatedTimeStampUndeliveredOrdersForSource_result typedOther = (getMinCreatedTimeStampUndeliveredOrdersForSource_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.success = iprot.readI64();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeI64(this.success);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getMinCreatedTimeStampUndeliveredOrdersForSource_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class updateSnapdealOrdersStatus_args implements org.apache.thrift.TBase<updateSnapdealOrdersStatus_args, updateSnapdealOrdersStatus_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateSnapdealOrdersStatus_args");

    private static final org.apache.thrift.protocol.TField ORDERS_FIELD_DESC = new org.apache.thrift.protocol.TField("orders", org.apache.thrift.protocol.TType.MAP, (short)1);

    private Map<String,List<List<String>>> orders; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ORDERS((short)1, "orders");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ORDERS
            return ORDERS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ORDERS, new org.apache.thrift.meta_data.FieldMetaData("orders", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING), 
              new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
                  new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
                      new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateSnapdealOrdersStatus_args.class, metaDataMap);
    }

    public updateSnapdealOrdersStatus_args() {
    }

    public updateSnapdealOrdersStatus_args(
      Map<String,List<List<String>>> orders)
    {
      this();
      this.orders = orders;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public updateSnapdealOrdersStatus_args(updateSnapdealOrdersStatus_args other) {
      if (other.isSetOrders()) {
        Map<String,List<List<String>>> __this__orders = new HashMap<String,List<List<String>>>();
        for (Map.Entry<String, List<List<String>>> other_element : other.orders.entrySet()) {

          String other_element_key = other_element.getKey();
          List<List<String>> other_element_value = other_element.getValue();

          String __this__orders_copy_key = other_element_key;

          List<List<String>> __this__orders_copy_value = new ArrayList<List<String>>();
          for (List<String> other_element_value_element : other_element_value) {
            List<String> __this__orders_copy_value_copy = new ArrayList<String>();
            for (String other_element_value_element_element : other_element_value_element) {
              __this__orders_copy_value_copy.add(other_element_value_element_element);
            }
            __this__orders_copy_value.add(__this__orders_copy_value_copy);
          }

          __this__orders.put(__this__orders_copy_key, __this__orders_copy_value);
        }
        this.orders = __this__orders;
      }
    }

    public updateSnapdealOrdersStatus_args deepCopy() {
      return new updateSnapdealOrdersStatus_args(this);
    }

    @Override
    public void clear() {
      this.orders = null;
    }

    public int getOrdersSize() {
      return (this.orders == null) ? 0 : this.orders.size();
    }

    public void putToOrders(String key, List<List<String>> val) {
      if (this.orders == null) {
        this.orders = new HashMap<String,List<List<String>>>();
      }
      this.orders.put(key, val);
    }

    public Map<String,List<List<String>>> getOrders() {
      return this.orders;
    }

    public void setOrders(Map<String,List<List<String>>> orders) {
      this.orders = orders;
    }

    public void unsetOrders() {
      this.orders = null;
    }

    /** Returns true if field orders is set (has been assigned a value) and false otherwise */
    public boolean isSetOrders() {
      return this.orders != null;
    }

    public void setOrdersIsSet(boolean value) {
      if (!value) {
        this.orders = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ORDERS:
        if (value == null) {
          unsetOrders();
        } else {
          setOrders((Map<String,List<List<String>>>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ORDERS:
        return getOrders();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ORDERS:
        return isSetOrders();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof updateSnapdealOrdersStatus_args)
        return this.equals((updateSnapdealOrdersStatus_args)that);
      return false;
    }

    public boolean equals(updateSnapdealOrdersStatus_args that) {
      if (that == null)
        return false;

      boolean this_present_orders = true && this.isSetOrders();
      boolean that_present_orders = true && that.isSetOrders();
      if (this_present_orders || that_present_orders) {
        if (!(this_present_orders && that_present_orders))
          return false;
        if (!this.orders.equals(that.orders))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(updateSnapdealOrdersStatus_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      updateSnapdealOrdersStatus_args typedOther = (updateSnapdealOrdersStatus_args)other;

      lastComparison = Boolean.valueOf(isSetOrders()).compareTo(typedOther.isSetOrders());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrders()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.orders, typedOther.orders);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ORDERS
            if (field.type == org.apache.thrift.protocol.TType.MAP) {
              {
                org.apache.thrift.protocol.TMap _map553 = iprot.readMapBegin();
                this.orders = new HashMap<String,List<List<String>>>(2*_map553.size);
                for (int _i554 = 0; _i554 < _map553.size; ++_i554)
                {
                  String _key555; // required
                  List<List<String>> _val556; // required
                  _key555 = iprot.readString();
                  {
                    org.apache.thrift.protocol.TList _list557 = iprot.readListBegin();
                    _val556 = new ArrayList<List<String>>(_list557.size);
                    for (int _i558 = 0; _i558 < _list557.size; ++_i558)
                    {
                      List<String> _elem559; // required
                      {
                        org.apache.thrift.protocol.TList _list560 = iprot.readListBegin();
                        _elem559 = new ArrayList<String>(_list560.size);
                        for (int _i561 = 0; _i561 < _list560.size; ++_i561)
                        {
                          String _elem562; // required
                          _elem562 = iprot.readString();
                          _elem559.add(_elem562);
                        }
                        iprot.readListEnd();
                      }
                      _val556.add(_elem559);
                    }
                    iprot.readListEnd();
                  }
                  this.orders.put(_key555, _val556);
                }
                iprot.readMapEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.orders != null) {
        oprot.writeFieldBegin(ORDERS_FIELD_DESC);
        {
          oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.LIST, this.orders.size()));
          for (Map.Entry<String, List<List<String>>> _iter563 : this.orders.entrySet())
          {
            oprot.writeString(_iter563.getKey());
            {
              oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.LIST, _iter563.getValue().size()));
              for (List<String> _iter564 : _iter563.getValue())
              {
                {
                  oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, _iter564.size()));
                  for (String _iter565 : _iter564)
                  {
                    oprot.writeString(_iter565);
                  }
                  oprot.writeListEnd();
                }
              }
              oprot.writeListEnd();
            }
          }
          oprot.writeMapEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("updateSnapdealOrdersStatus_args(");
      boolean first = true;

      sb.append("orders:");
      if (this.orders == null) {
        sb.append("null");
      } else {
        sb.append(this.orders);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class updateSnapdealOrdersStatus_result implements org.apache.thrift.TBase<updateSnapdealOrdersStatus_result, updateSnapdealOrdersStatus_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateSnapdealOrdersStatus_result");

    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateSnapdealOrdersStatus_result.class, metaDataMap);
    }

    public updateSnapdealOrdersStatus_result() {
    }

    public updateSnapdealOrdersStatus_result(
      TransactionServiceException ex)
    {
      this();
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public updateSnapdealOrdersStatus_result(updateSnapdealOrdersStatus_result other) {
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public updateSnapdealOrdersStatus_result deepCopy() {
      return new updateSnapdealOrdersStatus_result(this);
    }

    @Override
    public void clear() {
      this.ex = null;
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof updateSnapdealOrdersStatus_result)
        return this.equals((updateSnapdealOrdersStatus_result)that);
      return false;
    }

    public boolean equals(updateSnapdealOrdersStatus_result that) {
      if (that == null)
        return false;

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(updateSnapdealOrdersStatus_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      updateSnapdealOrdersStatus_result typedOther = (updateSnapdealOrdersStatus_result)other;

      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("updateSnapdealOrdersStatus_result(");
      boolean first = true;

      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class updateFlipkartOrdersStatus_args implements org.apache.thrift.TBase<updateFlipkartOrdersStatus_args, updateFlipkartOrdersStatus_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateFlipkartOrdersStatus_args");

    private static final org.apache.thrift.protocol.TField DELIVERED_ORDERS_FIELD_DESC = new org.apache.thrift.protocol.TField("delivered_orders", org.apache.thrift.protocol.TType.LIST, (short)1);

    private List<List<String>> delivered_orders; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      DELIVERED_ORDERS((short)1, "delivered_orders");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // DELIVERED_ORDERS
            return DELIVERED_ORDERS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.DELIVERED_ORDERS, new org.apache.thrift.meta_data.FieldMetaData("delivered_orders", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
                  new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateFlipkartOrdersStatus_args.class, metaDataMap);
    }

    public updateFlipkartOrdersStatus_args() {
    }

    public updateFlipkartOrdersStatus_args(
      List<List<String>> delivered_orders)
    {
      this();
      this.delivered_orders = delivered_orders;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public updateFlipkartOrdersStatus_args(updateFlipkartOrdersStatus_args other) {
      if (other.isSetDelivered_orders()) {
        List<List<String>> __this__delivered_orders = new ArrayList<List<String>>();
        for (List<String> other_element : other.delivered_orders) {
          List<String> __this__delivered_orders_copy = new ArrayList<String>();
          for (String other_element_element : other_element) {
            __this__delivered_orders_copy.add(other_element_element);
          }
          __this__delivered_orders.add(__this__delivered_orders_copy);
        }
        this.delivered_orders = __this__delivered_orders;
      }
    }

    public updateFlipkartOrdersStatus_args deepCopy() {
      return new updateFlipkartOrdersStatus_args(this);
    }

    @Override
    public void clear() {
      this.delivered_orders = null;
    }

    public int getDelivered_ordersSize() {
      return (this.delivered_orders == null) ? 0 : this.delivered_orders.size();
    }

    public java.util.Iterator<List<String>> getDelivered_ordersIterator() {
      return (this.delivered_orders == null) ? null : this.delivered_orders.iterator();
    }

    public void addToDelivered_orders(List<String> elem) {
      if (this.delivered_orders == null) {
        this.delivered_orders = new ArrayList<List<String>>();
      }
      this.delivered_orders.add(elem);
    }

    public List<List<String>> getDelivered_orders() {
      return this.delivered_orders;
    }

    public void setDelivered_orders(List<List<String>> delivered_orders) {
      this.delivered_orders = delivered_orders;
    }

    public void unsetDelivered_orders() {
      this.delivered_orders = null;
    }

    /** Returns true if field delivered_orders is set (has been assigned a value) and false otherwise */
    public boolean isSetDelivered_orders() {
      return this.delivered_orders != null;
    }

    public void setDelivered_ordersIsSet(boolean value) {
      if (!value) {
        this.delivered_orders = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case DELIVERED_ORDERS:
        if (value == null) {
          unsetDelivered_orders();
        } else {
          setDelivered_orders((List<List<String>>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case DELIVERED_ORDERS:
        return getDelivered_orders();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case DELIVERED_ORDERS:
        return isSetDelivered_orders();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof updateFlipkartOrdersStatus_args)
        return this.equals((updateFlipkartOrdersStatus_args)that);
      return false;
    }

    public boolean equals(updateFlipkartOrdersStatus_args that) {
      if (that == null)
        return false;

      boolean this_present_delivered_orders = true && this.isSetDelivered_orders();
      boolean that_present_delivered_orders = true && that.isSetDelivered_orders();
      if (this_present_delivered_orders || that_present_delivered_orders) {
        if (!(this_present_delivered_orders && that_present_delivered_orders))
          return false;
        if (!this.delivered_orders.equals(that.delivered_orders))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(updateFlipkartOrdersStatus_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      updateFlipkartOrdersStatus_args typedOther = (updateFlipkartOrdersStatus_args)other;

      lastComparison = Boolean.valueOf(isSetDelivered_orders()).compareTo(typedOther.isSetDelivered_orders());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetDelivered_orders()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.delivered_orders, typedOther.delivered_orders);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // DELIVERED_ORDERS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list566 = iprot.readListBegin();
                this.delivered_orders = new ArrayList<List<String>>(_list566.size);
                for (int _i567 = 0; _i567 < _list566.size; ++_i567)
                {
                  List<String> _elem568; // required
                  {
                    org.apache.thrift.protocol.TList _list569 = iprot.readListBegin();
                    _elem568 = new ArrayList<String>(_list569.size);
                    for (int _i570 = 0; _i570 < _list569.size; ++_i570)
                    {
                      String _elem571; // required
                      _elem571 = iprot.readString();
                      _elem568.add(_elem571);
                    }
                    iprot.readListEnd();
                  }
                  this.delivered_orders.add(_elem568);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.delivered_orders != null) {
        oprot.writeFieldBegin(DELIVERED_ORDERS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.LIST, this.delivered_orders.size()));
          for (List<String> _iter572 : this.delivered_orders)
          {
            {
              oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, _iter572.size()));
              for (String _iter573 : _iter572)
              {
                oprot.writeString(_iter573);
              }
              oprot.writeListEnd();
            }
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("updateFlipkartOrdersStatus_args(");
      boolean first = true;

      sb.append("delivered_orders:");
      if (this.delivered_orders == null) {
        sb.append("null");
      } else {
        sb.append(this.delivered_orders);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class updateFlipkartOrdersStatus_result implements org.apache.thrift.TBase<updateFlipkartOrdersStatus_result, updateFlipkartOrdersStatus_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateFlipkartOrdersStatus_result");

    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateFlipkartOrdersStatus_result.class, metaDataMap);
    }

    public updateFlipkartOrdersStatus_result() {
    }

    public updateFlipkartOrdersStatus_result(
      TransactionServiceException ex)
    {
      this();
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public updateFlipkartOrdersStatus_result(updateFlipkartOrdersStatus_result other) {
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public updateFlipkartOrdersStatus_result deepCopy() {
      return new updateFlipkartOrdersStatus_result(this);
    }

    @Override
    public void clear() {
      this.ex = null;
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof updateFlipkartOrdersStatus_result)
        return this.equals((updateFlipkartOrdersStatus_result)that);
      return false;
    }

    public boolean equals(updateFlipkartOrdersStatus_result that) {
      if (that == null)
        return false;

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(updateFlipkartOrdersStatus_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      updateFlipkartOrdersStatus_result typedOther = (updateFlipkartOrdersStatus_result)other;

      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("updateFlipkartOrdersStatus_result(");
      boolean first = true;

      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class bulkAddOrUpdateAmazonFbaSalesSnapshot_args implements org.apache.thrift.TBase<bulkAddOrUpdateAmazonFbaSalesSnapshot_args, bulkAddOrUpdateAmazonFbaSalesSnapshot_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("bulkAddOrUpdateAmazonFbaSalesSnapshot_args");

    private static final org.apache.thrift.protocol.TField AMAZONFBASALESSNAPSHOTLIST_FIELD_DESC = new org.apache.thrift.protocol.TField("amazonfbasalessnapshotlist", org.apache.thrift.protocol.TType.LIST, (short)1);

    private List<AmazonFbaSalesSnapshot> amazonfbasalessnapshotlist; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      AMAZONFBASALESSNAPSHOTLIST((short)1, "amazonfbasalessnapshotlist");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // AMAZONFBASALESSNAPSHOTLIST
            return AMAZONFBASALESSNAPSHOTLIST;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.AMAZONFBASALESSNAPSHOTLIST, new org.apache.thrift.meta_data.FieldMetaData("amazonfbasalessnapshotlist", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, AmazonFbaSalesSnapshot.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(bulkAddOrUpdateAmazonFbaSalesSnapshot_args.class, metaDataMap);
    }

    public bulkAddOrUpdateAmazonFbaSalesSnapshot_args() {
    }

    public bulkAddOrUpdateAmazonFbaSalesSnapshot_args(
      List<AmazonFbaSalesSnapshot> amazonfbasalessnapshotlist)
    {
      this();
      this.amazonfbasalessnapshotlist = amazonfbasalessnapshotlist;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public bulkAddOrUpdateAmazonFbaSalesSnapshot_args(bulkAddOrUpdateAmazonFbaSalesSnapshot_args other) {
      if (other.isSetAmazonfbasalessnapshotlist()) {
        List<AmazonFbaSalesSnapshot> __this__amazonfbasalessnapshotlist = new ArrayList<AmazonFbaSalesSnapshot>();
        for (AmazonFbaSalesSnapshot other_element : other.amazonfbasalessnapshotlist) {
          __this__amazonfbasalessnapshotlist.add(new AmazonFbaSalesSnapshot(other_element));
        }
        this.amazonfbasalessnapshotlist = __this__amazonfbasalessnapshotlist;
      }
    }

    public bulkAddOrUpdateAmazonFbaSalesSnapshot_args deepCopy() {
      return new bulkAddOrUpdateAmazonFbaSalesSnapshot_args(this);
    }

    @Override
    public void clear() {
      this.amazonfbasalessnapshotlist = null;
    }

    public int getAmazonfbasalessnapshotlistSize() {
      return (this.amazonfbasalessnapshotlist == null) ? 0 : this.amazonfbasalessnapshotlist.size();
    }

    public java.util.Iterator<AmazonFbaSalesSnapshot> getAmazonfbasalessnapshotlistIterator() {
      return (this.amazonfbasalessnapshotlist == null) ? null : this.amazonfbasalessnapshotlist.iterator();
    }

    public void addToAmazonfbasalessnapshotlist(AmazonFbaSalesSnapshot elem) {
      if (this.amazonfbasalessnapshotlist == null) {
        this.amazonfbasalessnapshotlist = new ArrayList<AmazonFbaSalesSnapshot>();
      }
      this.amazonfbasalessnapshotlist.add(elem);
    }

    public List<AmazonFbaSalesSnapshot> getAmazonfbasalessnapshotlist() {
      return this.amazonfbasalessnapshotlist;
    }

    public void setAmazonfbasalessnapshotlist(List<AmazonFbaSalesSnapshot> amazonfbasalessnapshotlist) {
      this.amazonfbasalessnapshotlist = amazonfbasalessnapshotlist;
    }

    public void unsetAmazonfbasalessnapshotlist() {
      this.amazonfbasalessnapshotlist = null;
    }

    /** Returns true if field amazonfbasalessnapshotlist is set (has been assigned a value) and false otherwise */
    public boolean isSetAmazonfbasalessnapshotlist() {
      return this.amazonfbasalessnapshotlist != null;
    }

    public void setAmazonfbasalessnapshotlistIsSet(boolean value) {
      if (!value) {
        this.amazonfbasalessnapshotlist = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case AMAZONFBASALESSNAPSHOTLIST:
        if (value == null) {
          unsetAmazonfbasalessnapshotlist();
        } else {
          setAmazonfbasalessnapshotlist((List<AmazonFbaSalesSnapshot>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case AMAZONFBASALESSNAPSHOTLIST:
        return getAmazonfbasalessnapshotlist();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case AMAZONFBASALESSNAPSHOTLIST:
        return isSetAmazonfbasalessnapshotlist();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof bulkAddOrUpdateAmazonFbaSalesSnapshot_args)
        return this.equals((bulkAddOrUpdateAmazonFbaSalesSnapshot_args)that);
      return false;
    }

    public boolean equals(bulkAddOrUpdateAmazonFbaSalesSnapshot_args that) {
      if (that == null)
        return false;

      boolean this_present_amazonfbasalessnapshotlist = true && this.isSetAmazonfbasalessnapshotlist();
      boolean that_present_amazonfbasalessnapshotlist = true && that.isSetAmazonfbasalessnapshotlist();
      if (this_present_amazonfbasalessnapshotlist || that_present_amazonfbasalessnapshotlist) {
        if (!(this_present_amazonfbasalessnapshotlist && that_present_amazonfbasalessnapshotlist))
          return false;
        if (!this.amazonfbasalessnapshotlist.equals(that.amazonfbasalessnapshotlist))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(bulkAddOrUpdateAmazonFbaSalesSnapshot_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      bulkAddOrUpdateAmazonFbaSalesSnapshot_args typedOther = (bulkAddOrUpdateAmazonFbaSalesSnapshot_args)other;

      lastComparison = Boolean.valueOf(isSetAmazonfbasalessnapshotlist()).compareTo(typedOther.isSetAmazonfbasalessnapshotlist());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetAmazonfbasalessnapshotlist()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.amazonfbasalessnapshotlist, typedOther.amazonfbasalessnapshotlist);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // AMAZONFBASALESSNAPSHOTLIST
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list574 = iprot.readListBegin();
                this.amazonfbasalessnapshotlist = new ArrayList<AmazonFbaSalesSnapshot>(_list574.size);
                for (int _i575 = 0; _i575 < _list574.size; ++_i575)
                {
                  AmazonFbaSalesSnapshot _elem576; // required
                  _elem576 = new AmazonFbaSalesSnapshot();
                  _elem576.read(iprot);
                  this.amazonfbasalessnapshotlist.add(_elem576);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.amazonfbasalessnapshotlist != null) {
        oprot.writeFieldBegin(AMAZONFBASALESSNAPSHOTLIST_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.amazonfbasalessnapshotlist.size()));
          for (AmazonFbaSalesSnapshot _iter577 : this.amazonfbasalessnapshotlist)
          {
            _iter577.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("bulkAddOrUpdateAmazonFbaSalesSnapshot_args(");
      boolean first = true;

      sb.append("amazonfbasalessnapshotlist:");
      if (this.amazonfbasalessnapshotlist == null) {
        sb.append("null");
      } else {
        sb.append(this.amazonfbasalessnapshotlist);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class bulkAddOrUpdateAmazonFbaSalesSnapshot_result implements org.apache.thrift.TBase<bulkAddOrUpdateAmazonFbaSalesSnapshot_result, bulkAddOrUpdateAmazonFbaSalesSnapshot_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("bulkAddOrUpdateAmazonFbaSalesSnapshot_result");



    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
;

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(bulkAddOrUpdateAmazonFbaSalesSnapshot_result.class, metaDataMap);
    }

    public bulkAddOrUpdateAmazonFbaSalesSnapshot_result() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public bulkAddOrUpdateAmazonFbaSalesSnapshot_result(bulkAddOrUpdateAmazonFbaSalesSnapshot_result other) {
    }

    public bulkAddOrUpdateAmazonFbaSalesSnapshot_result deepCopy() {
      return new bulkAddOrUpdateAmazonFbaSalesSnapshot_result(this);
    }

    @Override
    public void clear() {
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof bulkAddOrUpdateAmazonFbaSalesSnapshot_result)
        return this.equals((bulkAddOrUpdateAmazonFbaSalesSnapshot_result)that);
      return false;
    }

    public boolean equals(bulkAddOrUpdateAmazonFbaSalesSnapshot_result that) {
      if (that == null)
        return false;

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(bulkAddOrUpdateAmazonFbaSalesSnapshot_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      bulkAddOrUpdateAmazonFbaSalesSnapshot_result typedOther = (bulkAddOrUpdateAmazonFbaSalesSnapshot_result)other;

      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("bulkAddOrUpdateAmazonFbaSalesSnapshot_result(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getCreatedOrdersForFlipkart_args implements org.apache.thrift.TBase<getCreatedOrdersForFlipkart_args, getCreatedOrdersForFlipkart_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getCreatedOrdersForFlipkart_args");

    private static final org.apache.thrift.protocol.TField FLIPKARTORDERIDS_FIELD_DESC = new org.apache.thrift.protocol.TField("flipkartorderids", org.apache.thrift.protocol.TType.LIST, (short)-1);

    private List<String> flipkartorderids; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      FLIPKARTORDERIDS((short)-1, "flipkartorderids");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case -1: // FLIPKARTORDERIDS
            return FLIPKARTORDERIDS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.FLIPKARTORDERIDS, new org.apache.thrift.meta_data.FieldMetaData("flipkartorderids", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getCreatedOrdersForFlipkart_args.class, metaDataMap);
    }

    public getCreatedOrdersForFlipkart_args() {
    }

    public getCreatedOrdersForFlipkart_args(
      List<String> flipkartorderids)
    {
      this();
      this.flipkartorderids = flipkartorderids;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getCreatedOrdersForFlipkart_args(getCreatedOrdersForFlipkart_args other) {
      if (other.isSetFlipkartorderids()) {
        List<String> __this__flipkartorderids = new ArrayList<String>();
        for (String other_element : other.flipkartorderids) {
          __this__flipkartorderids.add(other_element);
        }
        this.flipkartorderids = __this__flipkartorderids;
      }
    }

    public getCreatedOrdersForFlipkart_args deepCopy() {
      return new getCreatedOrdersForFlipkart_args(this);
    }

    @Override
    public void clear() {
      this.flipkartorderids = null;
    }

    public int getFlipkartorderidsSize() {
      return (this.flipkartorderids == null) ? 0 : this.flipkartorderids.size();
    }

    public java.util.Iterator<String> getFlipkartorderidsIterator() {
      return (this.flipkartorderids == null) ? null : this.flipkartorderids.iterator();
    }

    public void addToFlipkartorderids(String elem) {
      if (this.flipkartorderids == null) {
        this.flipkartorderids = new ArrayList<String>();
      }
      this.flipkartorderids.add(elem);
    }

    public List<String> getFlipkartorderids() {
      return this.flipkartorderids;
    }

    public void setFlipkartorderids(List<String> flipkartorderids) {
      this.flipkartorderids = flipkartorderids;
    }

    public void unsetFlipkartorderids() {
      this.flipkartorderids = null;
    }

    /** Returns true if field flipkartorderids is set (has been assigned a value) and false otherwise */
    public boolean isSetFlipkartorderids() {
      return this.flipkartorderids != null;
    }

    public void setFlipkartorderidsIsSet(boolean value) {
      if (!value) {
        this.flipkartorderids = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case FLIPKARTORDERIDS:
        if (value == null) {
          unsetFlipkartorderids();
        } else {
          setFlipkartorderids((List<String>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case FLIPKARTORDERIDS:
        return getFlipkartorderids();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case FLIPKARTORDERIDS:
        return isSetFlipkartorderids();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getCreatedOrdersForFlipkart_args)
        return this.equals((getCreatedOrdersForFlipkart_args)that);
      return false;
    }

    public boolean equals(getCreatedOrdersForFlipkart_args that) {
      if (that == null)
        return false;

      boolean this_present_flipkartorderids = true && this.isSetFlipkartorderids();
      boolean that_present_flipkartorderids = true && that.isSetFlipkartorderids();
      if (this_present_flipkartorderids || that_present_flipkartorderids) {
        if (!(this_present_flipkartorderids && that_present_flipkartorderids))
          return false;
        if (!this.flipkartorderids.equals(that.flipkartorderids))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getCreatedOrdersForFlipkart_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getCreatedOrdersForFlipkart_args typedOther = (getCreatedOrdersForFlipkart_args)other;

      lastComparison = Boolean.valueOf(isSetFlipkartorderids()).compareTo(typedOther.isSetFlipkartorderids());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetFlipkartorderids()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.flipkartorderids, typedOther.flipkartorderids);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case -1: // FLIPKARTORDERIDS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list578 = iprot.readListBegin();
                this.flipkartorderids = new ArrayList<String>(_list578.size);
                for (int _i579 = 0; _i579 < _list578.size; ++_i579)
                {
                  String _elem580; // required
                  _elem580 = iprot.readString();
                  this.flipkartorderids.add(_elem580);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.flipkartorderids != null) {
        oprot.writeFieldBegin(FLIPKARTORDERIDS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, this.flipkartorderids.size()));
          for (String _iter581 : this.flipkartorderids)
          {
            oprot.writeString(_iter581);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getCreatedOrdersForFlipkart_args(");
      boolean first = true;

      sb.append("flipkartorderids:");
      if (this.flipkartorderids == null) {
        sb.append("null");
      } else {
        sb.append(this.flipkartorderids);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getCreatedOrdersForFlipkart_result implements org.apache.thrift.TBase<getCreatedOrdersForFlipkart_result, getCreatedOrdersForFlipkart_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getCreatedOrdersForFlipkart_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.MAP, (short)0);

    private Map<Long,Long> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64), 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getCreatedOrdersForFlipkart_result.class, metaDataMap);
    }

    public getCreatedOrdersForFlipkart_result() {
    }

    public getCreatedOrdersForFlipkart_result(
      Map<Long,Long> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getCreatedOrdersForFlipkart_result(getCreatedOrdersForFlipkart_result other) {
      if (other.isSetSuccess()) {
        Map<Long,Long> __this__success = new HashMap<Long,Long>();
        for (Map.Entry<Long, Long> other_element : other.success.entrySet()) {

          Long other_element_key = other_element.getKey();
          Long other_element_value = other_element.getValue();

          Long __this__success_copy_key = other_element_key;

          Long __this__success_copy_value = other_element_value;

          __this__success.put(__this__success_copy_key, __this__success_copy_value);
        }
        this.success = __this__success;
      }
    }

    public getCreatedOrdersForFlipkart_result deepCopy() {
      return new getCreatedOrdersForFlipkart_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public void putToSuccess(long key, long val) {
      if (this.success == null) {
        this.success = new HashMap<Long,Long>();
      }
      this.success.put(key, val);
    }

    public Map<Long,Long> getSuccess() {
      return this.success;
    }

    public void setSuccess(Map<Long,Long> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Map<Long,Long>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getCreatedOrdersForFlipkart_result)
        return this.equals((getCreatedOrdersForFlipkart_result)that);
      return false;
    }

    public boolean equals(getCreatedOrdersForFlipkart_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getCreatedOrdersForFlipkart_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getCreatedOrdersForFlipkart_result typedOther = (getCreatedOrdersForFlipkart_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.MAP) {
              {
                org.apache.thrift.protocol.TMap _map582 = iprot.readMapBegin();
                this.success = new HashMap<Long,Long>(2*_map582.size);
                for (int _i583 = 0; _i583 < _map582.size; ++_i583)
                {
                  long _key584; // required
                  long _val585; // required
                  _key584 = iprot.readI64();
                  _val585 = iprot.readI64();
                  this.success.put(_key584, _val585);
                }
                iprot.readMapEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.I64, org.apache.thrift.protocol.TType.I64, this.success.size()));
          for (Map.Entry<Long, Long> _iter586 : this.success.entrySet())
          {
            oprot.writeI64(_iter586.getKey());
            oprot.writeI64(_iter586.getValue());
          }
          oprot.writeMapEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getCreatedOrdersForFlipkart_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class isPrivateDealTransaction_args implements org.apache.thrift.TBase<isPrivateDealTransaction_args, isPrivateDealTransaction_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("isPrivateDealTransaction_args");

    private static final org.apache.thrift.protocol.TField TRANSACTION_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("transactionId", org.apache.thrift.protocol.TType.I64, (short)1);

    private long transactionId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      TRANSACTION_ID((short)1, "transactionId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // TRANSACTION_ID
            return TRANSACTION_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __TRANSACTIONID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.TRANSACTION_ID, new org.apache.thrift.meta_data.FieldMetaData("transactionId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(isPrivateDealTransaction_args.class, metaDataMap);
    }

    public isPrivateDealTransaction_args() {
    }

    public isPrivateDealTransaction_args(
      long transactionId)
    {
      this();
      this.transactionId = transactionId;
      setTransactionIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public isPrivateDealTransaction_args(isPrivateDealTransaction_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.transactionId = other.transactionId;
    }

    public isPrivateDealTransaction_args deepCopy() {
      return new isPrivateDealTransaction_args(this);
    }

    @Override
    public void clear() {
      setTransactionIdIsSet(false);
      this.transactionId = 0;
    }

    public long getTransactionId() {
      return this.transactionId;
    }

    public void setTransactionId(long transactionId) {
      this.transactionId = transactionId;
      setTransactionIdIsSet(true);
    }

    public void unsetTransactionId() {
      __isset_bit_vector.clear(__TRANSACTIONID_ISSET_ID);
    }

    /** Returns true if field transactionId is set (has been assigned a value) and false otherwise */
    public boolean isSetTransactionId() {
      return __isset_bit_vector.get(__TRANSACTIONID_ISSET_ID);
    }

    public void setTransactionIdIsSet(boolean value) {
      __isset_bit_vector.set(__TRANSACTIONID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case TRANSACTION_ID:
        if (value == null) {
          unsetTransactionId();
        } else {
          setTransactionId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case TRANSACTION_ID:
        return Long.valueOf(getTransactionId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case TRANSACTION_ID:
        return isSetTransactionId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof isPrivateDealTransaction_args)
        return this.equals((isPrivateDealTransaction_args)that);
      return false;
    }

    public boolean equals(isPrivateDealTransaction_args that) {
      if (that == null)
        return false;

      boolean this_present_transactionId = true;
      boolean that_present_transactionId = true;
      if (this_present_transactionId || that_present_transactionId) {
        if (!(this_present_transactionId && that_present_transactionId))
          return false;
        if (this.transactionId != that.transactionId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(isPrivateDealTransaction_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      isPrivateDealTransaction_args typedOther = (isPrivateDealTransaction_args)other;

      lastComparison = Boolean.valueOf(isSetTransactionId()).compareTo(typedOther.isSetTransactionId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetTransactionId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.transactionId, typedOther.transactionId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // TRANSACTION_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.transactionId = iprot.readI64();
              setTransactionIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(TRANSACTION_ID_FIELD_DESC);
      oprot.writeI64(this.transactionId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("isPrivateDealTransaction_args(");
      boolean first = true;

      sb.append("transactionId:");
      sb.append(this.transactionId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class isPrivateDealTransaction_result implements org.apache.thrift.TBase<isPrivateDealTransaction_result, isPrivateDealTransaction_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("isPrivateDealTransaction_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);

    private boolean success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(isPrivateDealTransaction_result.class, metaDataMap);
    }

    public isPrivateDealTransaction_result() {
    }

    public isPrivateDealTransaction_result(
      boolean success)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public isPrivateDealTransaction_result(isPrivateDealTransaction_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
    }

    public isPrivateDealTransaction_result deepCopy() {
      return new isPrivateDealTransaction_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = false;
    }

    public boolean isSuccess() {
      return this.success;
    }

    public void setSuccess(boolean success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Boolean.valueOf(isSuccess());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof isPrivateDealTransaction_result)
        return this.equals((isPrivateDealTransaction_result)that);
      return false;
    }

    public boolean equals(isPrivateDealTransaction_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(isPrivateDealTransaction_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      isPrivateDealTransaction_result typedOther = (isPrivateDealTransaction_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.success = iprot.readBool();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBool(this.success);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("isPrivateDealTransaction_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getAmazonFbaSalesLatestSnapshotForItemLocationWise_args implements org.apache.thrift.TBase<getAmazonFbaSalesLatestSnapshotForItemLocationWise_args, getAmazonFbaSalesLatestSnapshotForItemLocationWise_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAmazonFbaSalesLatestSnapshotForItemLocationWise_args");

    private static final org.apache.thrift.protocol.TField ITEM_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("item_id", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField LOCATION_FIELD_DESC = new org.apache.thrift.protocol.TField("location", org.apache.thrift.protocol.TType.I64, (short)2);

    private long item_id; // required
    private long location; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ITEM_ID((short)1, "item_id"),
      LOCATION((short)2, "location");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ITEM_ID
            return ITEM_ID;
          case 2: // LOCATION
            return LOCATION;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ITEM_ID_ISSET_ID = 0;
    private static final int __LOCATION_ISSET_ID = 1;
    private BitSet __isset_bit_vector = new BitSet(2);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ITEM_ID, new org.apache.thrift.meta_data.FieldMetaData("item_id", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.LOCATION, new org.apache.thrift.meta_data.FieldMetaData("location", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAmazonFbaSalesLatestSnapshotForItemLocationWise_args.class, metaDataMap);
    }

    public getAmazonFbaSalesLatestSnapshotForItemLocationWise_args() {
    }

    public getAmazonFbaSalesLatestSnapshotForItemLocationWise_args(
      long item_id,
      long location)
    {
      this();
      this.item_id = item_id;
      setItem_idIsSet(true);
      this.location = location;
      setLocationIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getAmazonFbaSalesLatestSnapshotForItemLocationWise_args(getAmazonFbaSalesLatestSnapshotForItemLocationWise_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.item_id = other.item_id;
      this.location = other.location;
    }

    public getAmazonFbaSalesLatestSnapshotForItemLocationWise_args deepCopy() {
      return new getAmazonFbaSalesLatestSnapshotForItemLocationWise_args(this);
    }

    @Override
    public void clear() {
      setItem_idIsSet(false);
      this.item_id = 0;
      setLocationIsSet(false);
      this.location = 0;
    }

    public long getItem_id() {
      return this.item_id;
    }

    public void setItem_id(long item_id) {
      this.item_id = item_id;
      setItem_idIsSet(true);
    }

    public void unsetItem_id() {
      __isset_bit_vector.clear(__ITEM_ID_ISSET_ID);
    }

    /** Returns true if field item_id is set (has been assigned a value) and false otherwise */
    public boolean isSetItem_id() {
      return __isset_bit_vector.get(__ITEM_ID_ISSET_ID);
    }

    public void setItem_idIsSet(boolean value) {
      __isset_bit_vector.set(__ITEM_ID_ISSET_ID, value);
    }

    public long getLocation() {
      return this.location;
    }

    public void setLocation(long location) {
      this.location = location;
      setLocationIsSet(true);
    }

    public void unsetLocation() {
      __isset_bit_vector.clear(__LOCATION_ISSET_ID);
    }

    /** Returns true if field location is set (has been assigned a value) and false otherwise */
    public boolean isSetLocation() {
      return __isset_bit_vector.get(__LOCATION_ISSET_ID);
    }

    public void setLocationIsSet(boolean value) {
      __isset_bit_vector.set(__LOCATION_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ITEM_ID:
        if (value == null) {
          unsetItem_id();
        } else {
          setItem_id((Long)value);
        }
        break;

      case LOCATION:
        if (value == null) {
          unsetLocation();
        } else {
          setLocation((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ITEM_ID:
        return Long.valueOf(getItem_id());

      case LOCATION:
        return Long.valueOf(getLocation());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ITEM_ID:
        return isSetItem_id();
      case LOCATION:
        return isSetLocation();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getAmazonFbaSalesLatestSnapshotForItemLocationWise_args)
        return this.equals((getAmazonFbaSalesLatestSnapshotForItemLocationWise_args)that);
      return false;
    }

    public boolean equals(getAmazonFbaSalesLatestSnapshotForItemLocationWise_args that) {
      if (that == null)
        return false;

      boolean this_present_item_id = true;
      boolean that_present_item_id = true;
      if (this_present_item_id || that_present_item_id) {
        if (!(this_present_item_id && that_present_item_id))
          return false;
        if (this.item_id != that.item_id)
          return false;
      }

      boolean this_present_location = true;
      boolean that_present_location = true;
      if (this_present_location || that_present_location) {
        if (!(this_present_location && that_present_location))
          return false;
        if (this.location != that.location)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getAmazonFbaSalesLatestSnapshotForItemLocationWise_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getAmazonFbaSalesLatestSnapshotForItemLocationWise_args typedOther = (getAmazonFbaSalesLatestSnapshotForItemLocationWise_args)other;

      lastComparison = Boolean.valueOf(isSetItem_id()).compareTo(typedOther.isSetItem_id());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetItem_id()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.item_id, typedOther.item_id);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetLocation()).compareTo(typedOther.isSetLocation());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetLocation()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.location, typedOther.location);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ITEM_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.item_id = iprot.readI64();
              setItem_idIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // LOCATION
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.location = iprot.readI64();
              setLocationIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ITEM_ID_FIELD_DESC);
      oprot.writeI64(this.item_id);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(LOCATION_FIELD_DESC);
      oprot.writeI64(this.location);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getAmazonFbaSalesLatestSnapshotForItemLocationWise_args(");
      boolean first = true;

      sb.append("item_id:");
      sb.append(this.item_id);
      first = false;
      if (!first) sb.append(", ");
      sb.append("location:");
      sb.append(this.location);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getAmazonFbaSalesLatestSnapshotForItemLocationWise_result implements org.apache.thrift.TBase<getAmazonFbaSalesLatestSnapshotForItemLocationWise_result, getAmazonFbaSalesLatestSnapshotForItemLocationWise_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAmazonFbaSalesLatestSnapshotForItemLocationWise_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);

    private AmazonFbaSalesSnapshot success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, AmazonFbaSalesSnapshot.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAmazonFbaSalesLatestSnapshotForItemLocationWise_result.class, metaDataMap);
    }

    public getAmazonFbaSalesLatestSnapshotForItemLocationWise_result() {
    }

    public getAmazonFbaSalesLatestSnapshotForItemLocationWise_result(
      AmazonFbaSalesSnapshot success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getAmazonFbaSalesLatestSnapshotForItemLocationWise_result(getAmazonFbaSalesLatestSnapshotForItemLocationWise_result other) {
      if (other.isSetSuccess()) {
        this.success = new AmazonFbaSalesSnapshot(other.success);
      }
    }

    public getAmazonFbaSalesLatestSnapshotForItemLocationWise_result deepCopy() {
      return new getAmazonFbaSalesLatestSnapshotForItemLocationWise_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public AmazonFbaSalesSnapshot getSuccess() {
      return this.success;
    }

    public void setSuccess(AmazonFbaSalesSnapshot success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((AmazonFbaSalesSnapshot)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getAmazonFbaSalesLatestSnapshotForItemLocationWise_result)
        return this.equals((getAmazonFbaSalesLatestSnapshotForItemLocationWise_result)that);
      return false;
    }

    public boolean equals(getAmazonFbaSalesLatestSnapshotForItemLocationWise_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getAmazonFbaSalesLatestSnapshotForItemLocationWise_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getAmazonFbaSalesLatestSnapshotForItemLocationWise_result typedOther = (getAmazonFbaSalesLatestSnapshotForItemLocationWise_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.success = new AmazonFbaSalesSnapshot();
              this.success.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        this.success.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getAmazonFbaSalesLatestSnapshotForItemLocationWise_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class changeEasyshipMfnOrderTxnStatus_args implements org.apache.thrift.TBase<changeEasyshipMfnOrderTxnStatus_args, changeEasyshipMfnOrderTxnStatus_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("changeEasyshipMfnOrderTxnStatus_args");

    private static final org.apache.thrift.protocol.TField TRANSACTION_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("transactionId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField STATUS_FIELD_DESC = new org.apache.thrift.protocol.TField("status", org.apache.thrift.protocol.TType.I32, (short)2);
    private static final org.apache.thrift.protocol.TField DESCRIPTION_FIELD_DESC = new org.apache.thrift.protocol.TField("description", org.apache.thrift.protocol.TType.STRING, (short)3);
    private static final org.apache.thrift.protocol.TField PICK_UP_FIELD_DESC = new org.apache.thrift.protocol.TField("pickUp", org.apache.thrift.protocol.TType.I64, (short)4);
    private static final org.apache.thrift.protocol.TField ORDER_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("orderType", org.apache.thrift.protocol.TType.I32, (short)5);
    private static final org.apache.thrift.protocol.TField SOURCE_FIELD_DESC = new org.apache.thrift.protocol.TField("source", org.apache.thrift.protocol.TType.I32, (short)6);
    private static final org.apache.thrift.protocol.TField SHIP_TIMESTAMP_FIELD_DESC = new org.apache.thrift.protocol.TField("shipTimestamp", org.apache.thrift.protocol.TType.I64, (short)7);
    private static final org.apache.thrift.protocol.TField DELIVERY_TIME_STAMP_FIELD_DESC = new org.apache.thrift.protocol.TField("deliveryTimeStamp", org.apache.thrift.protocol.TType.I64, (short)8);

    private long transactionId; // required
    private TransactionStatus status; // required
    private String description; // required
    private long pickUp; // required
    private OrderType orderType; // required
    private OrderSource source; // required
    private long shipTimestamp; // required
    private long deliveryTimeStamp; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      TRANSACTION_ID((short)1, "transactionId"),
      /**
       * 
       * @see TransactionStatus
       */
      STATUS((short)2, "status"),
      DESCRIPTION((short)3, "description"),
      PICK_UP((short)4, "pickUp"),
      /**
       * 
       * @see OrderType
       */
      ORDER_TYPE((short)5, "orderType"),
      /**
       * 
       * @see OrderSource
       */
      SOURCE((short)6, "source"),
      SHIP_TIMESTAMP((short)7, "shipTimestamp"),
      DELIVERY_TIME_STAMP((short)8, "deliveryTimeStamp");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // TRANSACTION_ID
            return TRANSACTION_ID;
          case 2: // STATUS
            return STATUS;
          case 3: // DESCRIPTION
            return DESCRIPTION;
          case 4: // PICK_UP
            return PICK_UP;
          case 5: // ORDER_TYPE
            return ORDER_TYPE;
          case 6: // SOURCE
            return SOURCE;
          case 7: // SHIP_TIMESTAMP
            return SHIP_TIMESTAMP;
          case 8: // DELIVERY_TIME_STAMP
            return DELIVERY_TIME_STAMP;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __TRANSACTIONID_ISSET_ID = 0;
    private static final int __PICKUP_ISSET_ID = 1;
    private static final int __SHIPTIMESTAMP_ISSET_ID = 2;
    private static final int __DELIVERYTIMESTAMP_ISSET_ID = 3;
    private BitSet __isset_bit_vector = new BitSet(4);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.TRANSACTION_ID, new org.apache.thrift.meta_data.FieldMetaData("transactionId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.STATUS, new org.apache.thrift.meta_data.FieldMetaData("status", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, TransactionStatus.class)));
      tmpMap.put(_Fields.DESCRIPTION, new org.apache.thrift.meta_data.FieldMetaData("description", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.PICK_UP, new org.apache.thrift.meta_data.FieldMetaData("pickUp", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.ORDER_TYPE, new org.apache.thrift.meta_data.FieldMetaData("orderType", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, OrderType.class)));
      tmpMap.put(_Fields.SOURCE, new org.apache.thrift.meta_data.FieldMetaData("source", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, OrderSource.class)));
      tmpMap.put(_Fields.SHIP_TIMESTAMP, new org.apache.thrift.meta_data.FieldMetaData("shipTimestamp", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.DELIVERY_TIME_STAMP, new org.apache.thrift.meta_data.FieldMetaData("deliveryTimeStamp", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(changeEasyshipMfnOrderTxnStatus_args.class, metaDataMap);
    }

    public changeEasyshipMfnOrderTxnStatus_args() {
    }

    public changeEasyshipMfnOrderTxnStatus_args(
      long transactionId,
      TransactionStatus status,
      String description,
      long pickUp,
      OrderType orderType,
      OrderSource source,
      long shipTimestamp,
      long deliveryTimeStamp)
    {
      this();
      this.transactionId = transactionId;
      setTransactionIdIsSet(true);
      this.status = status;
      this.description = description;
      this.pickUp = pickUp;
      setPickUpIsSet(true);
      this.orderType = orderType;
      this.source = source;
      this.shipTimestamp = shipTimestamp;
      setShipTimestampIsSet(true);
      this.deliveryTimeStamp = deliveryTimeStamp;
      setDeliveryTimeStampIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public changeEasyshipMfnOrderTxnStatus_args(changeEasyshipMfnOrderTxnStatus_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.transactionId = other.transactionId;
      if (other.isSetStatus()) {
        this.status = other.status;
      }
      if (other.isSetDescription()) {
        this.description = other.description;
      }
      this.pickUp = other.pickUp;
      if (other.isSetOrderType()) {
        this.orderType = other.orderType;
      }
      if (other.isSetSource()) {
        this.source = other.source;
      }
      this.shipTimestamp = other.shipTimestamp;
      this.deliveryTimeStamp = other.deliveryTimeStamp;
    }

    public changeEasyshipMfnOrderTxnStatus_args deepCopy() {
      return new changeEasyshipMfnOrderTxnStatus_args(this);
    }

    @Override
    public void clear() {
      setTransactionIdIsSet(false);
      this.transactionId = 0;
      this.status = null;
      this.description = null;
      setPickUpIsSet(false);
      this.pickUp = 0;
      this.orderType = null;
      this.source = null;
      setShipTimestampIsSet(false);
      this.shipTimestamp = 0;
      setDeliveryTimeStampIsSet(false);
      this.deliveryTimeStamp = 0;
    }

    public long getTransactionId() {
      return this.transactionId;
    }

    public void setTransactionId(long transactionId) {
      this.transactionId = transactionId;
      setTransactionIdIsSet(true);
    }

    public void unsetTransactionId() {
      __isset_bit_vector.clear(__TRANSACTIONID_ISSET_ID);
    }

    /** Returns true if field transactionId is set (has been assigned a value) and false otherwise */
    public boolean isSetTransactionId() {
      return __isset_bit_vector.get(__TRANSACTIONID_ISSET_ID);
    }

    public void setTransactionIdIsSet(boolean value) {
      __isset_bit_vector.set(__TRANSACTIONID_ISSET_ID, value);
    }

    /**
     * 
     * @see TransactionStatus
     */
    public TransactionStatus getStatus() {
      return this.status;
    }

    /**
     * 
     * @see TransactionStatus
     */
    public void setStatus(TransactionStatus status) {
      this.status = status;
    }

    public void unsetStatus() {
      this.status = null;
    }

    /** Returns true if field status is set (has been assigned a value) and false otherwise */
    public boolean isSetStatus() {
      return this.status != null;
    }

    public void setStatusIsSet(boolean value) {
      if (!value) {
        this.status = null;
      }
    }

    public String getDescription() {
      return this.description;
    }

    public void setDescription(String description) {
      this.description = description;
    }

    public void unsetDescription() {
      this.description = null;
    }

    /** Returns true if field description is set (has been assigned a value) and false otherwise */
    public boolean isSetDescription() {
      return this.description != null;
    }

    public void setDescriptionIsSet(boolean value) {
      if (!value) {
        this.description = null;
      }
    }

    public long getPickUp() {
      return this.pickUp;
    }

    public void setPickUp(long pickUp) {
      this.pickUp = pickUp;
      setPickUpIsSet(true);
    }

    public void unsetPickUp() {
      __isset_bit_vector.clear(__PICKUP_ISSET_ID);
    }

    /** Returns true if field pickUp is set (has been assigned a value) and false otherwise */
    public boolean isSetPickUp() {
      return __isset_bit_vector.get(__PICKUP_ISSET_ID);
    }

    public void setPickUpIsSet(boolean value) {
      __isset_bit_vector.set(__PICKUP_ISSET_ID, value);
    }

    /**
     * 
     * @see OrderType
     */
    public OrderType getOrderType() {
      return this.orderType;
    }

    /**
     * 
     * @see OrderType
     */
    public void setOrderType(OrderType orderType) {
      this.orderType = orderType;
    }

    public void unsetOrderType() {
      this.orderType = null;
    }

    /** Returns true if field orderType is set (has been assigned a value) and false otherwise */
    public boolean isSetOrderType() {
      return this.orderType != null;
    }

    public void setOrderTypeIsSet(boolean value) {
      if (!value) {
        this.orderType = null;
      }
    }

    /**
     * 
     * @see OrderSource
     */
    public OrderSource getSource() {
      return this.source;
    }

    /**
     * 
     * @see OrderSource
     */
    public void setSource(OrderSource source) {
      this.source = source;
    }

    public void unsetSource() {
      this.source = null;
    }

    /** Returns true if field source is set (has been assigned a value) and false otherwise */
    public boolean isSetSource() {
      return this.source != null;
    }

    public void setSourceIsSet(boolean value) {
      if (!value) {
        this.source = null;
      }
    }

    public long getShipTimestamp() {
      return this.shipTimestamp;
    }

    public void setShipTimestamp(long shipTimestamp) {
      this.shipTimestamp = shipTimestamp;
      setShipTimestampIsSet(true);
    }

    public void unsetShipTimestamp() {
      __isset_bit_vector.clear(__SHIPTIMESTAMP_ISSET_ID);
    }

    /** Returns true if field shipTimestamp is set (has been assigned a value) and false otherwise */
    public boolean isSetShipTimestamp() {
      return __isset_bit_vector.get(__SHIPTIMESTAMP_ISSET_ID);
    }

    public void setShipTimestampIsSet(boolean value) {
      __isset_bit_vector.set(__SHIPTIMESTAMP_ISSET_ID, value);
    }

    public long getDeliveryTimeStamp() {
      return this.deliveryTimeStamp;
    }

    public void setDeliveryTimeStamp(long deliveryTimeStamp) {
      this.deliveryTimeStamp = deliveryTimeStamp;
      setDeliveryTimeStampIsSet(true);
    }

    public void unsetDeliveryTimeStamp() {
      __isset_bit_vector.clear(__DELIVERYTIMESTAMP_ISSET_ID);
    }

    /** Returns true if field deliveryTimeStamp is set (has been assigned a value) and false otherwise */
    public boolean isSetDeliveryTimeStamp() {
      return __isset_bit_vector.get(__DELIVERYTIMESTAMP_ISSET_ID);
    }

    public void setDeliveryTimeStampIsSet(boolean value) {
      __isset_bit_vector.set(__DELIVERYTIMESTAMP_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case TRANSACTION_ID:
        if (value == null) {
          unsetTransactionId();
        } else {
          setTransactionId((Long)value);
        }
        break;

      case STATUS:
        if (value == null) {
          unsetStatus();
        } else {
          setStatus((TransactionStatus)value);
        }
        break;

      case DESCRIPTION:
        if (value == null) {
          unsetDescription();
        } else {
          setDescription((String)value);
        }
        break;

      case PICK_UP:
        if (value == null) {
          unsetPickUp();
        } else {
          setPickUp((Long)value);
        }
        break;

      case ORDER_TYPE:
        if (value == null) {
          unsetOrderType();
        } else {
          setOrderType((OrderType)value);
        }
        break;

      case SOURCE:
        if (value == null) {
          unsetSource();
        } else {
          setSource((OrderSource)value);
        }
        break;

      case SHIP_TIMESTAMP:
        if (value == null) {
          unsetShipTimestamp();
        } else {
          setShipTimestamp((Long)value);
        }
        break;

      case DELIVERY_TIME_STAMP:
        if (value == null) {
          unsetDeliveryTimeStamp();
        } else {
          setDeliveryTimeStamp((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case TRANSACTION_ID:
        return Long.valueOf(getTransactionId());

      case STATUS:
        return getStatus();

      case DESCRIPTION:
        return getDescription();

      case PICK_UP:
        return Long.valueOf(getPickUp());

      case ORDER_TYPE:
        return getOrderType();

      case SOURCE:
        return getSource();

      case SHIP_TIMESTAMP:
        return Long.valueOf(getShipTimestamp());

      case DELIVERY_TIME_STAMP:
        return Long.valueOf(getDeliveryTimeStamp());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case TRANSACTION_ID:
        return isSetTransactionId();
      case STATUS:
        return isSetStatus();
      case DESCRIPTION:
        return isSetDescription();
      case PICK_UP:
        return isSetPickUp();
      case ORDER_TYPE:
        return isSetOrderType();
      case SOURCE:
        return isSetSource();
      case SHIP_TIMESTAMP:
        return isSetShipTimestamp();
      case DELIVERY_TIME_STAMP:
        return isSetDeliveryTimeStamp();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof changeEasyshipMfnOrderTxnStatus_args)
        return this.equals((changeEasyshipMfnOrderTxnStatus_args)that);
      return false;
    }

    public boolean equals(changeEasyshipMfnOrderTxnStatus_args that) {
      if (that == null)
        return false;

      boolean this_present_transactionId = true;
      boolean that_present_transactionId = true;
      if (this_present_transactionId || that_present_transactionId) {
        if (!(this_present_transactionId && that_present_transactionId))
          return false;
        if (this.transactionId != that.transactionId)
          return false;
      }

      boolean this_present_status = true && this.isSetStatus();
      boolean that_present_status = true && that.isSetStatus();
      if (this_present_status || that_present_status) {
        if (!(this_present_status && that_present_status))
          return false;
        if (!this.status.equals(that.status))
          return false;
      }

      boolean this_present_description = true && this.isSetDescription();
      boolean that_present_description = true && that.isSetDescription();
      if (this_present_description || that_present_description) {
        if (!(this_present_description && that_present_description))
          return false;
        if (!this.description.equals(that.description))
          return false;
      }

      boolean this_present_pickUp = true;
      boolean that_present_pickUp = true;
      if (this_present_pickUp || that_present_pickUp) {
        if (!(this_present_pickUp && that_present_pickUp))
          return false;
        if (this.pickUp != that.pickUp)
          return false;
      }

      boolean this_present_orderType = true && this.isSetOrderType();
      boolean that_present_orderType = true && that.isSetOrderType();
      if (this_present_orderType || that_present_orderType) {
        if (!(this_present_orderType && that_present_orderType))
          return false;
        if (!this.orderType.equals(that.orderType))
          return false;
      }

      boolean this_present_source = true && this.isSetSource();
      boolean that_present_source = true && that.isSetSource();
      if (this_present_source || that_present_source) {
        if (!(this_present_source && that_present_source))
          return false;
        if (!this.source.equals(that.source))
          return false;
      }

      boolean this_present_shipTimestamp = true;
      boolean that_present_shipTimestamp = true;
      if (this_present_shipTimestamp || that_present_shipTimestamp) {
        if (!(this_present_shipTimestamp && that_present_shipTimestamp))
          return false;
        if (this.shipTimestamp != that.shipTimestamp)
          return false;
      }

      boolean this_present_deliveryTimeStamp = true;
      boolean that_present_deliveryTimeStamp = true;
      if (this_present_deliveryTimeStamp || that_present_deliveryTimeStamp) {
        if (!(this_present_deliveryTimeStamp && that_present_deliveryTimeStamp))
          return false;
        if (this.deliveryTimeStamp != that.deliveryTimeStamp)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(changeEasyshipMfnOrderTxnStatus_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      changeEasyshipMfnOrderTxnStatus_args typedOther = (changeEasyshipMfnOrderTxnStatus_args)other;

      lastComparison = Boolean.valueOf(isSetTransactionId()).compareTo(typedOther.isSetTransactionId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetTransactionId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.transactionId, typedOther.transactionId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetStatus()).compareTo(typedOther.isSetStatus());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetStatus()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.status, typedOther.status);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetDescription()).compareTo(typedOther.isSetDescription());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetDescription()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.description, typedOther.description);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetPickUp()).compareTo(typedOther.isSetPickUp());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetPickUp()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.pickUp, typedOther.pickUp);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetOrderType()).compareTo(typedOther.isSetOrderType());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrderType()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.orderType, typedOther.orderType);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetSource()).compareTo(typedOther.isSetSource());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSource()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.source, typedOther.source);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetShipTimestamp()).compareTo(typedOther.isSetShipTimestamp());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetShipTimestamp()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.shipTimestamp, typedOther.shipTimestamp);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetDeliveryTimeStamp()).compareTo(typedOther.isSetDeliveryTimeStamp());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetDeliveryTimeStamp()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.deliveryTimeStamp, typedOther.deliveryTimeStamp);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // TRANSACTION_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.transactionId = iprot.readI64();
              setTransactionIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // STATUS
            if (field.type == org.apache.thrift.protocol.TType.I32) {
              this.status = TransactionStatus.findByValue(iprot.readI32());
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // DESCRIPTION
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.description = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 4: // PICK_UP
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.pickUp = iprot.readI64();
              setPickUpIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 5: // ORDER_TYPE
            if (field.type == org.apache.thrift.protocol.TType.I32) {
              this.orderType = OrderType.findByValue(iprot.readI32());
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 6: // SOURCE
            if (field.type == org.apache.thrift.protocol.TType.I32) {
              this.source = OrderSource.findByValue(iprot.readI32());
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 7: // SHIP_TIMESTAMP
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.shipTimestamp = iprot.readI64();
              setShipTimestampIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 8: // DELIVERY_TIME_STAMP
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.deliveryTimeStamp = iprot.readI64();
              setDeliveryTimeStampIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(TRANSACTION_ID_FIELD_DESC);
      oprot.writeI64(this.transactionId);
      oprot.writeFieldEnd();
      if (this.status != null) {
        oprot.writeFieldBegin(STATUS_FIELD_DESC);
        oprot.writeI32(this.status.getValue());
        oprot.writeFieldEnd();
      }
      if (this.description != null) {
        oprot.writeFieldBegin(DESCRIPTION_FIELD_DESC);
        oprot.writeString(this.description);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldBegin(PICK_UP_FIELD_DESC);
      oprot.writeI64(this.pickUp);
      oprot.writeFieldEnd();
      if (this.orderType != null) {
        oprot.writeFieldBegin(ORDER_TYPE_FIELD_DESC);
        oprot.writeI32(this.orderType.getValue());
        oprot.writeFieldEnd();
      }
      if (this.source != null) {
        oprot.writeFieldBegin(SOURCE_FIELD_DESC);
        oprot.writeI32(this.source.getValue());
        oprot.writeFieldEnd();
      }
      oprot.writeFieldBegin(SHIP_TIMESTAMP_FIELD_DESC);
      oprot.writeI64(this.shipTimestamp);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(DELIVERY_TIME_STAMP_FIELD_DESC);
      oprot.writeI64(this.deliveryTimeStamp);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("changeEasyshipMfnOrderTxnStatus_args(");
      boolean first = true;

      sb.append("transactionId:");
      sb.append(this.transactionId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("status:");
      if (this.status == null) {
        sb.append("null");
      } else {
        sb.append(this.status);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("description:");
      if (this.description == null) {
        sb.append("null");
      } else {
        sb.append(this.description);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("pickUp:");
      sb.append(this.pickUp);
      first = false;
      if (!first) sb.append(", ");
      sb.append("orderType:");
      if (this.orderType == null) {
        sb.append("null");
      } else {
        sb.append(this.orderType);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("source:");
      if (this.source == null) {
        sb.append("null");
      } else {
        sb.append(this.source);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("shipTimestamp:");
      sb.append(this.shipTimestamp);
      first = false;
      if (!first) sb.append(", ");
      sb.append("deliveryTimeStamp:");
      sb.append(this.deliveryTimeStamp);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class changeEasyshipMfnOrderTxnStatus_result implements org.apache.thrift.TBase<changeEasyshipMfnOrderTxnStatus_result, changeEasyshipMfnOrderTxnStatus_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("changeEasyshipMfnOrderTxnStatus_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private boolean success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(changeEasyshipMfnOrderTxnStatus_result.class, metaDataMap);
    }

    public changeEasyshipMfnOrderTxnStatus_result() {
    }

    public changeEasyshipMfnOrderTxnStatus_result(
      boolean success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public changeEasyshipMfnOrderTxnStatus_result(changeEasyshipMfnOrderTxnStatus_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public changeEasyshipMfnOrderTxnStatus_result deepCopy() {
      return new changeEasyshipMfnOrderTxnStatus_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = false;
      this.ex = null;
    }

    public boolean isSuccess() {
      return this.success;
    }

    public void setSuccess(boolean success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Boolean.valueOf(isSuccess());

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof changeEasyshipMfnOrderTxnStatus_result)
        return this.equals((changeEasyshipMfnOrderTxnStatus_result)that);
      return false;
    }

    public boolean equals(changeEasyshipMfnOrderTxnStatus_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(changeEasyshipMfnOrderTxnStatus_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      changeEasyshipMfnOrderTxnStatus_result typedOther = (changeEasyshipMfnOrderTxnStatus_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.success = iprot.readBool();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBool(this.success);
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("changeEasyshipMfnOrderTxnStatus_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class updateAmazonFbaOrdersReturns_args implements org.apache.thrift.TBase<updateAmazonFbaOrdersReturns_args, updateAmazonFbaOrdersReturns_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateAmazonFbaOrdersReturns_args");

    private static final org.apache.thrift.protocol.TField FBA_ORDER_RETURNS_FIELD_DESC = new org.apache.thrift.protocol.TField("fbaOrderReturns", org.apache.thrift.protocol.TType.LIST, (short)1);

    private List<AmazonFbaOrderReturns> fbaOrderReturns; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      FBA_ORDER_RETURNS((short)1, "fbaOrderReturns");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // FBA_ORDER_RETURNS
            return FBA_ORDER_RETURNS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.FBA_ORDER_RETURNS, new org.apache.thrift.meta_data.FieldMetaData("fbaOrderReturns", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, AmazonFbaOrderReturns.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateAmazonFbaOrdersReturns_args.class, metaDataMap);
    }

    public updateAmazonFbaOrdersReturns_args() {
    }

    public updateAmazonFbaOrdersReturns_args(
      List<AmazonFbaOrderReturns> fbaOrderReturns)
    {
      this();
      this.fbaOrderReturns = fbaOrderReturns;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public updateAmazonFbaOrdersReturns_args(updateAmazonFbaOrdersReturns_args other) {
      if (other.isSetFbaOrderReturns()) {
        List<AmazonFbaOrderReturns> __this__fbaOrderReturns = new ArrayList<AmazonFbaOrderReturns>();
        for (AmazonFbaOrderReturns other_element : other.fbaOrderReturns) {
          __this__fbaOrderReturns.add(new AmazonFbaOrderReturns(other_element));
        }
        this.fbaOrderReturns = __this__fbaOrderReturns;
      }
    }

    public updateAmazonFbaOrdersReturns_args deepCopy() {
      return new updateAmazonFbaOrdersReturns_args(this);
    }

    @Override
    public void clear() {
      this.fbaOrderReturns = null;
    }

    public int getFbaOrderReturnsSize() {
      return (this.fbaOrderReturns == null) ? 0 : this.fbaOrderReturns.size();
    }

    public java.util.Iterator<AmazonFbaOrderReturns> getFbaOrderReturnsIterator() {
      return (this.fbaOrderReturns == null) ? null : this.fbaOrderReturns.iterator();
    }

    public void addToFbaOrderReturns(AmazonFbaOrderReturns elem) {
      if (this.fbaOrderReturns == null) {
        this.fbaOrderReturns = new ArrayList<AmazonFbaOrderReturns>();
      }
      this.fbaOrderReturns.add(elem);
    }

    public List<AmazonFbaOrderReturns> getFbaOrderReturns() {
      return this.fbaOrderReturns;
    }

    public void setFbaOrderReturns(List<AmazonFbaOrderReturns> fbaOrderReturns) {
      this.fbaOrderReturns = fbaOrderReturns;
    }

    public void unsetFbaOrderReturns() {
      this.fbaOrderReturns = null;
    }

    /** Returns true if field fbaOrderReturns is set (has been assigned a value) and false otherwise */
    public boolean isSetFbaOrderReturns() {
      return this.fbaOrderReturns != null;
    }

    public void setFbaOrderReturnsIsSet(boolean value) {
      if (!value) {
        this.fbaOrderReturns = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case FBA_ORDER_RETURNS:
        if (value == null) {
          unsetFbaOrderReturns();
        } else {
          setFbaOrderReturns((List<AmazonFbaOrderReturns>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case FBA_ORDER_RETURNS:
        return getFbaOrderReturns();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case FBA_ORDER_RETURNS:
        return isSetFbaOrderReturns();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof updateAmazonFbaOrdersReturns_args)
        return this.equals((updateAmazonFbaOrdersReturns_args)that);
      return false;
    }

    public boolean equals(updateAmazonFbaOrdersReturns_args that) {
      if (that == null)
        return false;

      boolean this_present_fbaOrderReturns = true && this.isSetFbaOrderReturns();
      boolean that_present_fbaOrderReturns = true && that.isSetFbaOrderReturns();
      if (this_present_fbaOrderReturns || that_present_fbaOrderReturns) {
        if (!(this_present_fbaOrderReturns && that_present_fbaOrderReturns))
          return false;
        if (!this.fbaOrderReturns.equals(that.fbaOrderReturns))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(updateAmazonFbaOrdersReturns_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      updateAmazonFbaOrdersReturns_args typedOther = (updateAmazonFbaOrdersReturns_args)other;

      lastComparison = Boolean.valueOf(isSetFbaOrderReturns()).compareTo(typedOther.isSetFbaOrderReturns());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetFbaOrderReturns()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.fbaOrderReturns, typedOther.fbaOrderReturns);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // FBA_ORDER_RETURNS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list587 = iprot.readListBegin();
                this.fbaOrderReturns = new ArrayList<AmazonFbaOrderReturns>(_list587.size);
                for (int _i588 = 0; _i588 < _list587.size; ++_i588)
                {
                  AmazonFbaOrderReturns _elem589; // required
                  _elem589 = new AmazonFbaOrderReturns();
                  _elem589.read(iprot);
                  this.fbaOrderReturns.add(_elem589);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.fbaOrderReturns != null) {
        oprot.writeFieldBegin(FBA_ORDER_RETURNS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.fbaOrderReturns.size()));
          for (AmazonFbaOrderReturns _iter590 : this.fbaOrderReturns)
          {
            _iter590.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("updateAmazonFbaOrdersReturns_args(");
      boolean first = true;

      sb.append("fbaOrderReturns:");
      if (this.fbaOrderReturns == null) {
        sb.append("null");
      } else {
        sb.append(this.fbaOrderReturns);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class updateAmazonFbaOrdersReturns_result implements org.apache.thrift.TBase<updateAmazonFbaOrdersReturns_result, updateAmazonFbaOrdersReturns_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateAmazonFbaOrdersReturns_result");

    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateAmazonFbaOrdersReturns_result.class, metaDataMap);
    }

    public updateAmazonFbaOrdersReturns_result() {
    }

    public updateAmazonFbaOrdersReturns_result(
      TransactionServiceException ex)
    {
      this();
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public updateAmazonFbaOrdersReturns_result(updateAmazonFbaOrdersReturns_result other) {
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public updateAmazonFbaOrdersReturns_result deepCopy() {
      return new updateAmazonFbaOrdersReturns_result(this);
    }

    @Override
    public void clear() {
      this.ex = null;
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof updateAmazonFbaOrdersReturns_result)
        return this.equals((updateAmazonFbaOrdersReturns_result)that);
      return false;
    }

    public boolean equals(updateAmazonFbaOrdersReturns_result that) {
      if (that == null)
        return false;

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(updateAmazonFbaOrdersReturns_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      updateAmazonFbaOrdersReturns_result typedOther = (updateAmazonFbaOrdersReturns_result)other;

      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("updateAmazonFbaOrdersReturns_result(");
      boolean first = true;

      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getAllAmazonFbaOrderReturnsByCurrentTime_args implements org.apache.thrift.TBase<getAllAmazonFbaOrderReturnsByCurrentTime_args, getAllAmazonFbaOrderReturnsByCurrentTime_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllAmazonFbaOrderReturnsByCurrentTime_args");

    private static final org.apache.thrift.protocol.TField INSERTION_TIMESTAMP_FIELD_DESC = new org.apache.thrift.protocol.TField("insertionTimestamp", org.apache.thrift.protocol.TType.I64, (short)1);

    private long insertionTimestamp; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      INSERTION_TIMESTAMP((short)1, "insertionTimestamp");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // INSERTION_TIMESTAMP
            return INSERTION_TIMESTAMP;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __INSERTIONTIMESTAMP_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.INSERTION_TIMESTAMP, new org.apache.thrift.meta_data.FieldMetaData("insertionTimestamp", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAllAmazonFbaOrderReturnsByCurrentTime_args.class, metaDataMap);
    }

    public getAllAmazonFbaOrderReturnsByCurrentTime_args() {
    }

    public getAllAmazonFbaOrderReturnsByCurrentTime_args(
      long insertionTimestamp)
    {
      this();
      this.insertionTimestamp = insertionTimestamp;
      setInsertionTimestampIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getAllAmazonFbaOrderReturnsByCurrentTime_args(getAllAmazonFbaOrderReturnsByCurrentTime_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.insertionTimestamp = other.insertionTimestamp;
    }

    public getAllAmazonFbaOrderReturnsByCurrentTime_args deepCopy() {
      return new getAllAmazonFbaOrderReturnsByCurrentTime_args(this);
    }

    @Override
    public void clear() {
      setInsertionTimestampIsSet(false);
      this.insertionTimestamp = 0;
    }

    public long getInsertionTimestamp() {
      return this.insertionTimestamp;
    }

    public void setInsertionTimestamp(long insertionTimestamp) {
      this.insertionTimestamp = insertionTimestamp;
      setInsertionTimestampIsSet(true);
    }

    public void unsetInsertionTimestamp() {
      __isset_bit_vector.clear(__INSERTIONTIMESTAMP_ISSET_ID);
    }

    /** Returns true if field insertionTimestamp is set (has been assigned a value) and false otherwise */
    public boolean isSetInsertionTimestamp() {
      return __isset_bit_vector.get(__INSERTIONTIMESTAMP_ISSET_ID);
    }

    public void setInsertionTimestampIsSet(boolean value) {
      __isset_bit_vector.set(__INSERTIONTIMESTAMP_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case INSERTION_TIMESTAMP:
        if (value == null) {
          unsetInsertionTimestamp();
        } else {
          setInsertionTimestamp((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case INSERTION_TIMESTAMP:
        return Long.valueOf(getInsertionTimestamp());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case INSERTION_TIMESTAMP:
        return isSetInsertionTimestamp();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getAllAmazonFbaOrderReturnsByCurrentTime_args)
        return this.equals((getAllAmazonFbaOrderReturnsByCurrentTime_args)that);
      return false;
    }

    public boolean equals(getAllAmazonFbaOrderReturnsByCurrentTime_args that) {
      if (that == null)
        return false;

      boolean this_present_insertionTimestamp = true;
      boolean that_present_insertionTimestamp = true;
      if (this_present_insertionTimestamp || that_present_insertionTimestamp) {
        if (!(this_present_insertionTimestamp && that_present_insertionTimestamp))
          return false;
        if (this.insertionTimestamp != that.insertionTimestamp)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getAllAmazonFbaOrderReturnsByCurrentTime_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getAllAmazonFbaOrderReturnsByCurrentTime_args typedOther = (getAllAmazonFbaOrderReturnsByCurrentTime_args)other;

      lastComparison = Boolean.valueOf(isSetInsertionTimestamp()).compareTo(typedOther.isSetInsertionTimestamp());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetInsertionTimestamp()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.insertionTimestamp, typedOther.insertionTimestamp);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // INSERTION_TIMESTAMP
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.insertionTimestamp = iprot.readI64();
              setInsertionTimestampIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(INSERTION_TIMESTAMP_FIELD_DESC);
      oprot.writeI64(this.insertionTimestamp);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getAllAmazonFbaOrderReturnsByCurrentTime_args(");
      boolean first = true;

      sb.append("insertionTimestamp:");
      sb.append(this.insertionTimestamp);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getAllAmazonFbaOrderReturnsByCurrentTime_result implements org.apache.thrift.TBase<getAllAmazonFbaOrderReturnsByCurrentTime_result, getAllAmazonFbaOrderReturnsByCurrentTime_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllAmazonFbaOrderReturnsByCurrentTime_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private List<AmazonFbaOrderReturns> success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, AmazonFbaOrderReturns.class))));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAllAmazonFbaOrderReturnsByCurrentTime_result.class, metaDataMap);
    }

    public getAllAmazonFbaOrderReturnsByCurrentTime_result() {
    }

    public getAllAmazonFbaOrderReturnsByCurrentTime_result(
      List<AmazonFbaOrderReturns> success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getAllAmazonFbaOrderReturnsByCurrentTime_result(getAllAmazonFbaOrderReturnsByCurrentTime_result other) {
      if (other.isSetSuccess()) {
        List<AmazonFbaOrderReturns> __this__success = new ArrayList<AmazonFbaOrderReturns>();
        for (AmazonFbaOrderReturns other_element : other.success) {
          __this__success.add(new AmazonFbaOrderReturns(other_element));
        }
        this.success = __this__success;
      }
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public getAllAmazonFbaOrderReturnsByCurrentTime_result deepCopy() {
      return new getAllAmazonFbaOrderReturnsByCurrentTime_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.ex = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<AmazonFbaOrderReturns> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(AmazonFbaOrderReturns elem) {
      if (this.success == null) {
        this.success = new ArrayList<AmazonFbaOrderReturns>();
      }
      this.success.add(elem);
    }

    public List<AmazonFbaOrderReturns> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<AmazonFbaOrderReturns> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<AmazonFbaOrderReturns>)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getAllAmazonFbaOrderReturnsByCurrentTime_result)
        return this.equals((getAllAmazonFbaOrderReturnsByCurrentTime_result)that);
      return false;
    }

    public boolean equals(getAllAmazonFbaOrderReturnsByCurrentTime_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getAllAmazonFbaOrderReturnsByCurrentTime_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getAllAmazonFbaOrderReturnsByCurrentTime_result typedOther = (getAllAmazonFbaOrderReturnsByCurrentTime_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list591 = iprot.readListBegin();
                this.success = new ArrayList<AmazonFbaOrderReturns>(_list591.size);
                for (int _i592 = 0; _i592 < _list591.size; ++_i592)
                {
                  AmazonFbaOrderReturns _elem593; // required
                  _elem593 = new AmazonFbaOrderReturns();
                  _elem593.read(iprot);
                  this.success.add(_elem593);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (AmazonFbaOrderReturns _iter594 : this.success)
          {
            _iter594.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getAllAmazonFbaOrderReturnsByCurrentTime_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getTotalSaleReturnsFbaSkusCurentTime_args implements org.apache.thrift.TBase<getTotalSaleReturnsFbaSkusCurentTime_args, getTotalSaleReturnsFbaSkusCurentTime_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getTotalSaleReturnsFbaSkusCurentTime_args");

    private static final org.apache.thrift.protocol.TField INSERTION_TIMESTAMP_FIELD_DESC = new org.apache.thrift.protocol.TField("insertionTimestamp", org.apache.thrift.protocol.TType.I64, (short)1);

    private long insertionTimestamp; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      INSERTION_TIMESTAMP((short)1, "insertionTimestamp");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // INSERTION_TIMESTAMP
            return INSERTION_TIMESTAMP;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __INSERTIONTIMESTAMP_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.INSERTION_TIMESTAMP, new org.apache.thrift.meta_data.FieldMetaData("insertionTimestamp", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getTotalSaleReturnsFbaSkusCurentTime_args.class, metaDataMap);
    }

    public getTotalSaleReturnsFbaSkusCurentTime_args() {
    }

    public getTotalSaleReturnsFbaSkusCurentTime_args(
      long insertionTimestamp)
    {
      this();
      this.insertionTimestamp = insertionTimestamp;
      setInsertionTimestampIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getTotalSaleReturnsFbaSkusCurentTime_args(getTotalSaleReturnsFbaSkusCurentTime_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.insertionTimestamp = other.insertionTimestamp;
    }

    public getTotalSaleReturnsFbaSkusCurentTime_args deepCopy() {
      return new getTotalSaleReturnsFbaSkusCurentTime_args(this);
    }

    @Override
    public void clear() {
      setInsertionTimestampIsSet(false);
      this.insertionTimestamp = 0;
    }

    public long getInsertionTimestamp() {
      return this.insertionTimestamp;
    }

    public void setInsertionTimestamp(long insertionTimestamp) {
      this.insertionTimestamp = insertionTimestamp;
      setInsertionTimestampIsSet(true);
    }

    public void unsetInsertionTimestamp() {
      __isset_bit_vector.clear(__INSERTIONTIMESTAMP_ISSET_ID);
    }

    /** Returns true if field insertionTimestamp is set (has been assigned a value) and false otherwise */
    public boolean isSetInsertionTimestamp() {
      return __isset_bit_vector.get(__INSERTIONTIMESTAMP_ISSET_ID);
    }

    public void setInsertionTimestampIsSet(boolean value) {
      __isset_bit_vector.set(__INSERTIONTIMESTAMP_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case INSERTION_TIMESTAMP:
        if (value == null) {
          unsetInsertionTimestamp();
        } else {
          setInsertionTimestamp((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case INSERTION_TIMESTAMP:
        return Long.valueOf(getInsertionTimestamp());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case INSERTION_TIMESTAMP:
        return isSetInsertionTimestamp();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getTotalSaleReturnsFbaSkusCurentTime_args)
        return this.equals((getTotalSaleReturnsFbaSkusCurentTime_args)that);
      return false;
    }

    public boolean equals(getTotalSaleReturnsFbaSkusCurentTime_args that) {
      if (that == null)
        return false;

      boolean this_present_insertionTimestamp = true;
      boolean that_present_insertionTimestamp = true;
      if (this_present_insertionTimestamp || that_present_insertionTimestamp) {
        if (!(this_present_insertionTimestamp && that_present_insertionTimestamp))
          return false;
        if (this.insertionTimestamp != that.insertionTimestamp)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getTotalSaleReturnsFbaSkusCurentTime_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getTotalSaleReturnsFbaSkusCurentTime_args typedOther = (getTotalSaleReturnsFbaSkusCurentTime_args)other;

      lastComparison = Boolean.valueOf(isSetInsertionTimestamp()).compareTo(typedOther.isSetInsertionTimestamp());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetInsertionTimestamp()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.insertionTimestamp, typedOther.insertionTimestamp);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // INSERTION_TIMESTAMP
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.insertionTimestamp = iprot.readI64();
              setInsertionTimestampIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(INSERTION_TIMESTAMP_FIELD_DESC);
      oprot.writeI64(this.insertionTimestamp);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getTotalSaleReturnsFbaSkusCurentTime_args(");
      boolean first = true;

      sb.append("insertionTimestamp:");
      sb.append(this.insertionTimestamp);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getTotalSaleReturnsFbaSkusCurentTime_result implements org.apache.thrift.TBase<getTotalSaleReturnsFbaSkusCurentTime_result, getTotalSaleReturnsFbaSkusCurentTime_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getTotalSaleReturnsFbaSkusCurentTime_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.MAP, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private Map<Long,Map<String,Long>> success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64), 
              new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
                  new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING), 
                  new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)))));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getTotalSaleReturnsFbaSkusCurentTime_result.class, metaDataMap);
    }

    public getTotalSaleReturnsFbaSkusCurentTime_result() {
    }

    public getTotalSaleReturnsFbaSkusCurentTime_result(
      Map<Long,Map<String,Long>> success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getTotalSaleReturnsFbaSkusCurentTime_result(getTotalSaleReturnsFbaSkusCurentTime_result other) {
      if (other.isSetSuccess()) {
        Map<Long,Map<String,Long>> __this__success = new HashMap<Long,Map<String,Long>>();
        for (Map.Entry<Long, Map<String,Long>> other_element : other.success.entrySet()) {

          Long other_element_key = other_element.getKey();
          Map<String,Long> other_element_value = other_element.getValue();

          Long __this__success_copy_key = other_element_key;

          Map<String,Long> __this__success_copy_value = new HashMap<String,Long>();
          for (Map.Entry<String, Long> other_element_value_element : other_element_value.entrySet()) {

            String other_element_value_element_key = other_element_value_element.getKey();
            Long other_element_value_element_value = other_element_value_element.getValue();

            String __this__success_copy_value_copy_key = other_element_value_element_key;

            Long __this__success_copy_value_copy_value = other_element_value_element_value;

            __this__success_copy_value.put(__this__success_copy_value_copy_key, __this__success_copy_value_copy_value);
          }

          __this__success.put(__this__success_copy_key, __this__success_copy_value);
        }
        this.success = __this__success;
      }
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public getTotalSaleReturnsFbaSkusCurentTime_result deepCopy() {
      return new getTotalSaleReturnsFbaSkusCurentTime_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.ex = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public void putToSuccess(long key, Map<String,Long> val) {
      if (this.success == null) {
        this.success = new HashMap<Long,Map<String,Long>>();
      }
      this.success.put(key, val);
    }

    public Map<Long,Map<String,Long>> getSuccess() {
      return this.success;
    }

    public void setSuccess(Map<Long,Map<String,Long>> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Map<Long,Map<String,Long>>)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getTotalSaleReturnsFbaSkusCurentTime_result)
        return this.equals((getTotalSaleReturnsFbaSkusCurentTime_result)that);
      return false;
    }

    public boolean equals(getTotalSaleReturnsFbaSkusCurentTime_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getTotalSaleReturnsFbaSkusCurentTime_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getTotalSaleReturnsFbaSkusCurentTime_result typedOther = (getTotalSaleReturnsFbaSkusCurentTime_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.MAP) {
              {
                org.apache.thrift.protocol.TMap _map595 = iprot.readMapBegin();
                this.success = new HashMap<Long,Map<String,Long>>(2*_map595.size);
                for (int _i596 = 0; _i596 < _map595.size; ++_i596)
                {
                  long _key597; // required
                  Map<String,Long> _val598; // required
                  _key597 = iprot.readI64();
                  {
                    org.apache.thrift.protocol.TMap _map599 = iprot.readMapBegin();
                    _val598 = new HashMap<String,Long>(2*_map599.size);
                    for (int _i600 = 0; _i600 < _map599.size; ++_i600)
                    {
                      String _key601; // required
                      long _val602; // required
                      _key601 = iprot.readString();
                      _val602 = iprot.readI64();
                      _val598.put(_key601, _val602);
                    }
                    iprot.readMapEnd();
                  }
                  this.success.put(_key597, _val598);
                }
                iprot.readMapEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.I64, org.apache.thrift.protocol.TType.MAP, this.success.size()));
          for (Map.Entry<Long, Map<String,Long>> _iter603 : this.success.entrySet())
          {
            oprot.writeI64(_iter603.getKey());
            {
              oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.I64, _iter603.getValue().size()));
              for (Map.Entry<String, Long> _iter604 : _iter603.getValue().entrySet())
              {
                oprot.writeString(_iter604.getKey());
                oprot.writeI64(_iter604.getValue());
              }
              oprot.writeMapEnd();
            }
          }
          oprot.writeMapEnd();
        }
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getTotalSaleReturnsFbaSkusCurentTime_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getVerificationPendingOrdersFK_args implements org.apache.thrift.TBase<getVerificationPendingOrdersFK_args, getVerificationPendingOrdersFK_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getVerificationPendingOrdersFK_args");



    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
;

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getVerificationPendingOrdersFK_args.class, metaDataMap);
    }

    public getVerificationPendingOrdersFK_args() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getVerificationPendingOrdersFK_args(getVerificationPendingOrdersFK_args other) {
    }

    public getVerificationPendingOrdersFK_args deepCopy() {
      return new getVerificationPendingOrdersFK_args(this);
    }

    @Override
    public void clear() {
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getVerificationPendingOrdersFK_args)
        return this.equals((getVerificationPendingOrdersFK_args)that);
      return false;
    }

    public boolean equals(getVerificationPendingOrdersFK_args that) {
      if (that == null)
        return false;

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getVerificationPendingOrdersFK_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getVerificationPendingOrdersFK_args typedOther = (getVerificationPendingOrdersFK_args)other;

      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getVerificationPendingOrdersFK_args(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getVerificationPendingOrdersFK_result implements org.apache.thrift.TBase<getVerificationPendingOrdersFK_result, getVerificationPendingOrdersFK_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getVerificationPendingOrdersFK_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private List<FlipkartOrder> success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, FlipkartOrder.class))));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getVerificationPendingOrdersFK_result.class, metaDataMap);
    }

    public getVerificationPendingOrdersFK_result() {
    }

    public getVerificationPendingOrdersFK_result(
      List<FlipkartOrder> success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getVerificationPendingOrdersFK_result(getVerificationPendingOrdersFK_result other) {
      if (other.isSetSuccess()) {
        List<FlipkartOrder> __this__success = new ArrayList<FlipkartOrder>();
        for (FlipkartOrder other_element : other.success) {
          __this__success.add(new FlipkartOrder(other_element));
        }
        this.success = __this__success;
      }
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public getVerificationPendingOrdersFK_result deepCopy() {
      return new getVerificationPendingOrdersFK_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.ex = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<FlipkartOrder> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(FlipkartOrder elem) {
      if (this.success == null) {
        this.success = new ArrayList<FlipkartOrder>();
      }
      this.success.add(elem);
    }

    public List<FlipkartOrder> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<FlipkartOrder> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<FlipkartOrder>)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getVerificationPendingOrdersFK_result)
        return this.equals((getVerificationPendingOrdersFK_result)that);
      return false;
    }

    public boolean equals(getVerificationPendingOrdersFK_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getVerificationPendingOrdersFK_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getVerificationPendingOrdersFK_result typedOther = (getVerificationPendingOrdersFK_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list605 = iprot.readListBegin();
                this.success = new ArrayList<FlipkartOrder>(_list605.size);
                for (int _i606 = 0; _i606 < _list605.size; ++_i606)
                {
                  FlipkartOrder _elem607; // required
                  _elem607 = new FlipkartOrder();
                  _elem607.read(iprot);
                  this.success.add(_elem607);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (FlipkartOrder _iter608 : this.success)
          {
            _iter608.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getVerificationPendingOrdersFK_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getFAOrderByFkOrderId_args implements org.apache.thrift.TBase<getFAOrderByFkOrderId_args, getFAOrderByFkOrderId_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getFAOrderByFkOrderId_args");

    private static final org.apache.thrift.protocol.TField FK_ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("fkOrderId", org.apache.thrift.protocol.TType.STRING, (short)1);
    private static final org.apache.thrift.protocol.TField FK_ORDER_ITEM_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("fkOrderItemId", org.apache.thrift.protocol.TType.STRING, (short)2);

    private String fkOrderId; // required
    private String fkOrderItemId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      FK_ORDER_ID((short)1, "fkOrderId"),
      FK_ORDER_ITEM_ID((short)2, "fkOrderItemId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // FK_ORDER_ID
            return FK_ORDER_ID;
          case 2: // FK_ORDER_ITEM_ID
            return FK_ORDER_ITEM_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.FK_ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("fkOrderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.FK_ORDER_ITEM_ID, new org.apache.thrift.meta_data.FieldMetaData("fkOrderItemId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getFAOrderByFkOrderId_args.class, metaDataMap);
    }

    public getFAOrderByFkOrderId_args() {
    }

    public getFAOrderByFkOrderId_args(
      String fkOrderId,
      String fkOrderItemId)
    {
      this();
      this.fkOrderId = fkOrderId;
      this.fkOrderItemId = fkOrderItemId;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getFAOrderByFkOrderId_args(getFAOrderByFkOrderId_args other) {
      if (other.isSetFkOrderId()) {
        this.fkOrderId = other.fkOrderId;
      }
      if (other.isSetFkOrderItemId()) {
        this.fkOrderItemId = other.fkOrderItemId;
      }
    }

    public getFAOrderByFkOrderId_args deepCopy() {
      return new getFAOrderByFkOrderId_args(this);
    }

    @Override
    public void clear() {
      this.fkOrderId = null;
      this.fkOrderItemId = null;
    }

    public String getFkOrderId() {
      return this.fkOrderId;
    }

    public void setFkOrderId(String fkOrderId) {
      this.fkOrderId = fkOrderId;
    }

    public void unsetFkOrderId() {
      this.fkOrderId = null;
    }

    /** Returns true if field fkOrderId is set (has been assigned a value) and false otherwise */
    public boolean isSetFkOrderId() {
      return this.fkOrderId != null;
    }

    public void setFkOrderIdIsSet(boolean value) {
      if (!value) {
        this.fkOrderId = null;
      }
    }

    public String getFkOrderItemId() {
      return this.fkOrderItemId;
    }

    public void setFkOrderItemId(String fkOrderItemId) {
      this.fkOrderItemId = fkOrderItemId;
    }

    public void unsetFkOrderItemId() {
      this.fkOrderItemId = null;
    }

    /** Returns true if field fkOrderItemId is set (has been assigned a value) and false otherwise */
    public boolean isSetFkOrderItemId() {
      return this.fkOrderItemId != null;
    }

    public void setFkOrderItemIdIsSet(boolean value) {
      if (!value) {
        this.fkOrderItemId = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case FK_ORDER_ID:
        if (value == null) {
          unsetFkOrderId();
        } else {
          setFkOrderId((String)value);
        }
        break;

      case FK_ORDER_ITEM_ID:
        if (value == null) {
          unsetFkOrderItemId();
        } else {
          setFkOrderItemId((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case FK_ORDER_ID:
        return getFkOrderId();

      case FK_ORDER_ITEM_ID:
        return getFkOrderItemId();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case FK_ORDER_ID:
        return isSetFkOrderId();
      case FK_ORDER_ITEM_ID:
        return isSetFkOrderItemId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getFAOrderByFkOrderId_args)
        return this.equals((getFAOrderByFkOrderId_args)that);
      return false;
    }

    public boolean equals(getFAOrderByFkOrderId_args that) {
      if (that == null)
        return false;

      boolean this_present_fkOrderId = true && this.isSetFkOrderId();
      boolean that_present_fkOrderId = true && that.isSetFkOrderId();
      if (this_present_fkOrderId || that_present_fkOrderId) {
        if (!(this_present_fkOrderId && that_present_fkOrderId))
          return false;
        if (!this.fkOrderId.equals(that.fkOrderId))
          return false;
      }

      boolean this_present_fkOrderItemId = true && this.isSetFkOrderItemId();
      boolean that_present_fkOrderItemId = true && that.isSetFkOrderItemId();
      if (this_present_fkOrderItemId || that_present_fkOrderItemId) {
        if (!(this_present_fkOrderItemId && that_present_fkOrderItemId))
          return false;
        if (!this.fkOrderItemId.equals(that.fkOrderItemId))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getFAOrderByFkOrderId_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getFAOrderByFkOrderId_args typedOther = (getFAOrderByFkOrderId_args)other;

      lastComparison = Boolean.valueOf(isSetFkOrderId()).compareTo(typedOther.isSetFkOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetFkOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.fkOrderId, typedOther.fkOrderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetFkOrderItemId()).compareTo(typedOther.isSetFkOrderItemId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetFkOrderItemId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.fkOrderItemId, typedOther.fkOrderItemId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // FK_ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.fkOrderId = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // FK_ORDER_ITEM_ID
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.fkOrderItemId = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.fkOrderId != null) {
        oprot.writeFieldBegin(FK_ORDER_ID_FIELD_DESC);
        oprot.writeString(this.fkOrderId);
        oprot.writeFieldEnd();
      }
      if (this.fkOrderItemId != null) {
        oprot.writeFieldBegin(FK_ORDER_ITEM_ID_FIELD_DESC);
        oprot.writeString(this.fkOrderItemId);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getFAOrderByFkOrderId_args(");
      boolean first = true;

      sb.append("fkOrderId:");
      if (this.fkOrderId == null) {
        sb.append("null");
      } else {
        sb.append(this.fkOrderId);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("fkOrderItemId:");
      if (this.fkOrderItemId == null) {
        sb.append("null");
      } else {
        sb.append(this.fkOrderItemId);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getFAOrderByFkOrderId_result implements org.apache.thrift.TBase<getFAOrderByFkOrderId_result, getFAOrderByFkOrderId_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getFAOrderByFkOrderId_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private FlipkartAdvantageOrder success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, FlipkartAdvantageOrder.class)));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getFAOrderByFkOrderId_result.class, metaDataMap);
    }

    public getFAOrderByFkOrderId_result() {
    }

    public getFAOrderByFkOrderId_result(
      FlipkartAdvantageOrder success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getFAOrderByFkOrderId_result(getFAOrderByFkOrderId_result other) {
      if (other.isSetSuccess()) {
        this.success = new FlipkartAdvantageOrder(other.success);
      }
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public getFAOrderByFkOrderId_result deepCopy() {
      return new getFAOrderByFkOrderId_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.ex = null;
    }

    public FlipkartAdvantageOrder getSuccess() {
      return this.success;
    }

    public void setSuccess(FlipkartAdvantageOrder success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((FlipkartAdvantageOrder)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getFAOrderByFkOrderId_result)
        return this.equals((getFAOrderByFkOrderId_result)that);
      return false;
    }

    public boolean equals(getFAOrderByFkOrderId_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getFAOrderByFkOrderId_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getFAOrderByFkOrderId_result typedOther = (getFAOrderByFkOrderId_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.success = new FlipkartAdvantageOrder();
              this.success.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        this.success.write(oprot);
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getFAOrderByFkOrderId_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getAllFAOrdersList_args implements org.apache.thrift.TBase<getAllFAOrdersList_args, getAllFAOrdersList_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllFAOrdersList_args");

    private static final org.apache.thrift.protocol.TField STATUS_FIELD_DESC = new org.apache.thrift.protocol.TField("status", org.apache.thrift.protocol.TType.STRING, (short)1);

    private String status; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      STATUS((short)1, "status");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // STATUS
            return STATUS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.STATUS, new org.apache.thrift.meta_data.FieldMetaData("status", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAllFAOrdersList_args.class, metaDataMap);
    }

    public getAllFAOrdersList_args() {
    }

    public getAllFAOrdersList_args(
      String status)
    {
      this();
      this.status = status;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getAllFAOrdersList_args(getAllFAOrdersList_args other) {
      if (other.isSetStatus()) {
        this.status = other.status;
      }
    }

    public getAllFAOrdersList_args deepCopy() {
      return new getAllFAOrdersList_args(this);
    }

    @Override
    public void clear() {
      this.status = null;
    }

    public String getStatus() {
      return this.status;
    }

    public void setStatus(String status) {
      this.status = status;
    }

    public void unsetStatus() {
      this.status = null;
    }

    /** Returns true if field status is set (has been assigned a value) and false otherwise */
    public boolean isSetStatus() {
      return this.status != null;
    }

    public void setStatusIsSet(boolean value) {
      if (!value) {
        this.status = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case STATUS:
        if (value == null) {
          unsetStatus();
        } else {
          setStatus((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case STATUS:
        return getStatus();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case STATUS:
        return isSetStatus();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getAllFAOrdersList_args)
        return this.equals((getAllFAOrdersList_args)that);
      return false;
    }

    public boolean equals(getAllFAOrdersList_args that) {
      if (that == null)
        return false;

      boolean this_present_status = true && this.isSetStatus();
      boolean that_present_status = true && that.isSetStatus();
      if (this_present_status || that_present_status) {
        if (!(this_present_status && that_present_status))
          return false;
        if (!this.status.equals(that.status))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getAllFAOrdersList_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getAllFAOrdersList_args typedOther = (getAllFAOrdersList_args)other;

      lastComparison = Boolean.valueOf(isSetStatus()).compareTo(typedOther.isSetStatus());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetStatus()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.status, typedOther.status);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // STATUS
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.status = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.status != null) {
        oprot.writeFieldBegin(STATUS_FIELD_DESC);
        oprot.writeString(this.status);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getAllFAOrdersList_args(");
      boolean first = true;

      sb.append("status:");
      if (this.status == null) {
        sb.append("null");
      } else {
        sb.append(this.status);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getAllFAOrdersList_result implements org.apache.thrift.TBase<getAllFAOrdersList_result, getAllFAOrdersList_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllFAOrdersList_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private List<FlipkartAdvantageOrder> success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, FlipkartAdvantageOrder.class))));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAllFAOrdersList_result.class, metaDataMap);
    }

    public getAllFAOrdersList_result() {
    }

    public getAllFAOrdersList_result(
      List<FlipkartAdvantageOrder> success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getAllFAOrdersList_result(getAllFAOrdersList_result other) {
      if (other.isSetSuccess()) {
        List<FlipkartAdvantageOrder> __this__success = new ArrayList<FlipkartAdvantageOrder>();
        for (FlipkartAdvantageOrder other_element : other.success) {
          __this__success.add(new FlipkartAdvantageOrder(other_element));
        }
        this.success = __this__success;
      }
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public getAllFAOrdersList_result deepCopy() {
      return new getAllFAOrdersList_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.ex = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<FlipkartAdvantageOrder> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(FlipkartAdvantageOrder elem) {
      if (this.success == null) {
        this.success = new ArrayList<FlipkartAdvantageOrder>();
      }
      this.success.add(elem);
    }

    public List<FlipkartAdvantageOrder> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<FlipkartAdvantageOrder> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<FlipkartAdvantageOrder>)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getAllFAOrdersList_result)
        return this.equals((getAllFAOrdersList_result)that);
      return false;
    }

    public boolean equals(getAllFAOrdersList_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getAllFAOrdersList_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getAllFAOrdersList_result typedOther = (getAllFAOrdersList_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list609 = iprot.readListBegin();
                this.success = new ArrayList<FlipkartAdvantageOrder>(_list609.size);
                for (int _i610 = 0; _i610 < _list609.size; ++_i610)
                {
                  FlipkartAdvantageOrder _elem611; // required
                  _elem611 = new FlipkartAdvantageOrder();
                  _elem611.read(iprot);
                  this.success.add(_elem611);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (FlipkartAdvantageOrder _iter612 : this.success)
          {
            _iter612.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getAllFAOrdersList_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class addUpdateFaOrdersBulk_args implements org.apache.thrift.TBase<addUpdateFaOrdersBulk_args, addUpdateFaOrdersBulk_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addUpdateFaOrdersBulk_args");

    private static final org.apache.thrift.protocol.TField FA_ORDERS_LIST_FIELD_DESC = new org.apache.thrift.protocol.TField("faOrdersList", org.apache.thrift.protocol.TType.LIST, (short)1);

    private List<FlipkartAdvantageOrder> faOrdersList; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      FA_ORDERS_LIST((short)1, "faOrdersList");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // FA_ORDERS_LIST
            return FA_ORDERS_LIST;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.FA_ORDERS_LIST, new org.apache.thrift.meta_data.FieldMetaData("faOrdersList", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, FlipkartAdvantageOrder.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(addUpdateFaOrdersBulk_args.class, metaDataMap);
    }

    public addUpdateFaOrdersBulk_args() {
    }

    public addUpdateFaOrdersBulk_args(
      List<FlipkartAdvantageOrder> faOrdersList)
    {
      this();
      this.faOrdersList = faOrdersList;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public addUpdateFaOrdersBulk_args(addUpdateFaOrdersBulk_args other) {
      if (other.isSetFaOrdersList()) {
        List<FlipkartAdvantageOrder> __this__faOrdersList = new ArrayList<FlipkartAdvantageOrder>();
        for (FlipkartAdvantageOrder other_element : other.faOrdersList) {
          __this__faOrdersList.add(new FlipkartAdvantageOrder(other_element));
        }
        this.faOrdersList = __this__faOrdersList;
      }
    }

    public addUpdateFaOrdersBulk_args deepCopy() {
      return new addUpdateFaOrdersBulk_args(this);
    }

    @Override
    public void clear() {
      this.faOrdersList = null;
    }

    public int getFaOrdersListSize() {
      return (this.faOrdersList == null) ? 0 : this.faOrdersList.size();
    }

    public java.util.Iterator<FlipkartAdvantageOrder> getFaOrdersListIterator() {
      return (this.faOrdersList == null) ? null : this.faOrdersList.iterator();
    }

    public void addToFaOrdersList(FlipkartAdvantageOrder elem) {
      if (this.faOrdersList == null) {
        this.faOrdersList = new ArrayList<FlipkartAdvantageOrder>();
      }
      this.faOrdersList.add(elem);
    }

    public List<FlipkartAdvantageOrder> getFaOrdersList() {
      return this.faOrdersList;
    }

    public void setFaOrdersList(List<FlipkartAdvantageOrder> faOrdersList) {
      this.faOrdersList = faOrdersList;
    }

    public void unsetFaOrdersList() {
      this.faOrdersList = null;
    }

    /** Returns true if field faOrdersList is set (has been assigned a value) and false otherwise */
    public boolean isSetFaOrdersList() {
      return this.faOrdersList != null;
    }

    public void setFaOrdersListIsSet(boolean value) {
      if (!value) {
        this.faOrdersList = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case FA_ORDERS_LIST:
        if (value == null) {
          unsetFaOrdersList();
        } else {
          setFaOrdersList((List<FlipkartAdvantageOrder>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case FA_ORDERS_LIST:
        return getFaOrdersList();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case FA_ORDERS_LIST:
        return isSetFaOrdersList();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof addUpdateFaOrdersBulk_args)
        return this.equals((addUpdateFaOrdersBulk_args)that);
      return false;
    }

    public boolean equals(addUpdateFaOrdersBulk_args that) {
      if (that == null)
        return false;

      boolean this_present_faOrdersList = true && this.isSetFaOrdersList();
      boolean that_present_faOrdersList = true && that.isSetFaOrdersList();
      if (this_present_faOrdersList || that_present_faOrdersList) {
        if (!(this_present_faOrdersList && that_present_faOrdersList))
          return false;
        if (!this.faOrdersList.equals(that.faOrdersList))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(addUpdateFaOrdersBulk_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      addUpdateFaOrdersBulk_args typedOther = (addUpdateFaOrdersBulk_args)other;

      lastComparison = Boolean.valueOf(isSetFaOrdersList()).compareTo(typedOther.isSetFaOrdersList());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetFaOrdersList()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.faOrdersList, typedOther.faOrdersList);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // FA_ORDERS_LIST
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list613 = iprot.readListBegin();
                this.faOrdersList = new ArrayList<FlipkartAdvantageOrder>(_list613.size);
                for (int _i614 = 0; _i614 < _list613.size; ++_i614)
                {
                  FlipkartAdvantageOrder _elem615; // required
                  _elem615 = new FlipkartAdvantageOrder();
                  _elem615.read(iprot);
                  this.faOrdersList.add(_elem615);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.faOrdersList != null) {
        oprot.writeFieldBegin(FA_ORDERS_LIST_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.faOrdersList.size()));
          for (FlipkartAdvantageOrder _iter616 : this.faOrdersList)
          {
            _iter616.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("addUpdateFaOrdersBulk_args(");
      boolean first = true;

      sb.append("faOrdersList:");
      if (this.faOrdersList == null) {
        sb.append("null");
      } else {
        sb.append(this.faOrdersList);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class addUpdateFaOrdersBulk_result implements org.apache.thrift.TBase<addUpdateFaOrdersBulk_result, addUpdateFaOrdersBulk_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addUpdateFaOrdersBulk_result");

    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(addUpdateFaOrdersBulk_result.class, metaDataMap);
    }

    public addUpdateFaOrdersBulk_result() {
    }

    public addUpdateFaOrdersBulk_result(
      TransactionServiceException ex)
    {
      this();
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public addUpdateFaOrdersBulk_result(addUpdateFaOrdersBulk_result other) {
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public addUpdateFaOrdersBulk_result deepCopy() {
      return new addUpdateFaOrdersBulk_result(this);
    }

    @Override
    public void clear() {
      this.ex = null;
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof addUpdateFaOrdersBulk_result)
        return this.equals((addUpdateFaOrdersBulk_result)that);
      return false;
    }

    public boolean equals(addUpdateFaOrdersBulk_result that) {
      if (that == null)
        return false;

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(addUpdateFaOrdersBulk_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      addUpdateFaOrdersBulk_result typedOther = (addUpdateFaOrdersBulk_result)other;

      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("addUpdateFaOrdersBulk_result(");
      boolean first = true;

      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class addInvoiceDetailsToOrders_args implements org.apache.thrift.TBase<addInvoiceDetailsToOrders_args, addInvoiceDetailsToOrders_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addInvoiceDetailsToOrders_args");

    private static final org.apache.thrift.protocol.TField TRANSACTION_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("transactionId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField CUSTOMER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("customerId", org.apache.thrift.protocol.TType.I64, (short)2);

    private long transactionId; // required
    private long customerId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      TRANSACTION_ID((short)1, "transactionId"),
      CUSTOMER_ID((short)2, "customerId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // TRANSACTION_ID
            return TRANSACTION_ID;
          case 2: // CUSTOMER_ID
            return CUSTOMER_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __TRANSACTIONID_ISSET_ID = 0;
    private static final int __CUSTOMERID_ISSET_ID = 1;
    private BitSet __isset_bit_vector = new BitSet(2);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.TRANSACTION_ID, new org.apache.thrift.meta_data.FieldMetaData("transactionId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.CUSTOMER_ID, new org.apache.thrift.meta_data.FieldMetaData("customerId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(addInvoiceDetailsToOrders_args.class, metaDataMap);
    }

    public addInvoiceDetailsToOrders_args() {
    }

    public addInvoiceDetailsToOrders_args(
      long transactionId,
      long customerId)
    {
      this();
      this.transactionId = transactionId;
      setTransactionIdIsSet(true);
      this.customerId = customerId;
      setCustomerIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public addInvoiceDetailsToOrders_args(addInvoiceDetailsToOrders_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.transactionId = other.transactionId;
      this.customerId = other.customerId;
    }

    public addInvoiceDetailsToOrders_args deepCopy() {
      return new addInvoiceDetailsToOrders_args(this);
    }

    @Override
    public void clear() {
      setTransactionIdIsSet(false);
      this.transactionId = 0;
      setCustomerIdIsSet(false);
      this.customerId = 0;
    }

    public long getTransactionId() {
      return this.transactionId;
    }

    public void setTransactionId(long transactionId) {
      this.transactionId = transactionId;
      setTransactionIdIsSet(true);
    }

    public void unsetTransactionId() {
      __isset_bit_vector.clear(__TRANSACTIONID_ISSET_ID);
    }

    /** Returns true if field transactionId is set (has been assigned a value) and false otherwise */
    public boolean isSetTransactionId() {
      return __isset_bit_vector.get(__TRANSACTIONID_ISSET_ID);
    }

    public void setTransactionIdIsSet(boolean value) {
      __isset_bit_vector.set(__TRANSACTIONID_ISSET_ID, value);
    }

    public long getCustomerId() {
      return this.customerId;
    }

    public void setCustomerId(long customerId) {
      this.customerId = customerId;
      setCustomerIdIsSet(true);
    }

    public void unsetCustomerId() {
      __isset_bit_vector.clear(__CUSTOMERID_ISSET_ID);
    }

    /** Returns true if field customerId is set (has been assigned a value) and false otherwise */
    public boolean isSetCustomerId() {
      return __isset_bit_vector.get(__CUSTOMERID_ISSET_ID);
    }

    public void setCustomerIdIsSet(boolean value) {
      __isset_bit_vector.set(__CUSTOMERID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case TRANSACTION_ID:
        if (value == null) {
          unsetTransactionId();
        } else {
          setTransactionId((Long)value);
        }
        break;

      case CUSTOMER_ID:
        if (value == null) {
          unsetCustomerId();
        } else {
          setCustomerId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case TRANSACTION_ID:
        return Long.valueOf(getTransactionId());

      case CUSTOMER_ID:
        return Long.valueOf(getCustomerId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case TRANSACTION_ID:
        return isSetTransactionId();
      case CUSTOMER_ID:
        return isSetCustomerId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof addInvoiceDetailsToOrders_args)
        return this.equals((addInvoiceDetailsToOrders_args)that);
      return false;
    }

    public boolean equals(addInvoiceDetailsToOrders_args that) {
      if (that == null)
        return false;

      boolean this_present_transactionId = true;
      boolean that_present_transactionId = true;
      if (this_present_transactionId || that_present_transactionId) {
        if (!(this_present_transactionId && that_present_transactionId))
          return false;
        if (this.transactionId != that.transactionId)
          return false;
      }

      boolean this_present_customerId = true;
      boolean that_present_customerId = true;
      if (this_present_customerId || that_present_customerId) {
        if (!(this_present_customerId && that_present_customerId))
          return false;
        if (this.customerId != that.customerId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(addInvoiceDetailsToOrders_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      addInvoiceDetailsToOrders_args typedOther = (addInvoiceDetailsToOrders_args)other;

      lastComparison = Boolean.valueOf(isSetTransactionId()).compareTo(typedOther.isSetTransactionId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetTransactionId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.transactionId, typedOther.transactionId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetCustomerId()).compareTo(typedOther.isSetCustomerId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetCustomerId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.customerId, typedOther.customerId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // TRANSACTION_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.transactionId = iprot.readI64();
              setTransactionIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // CUSTOMER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.customerId = iprot.readI64();
              setCustomerIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(TRANSACTION_ID_FIELD_DESC);
      oprot.writeI64(this.transactionId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(CUSTOMER_ID_FIELD_DESC);
      oprot.writeI64(this.customerId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("addInvoiceDetailsToOrders_args(");
      boolean first = true;

      sb.append("transactionId:");
      sb.append(this.transactionId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("customerId:");
      sb.append(this.customerId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class addInvoiceDetailsToOrders_result implements org.apache.thrift.TBase<addInvoiceDetailsToOrders_result, addInvoiceDetailsToOrders_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addInvoiceDetailsToOrders_result");

    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(addInvoiceDetailsToOrders_result.class, metaDataMap);
    }

    public addInvoiceDetailsToOrders_result() {
    }

    public addInvoiceDetailsToOrders_result(
      TransactionServiceException ex)
    {
      this();
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public addInvoiceDetailsToOrders_result(addInvoiceDetailsToOrders_result other) {
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public addInvoiceDetailsToOrders_result deepCopy() {
      return new addInvoiceDetailsToOrders_result(this);
    }

    @Override
    public void clear() {
      this.ex = null;
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof addInvoiceDetailsToOrders_result)
        return this.equals((addInvoiceDetailsToOrders_result)that);
      return false;
    }

    public boolean equals(addInvoiceDetailsToOrders_result that) {
      if (that == null)
        return false;

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(addInvoiceDetailsToOrders_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      addInvoiceDetailsToOrders_result typedOther = (addInvoiceDetailsToOrders_result)other;

      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("addInvoiceDetailsToOrders_result(");
      boolean first = true;

      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class flipkartFaOrderExists_args implements org.apache.thrift.TBase<flipkartFaOrderExists_args, flipkartFaOrderExists_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("flipkartFaOrderExists_args");

    private static final org.apache.thrift.protocol.TField FK_ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("fkOrderId", org.apache.thrift.protocol.TType.STRING, (short)1);
    private static final org.apache.thrift.protocol.TField FK_ORDER_ITEM_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("fkOrderItemId", org.apache.thrift.protocol.TType.STRING, (short)2);

    private String fkOrderId; // required
    private String fkOrderItemId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      FK_ORDER_ID((short)1, "fkOrderId"),
      FK_ORDER_ITEM_ID((short)2, "fkOrderItemId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // FK_ORDER_ID
            return FK_ORDER_ID;
          case 2: // FK_ORDER_ITEM_ID
            return FK_ORDER_ITEM_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.FK_ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("fkOrderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.FK_ORDER_ITEM_ID, new org.apache.thrift.meta_data.FieldMetaData("fkOrderItemId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(flipkartFaOrderExists_args.class, metaDataMap);
    }

    public flipkartFaOrderExists_args() {
    }

    public flipkartFaOrderExists_args(
      String fkOrderId,
      String fkOrderItemId)
    {
      this();
      this.fkOrderId = fkOrderId;
      this.fkOrderItemId = fkOrderItemId;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public flipkartFaOrderExists_args(flipkartFaOrderExists_args other) {
      if (other.isSetFkOrderId()) {
        this.fkOrderId = other.fkOrderId;
      }
      if (other.isSetFkOrderItemId()) {
        this.fkOrderItemId = other.fkOrderItemId;
      }
    }

    public flipkartFaOrderExists_args deepCopy() {
      return new flipkartFaOrderExists_args(this);
    }

    @Override
    public void clear() {
      this.fkOrderId = null;
      this.fkOrderItemId = null;
    }

    public String getFkOrderId() {
      return this.fkOrderId;
    }

    public void setFkOrderId(String fkOrderId) {
      this.fkOrderId = fkOrderId;
    }

    public void unsetFkOrderId() {
      this.fkOrderId = null;
    }

    /** Returns true if field fkOrderId is set (has been assigned a value) and false otherwise */
    public boolean isSetFkOrderId() {
      return this.fkOrderId != null;
    }

    public void setFkOrderIdIsSet(boolean value) {
      if (!value) {
        this.fkOrderId = null;
      }
    }

    public String getFkOrderItemId() {
      return this.fkOrderItemId;
    }

    public void setFkOrderItemId(String fkOrderItemId) {
      this.fkOrderItemId = fkOrderItemId;
    }

    public void unsetFkOrderItemId() {
      this.fkOrderItemId = null;
    }

    /** Returns true if field fkOrderItemId is set (has been assigned a value) and false otherwise */
    public boolean isSetFkOrderItemId() {
      return this.fkOrderItemId != null;
    }

    public void setFkOrderItemIdIsSet(boolean value) {
      if (!value) {
        this.fkOrderItemId = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case FK_ORDER_ID:
        if (value == null) {
          unsetFkOrderId();
        } else {
          setFkOrderId((String)value);
        }
        break;

      case FK_ORDER_ITEM_ID:
        if (value == null) {
          unsetFkOrderItemId();
        } else {
          setFkOrderItemId((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case FK_ORDER_ID:
        return getFkOrderId();

      case FK_ORDER_ITEM_ID:
        return getFkOrderItemId();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case FK_ORDER_ID:
        return isSetFkOrderId();
      case FK_ORDER_ITEM_ID:
        return isSetFkOrderItemId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof flipkartFaOrderExists_args)
        return this.equals((flipkartFaOrderExists_args)that);
      return false;
    }

    public boolean equals(flipkartFaOrderExists_args that) {
      if (that == null)
        return false;

      boolean this_present_fkOrderId = true && this.isSetFkOrderId();
      boolean that_present_fkOrderId = true && that.isSetFkOrderId();
      if (this_present_fkOrderId || that_present_fkOrderId) {
        if (!(this_present_fkOrderId && that_present_fkOrderId))
          return false;
        if (!this.fkOrderId.equals(that.fkOrderId))
          return false;
      }

      boolean this_present_fkOrderItemId = true && this.isSetFkOrderItemId();
      boolean that_present_fkOrderItemId = true && that.isSetFkOrderItemId();
      if (this_present_fkOrderItemId || that_present_fkOrderItemId) {
        if (!(this_present_fkOrderItemId && that_present_fkOrderItemId))
          return false;
        if (!this.fkOrderItemId.equals(that.fkOrderItemId))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(flipkartFaOrderExists_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      flipkartFaOrderExists_args typedOther = (flipkartFaOrderExists_args)other;

      lastComparison = Boolean.valueOf(isSetFkOrderId()).compareTo(typedOther.isSetFkOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetFkOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.fkOrderId, typedOther.fkOrderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetFkOrderItemId()).compareTo(typedOther.isSetFkOrderItemId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetFkOrderItemId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.fkOrderItemId, typedOther.fkOrderItemId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // FK_ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.fkOrderId = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // FK_ORDER_ITEM_ID
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.fkOrderItemId = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.fkOrderId != null) {
        oprot.writeFieldBegin(FK_ORDER_ID_FIELD_DESC);
        oprot.writeString(this.fkOrderId);
        oprot.writeFieldEnd();
      }
      if (this.fkOrderItemId != null) {
        oprot.writeFieldBegin(FK_ORDER_ITEM_ID_FIELD_DESC);
        oprot.writeString(this.fkOrderItemId);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("flipkartFaOrderExists_args(");
      boolean first = true;

      sb.append("fkOrderId:");
      if (this.fkOrderId == null) {
        sb.append("null");
      } else {
        sb.append(this.fkOrderId);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("fkOrderItemId:");
      if (this.fkOrderItemId == null) {
        sb.append("null");
      } else {
        sb.append(this.fkOrderItemId);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class flipkartFaOrderExists_result implements org.apache.thrift.TBase<flipkartFaOrderExists_result, flipkartFaOrderExists_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("flipkartFaOrderExists_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private boolean success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(flipkartFaOrderExists_result.class, metaDataMap);
    }

    public flipkartFaOrderExists_result() {
    }

    public flipkartFaOrderExists_result(
      boolean success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public flipkartFaOrderExists_result(flipkartFaOrderExists_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public flipkartFaOrderExists_result deepCopy() {
      return new flipkartFaOrderExists_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = false;
      this.ex = null;
    }

    public boolean isSuccess() {
      return this.success;
    }

    public void setSuccess(boolean success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Boolean.valueOf(isSuccess());

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof flipkartFaOrderExists_result)
        return this.equals((flipkartFaOrderExists_result)that);
      return false;
    }

    public boolean equals(flipkartFaOrderExists_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(flipkartFaOrderExists_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      flipkartFaOrderExists_result typedOther = (flipkartFaOrderExists_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.success = iprot.readBool();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBool(this.success);
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("flipkartFaOrderExists_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getRcgOrderStatus_args implements org.apache.thrift.TBase<getRcgOrderStatus_args, getRcgOrderStatus_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getRcgOrderStatus_args");

    private static final org.apache.thrift.protocol.TField RECHARGE_ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("rechargeOrderId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField IS_FINAL_FIELD_DESC = new org.apache.thrift.protocol.TField("isFinal", org.apache.thrift.protocol.TType.BOOL, (short)2);

    private long rechargeOrderId; // required
    private boolean isFinal; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      RECHARGE_ORDER_ID((short)1, "rechargeOrderId"),
      IS_FINAL((short)2, "isFinal");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // RECHARGE_ORDER_ID
            return RECHARGE_ORDER_ID;
          case 2: // IS_FINAL
            return IS_FINAL;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __RECHARGEORDERID_ISSET_ID = 0;
    private static final int __ISFINAL_ISSET_ID = 1;
    private BitSet __isset_bit_vector = new BitSet(2);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.RECHARGE_ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("rechargeOrderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.IS_FINAL, new org.apache.thrift.meta_data.FieldMetaData("isFinal", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getRcgOrderStatus_args.class, metaDataMap);
    }

    public getRcgOrderStatus_args() {
    }

    public getRcgOrderStatus_args(
      long rechargeOrderId,
      boolean isFinal)
    {
      this();
      this.rechargeOrderId = rechargeOrderId;
      setRechargeOrderIdIsSet(true);
      this.isFinal = isFinal;
      setIsFinalIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getRcgOrderStatus_args(getRcgOrderStatus_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.rechargeOrderId = other.rechargeOrderId;
      this.isFinal = other.isFinal;
    }

    public getRcgOrderStatus_args deepCopy() {
      return new getRcgOrderStatus_args(this);
    }

    @Override
    public void clear() {
      setRechargeOrderIdIsSet(false);
      this.rechargeOrderId = 0;
      setIsFinalIsSet(false);
      this.isFinal = false;
    }

    public long getRechargeOrderId() {
      return this.rechargeOrderId;
    }

    public void setRechargeOrderId(long rechargeOrderId) {
      this.rechargeOrderId = rechargeOrderId;
      setRechargeOrderIdIsSet(true);
    }

    public void unsetRechargeOrderId() {
      __isset_bit_vector.clear(__RECHARGEORDERID_ISSET_ID);
    }

    /** Returns true if field rechargeOrderId is set (has been assigned a value) and false otherwise */
    public boolean isSetRechargeOrderId() {
      return __isset_bit_vector.get(__RECHARGEORDERID_ISSET_ID);
    }

    public void setRechargeOrderIdIsSet(boolean value) {
      __isset_bit_vector.set(__RECHARGEORDERID_ISSET_ID, value);
    }

    public boolean isIsFinal() {
      return this.isFinal;
    }

    public void setIsFinal(boolean isFinal) {
      this.isFinal = isFinal;
      setIsFinalIsSet(true);
    }

    public void unsetIsFinal() {
      __isset_bit_vector.clear(__ISFINAL_ISSET_ID);
    }

    /** Returns true if field isFinal is set (has been assigned a value) and false otherwise */
    public boolean isSetIsFinal() {
      return __isset_bit_vector.get(__ISFINAL_ISSET_ID);
    }

    public void setIsFinalIsSet(boolean value) {
      __isset_bit_vector.set(__ISFINAL_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case RECHARGE_ORDER_ID:
        if (value == null) {
          unsetRechargeOrderId();
        } else {
          setRechargeOrderId((Long)value);
        }
        break;

      case IS_FINAL:
        if (value == null) {
          unsetIsFinal();
        } else {
          setIsFinal((Boolean)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case RECHARGE_ORDER_ID:
        return Long.valueOf(getRechargeOrderId());

      case IS_FINAL:
        return Boolean.valueOf(isIsFinal());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case RECHARGE_ORDER_ID:
        return isSetRechargeOrderId();
      case IS_FINAL:
        return isSetIsFinal();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getRcgOrderStatus_args)
        return this.equals((getRcgOrderStatus_args)that);
      return false;
    }

    public boolean equals(getRcgOrderStatus_args that) {
      if (that == null)
        return false;

      boolean this_present_rechargeOrderId = true;
      boolean that_present_rechargeOrderId = true;
      if (this_present_rechargeOrderId || that_present_rechargeOrderId) {
        if (!(this_present_rechargeOrderId && that_present_rechargeOrderId))
          return false;
        if (this.rechargeOrderId != that.rechargeOrderId)
          return false;
      }

      boolean this_present_isFinal = true;
      boolean that_present_isFinal = true;
      if (this_present_isFinal || that_present_isFinal) {
        if (!(this_present_isFinal && that_present_isFinal))
          return false;
        if (this.isFinal != that.isFinal)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getRcgOrderStatus_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getRcgOrderStatus_args typedOther = (getRcgOrderStatus_args)other;

      lastComparison = Boolean.valueOf(isSetRechargeOrderId()).compareTo(typedOther.isSetRechargeOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetRechargeOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.rechargeOrderId, typedOther.rechargeOrderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetIsFinal()).compareTo(typedOther.isSetIsFinal());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetIsFinal()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.isFinal, typedOther.isFinal);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // RECHARGE_ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.rechargeOrderId = iprot.readI64();
              setRechargeOrderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // IS_FINAL
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.isFinal = iprot.readBool();
              setIsFinalIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(RECHARGE_ORDER_ID_FIELD_DESC);
      oprot.writeI64(this.rechargeOrderId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(IS_FINAL_FIELD_DESC);
      oprot.writeBool(this.isFinal);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getRcgOrderStatus_args(");
      boolean first = true;

      sb.append("rechargeOrderId:");
      sb.append(this.rechargeOrderId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("isFinal:");
      sb.append(this.isFinal);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getRcgOrderStatus_result implements org.apache.thrift.TBase<getRcgOrderStatus_result, getRcgOrderStatus_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getRcgOrderStatus_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);

    private RechargeOrder success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, RechargeOrder.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getRcgOrderStatus_result.class, metaDataMap);
    }

    public getRcgOrderStatus_result() {
    }

    public getRcgOrderStatus_result(
      RechargeOrder success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getRcgOrderStatus_result(getRcgOrderStatus_result other) {
      if (other.isSetSuccess()) {
        this.success = new RechargeOrder(other.success);
      }
    }

    public getRcgOrderStatus_result deepCopy() {
      return new getRcgOrderStatus_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public RechargeOrder getSuccess() {
      return this.success;
    }

    public void setSuccess(RechargeOrder success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((RechargeOrder)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getRcgOrderStatus_result)
        return this.equals((getRcgOrderStatus_result)that);
      return false;
    }

    public boolean equals(getRcgOrderStatus_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getRcgOrderStatus_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getRcgOrderStatus_result typedOther = (getRcgOrderStatus_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.success = new RechargeOrder();
              this.success.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        this.success.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getRcgOrderStatus_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getRcgTransactionStatus_args implements org.apache.thrift.TBase<getRcgTransactionStatus_args, getRcgTransactionStatus_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getRcgTransactionStatus_args");

    private static final org.apache.thrift.protocol.TField RECHARGE_TRANSACTION_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("rechargeTransactionId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField IS_FINAL_FIELD_DESC = new org.apache.thrift.protocol.TField("isFinal", org.apache.thrift.protocol.TType.BOOL, (short)2);

    private long rechargeTransactionId; // required
    private boolean isFinal; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      RECHARGE_TRANSACTION_ID((short)1, "rechargeTransactionId"),
      IS_FINAL((short)2, "isFinal");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // RECHARGE_TRANSACTION_ID
            return RECHARGE_TRANSACTION_ID;
          case 2: // IS_FINAL
            return IS_FINAL;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __RECHARGETRANSACTIONID_ISSET_ID = 0;
    private static final int __ISFINAL_ISSET_ID = 1;
    private BitSet __isset_bit_vector = new BitSet(2);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.RECHARGE_TRANSACTION_ID, new org.apache.thrift.meta_data.FieldMetaData("rechargeTransactionId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.IS_FINAL, new org.apache.thrift.meta_data.FieldMetaData("isFinal", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getRcgTransactionStatus_args.class, metaDataMap);
    }

    public getRcgTransactionStatus_args() {
    }

    public getRcgTransactionStatus_args(
      long rechargeTransactionId,
      boolean isFinal)
    {
      this();
      this.rechargeTransactionId = rechargeTransactionId;
      setRechargeTransactionIdIsSet(true);
      this.isFinal = isFinal;
      setIsFinalIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getRcgTransactionStatus_args(getRcgTransactionStatus_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.rechargeTransactionId = other.rechargeTransactionId;
      this.isFinal = other.isFinal;
    }

    public getRcgTransactionStatus_args deepCopy() {
      return new getRcgTransactionStatus_args(this);
    }

    @Override
    public void clear() {
      setRechargeTransactionIdIsSet(false);
      this.rechargeTransactionId = 0;
      setIsFinalIsSet(false);
      this.isFinal = false;
    }

    public long getRechargeTransactionId() {
      return this.rechargeTransactionId;
    }

    public void setRechargeTransactionId(long rechargeTransactionId) {
      this.rechargeTransactionId = rechargeTransactionId;
      setRechargeTransactionIdIsSet(true);
    }

    public void unsetRechargeTransactionId() {
      __isset_bit_vector.clear(__RECHARGETRANSACTIONID_ISSET_ID);
    }

    /** Returns true if field rechargeTransactionId is set (has been assigned a value) and false otherwise */
    public boolean isSetRechargeTransactionId() {
      return __isset_bit_vector.get(__RECHARGETRANSACTIONID_ISSET_ID);
    }

    public void setRechargeTransactionIdIsSet(boolean value) {
      __isset_bit_vector.set(__RECHARGETRANSACTIONID_ISSET_ID, value);
    }

    public boolean isIsFinal() {
      return this.isFinal;
    }

    public void setIsFinal(boolean isFinal) {
      this.isFinal = isFinal;
      setIsFinalIsSet(true);
    }

    public void unsetIsFinal() {
      __isset_bit_vector.clear(__ISFINAL_ISSET_ID);
    }

    /** Returns true if field isFinal is set (has been assigned a value) and false otherwise */
    public boolean isSetIsFinal() {
      return __isset_bit_vector.get(__ISFINAL_ISSET_ID);
    }

    public void setIsFinalIsSet(boolean value) {
      __isset_bit_vector.set(__ISFINAL_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case RECHARGE_TRANSACTION_ID:
        if (value == null) {
          unsetRechargeTransactionId();
        } else {
          setRechargeTransactionId((Long)value);
        }
        break;

      case IS_FINAL:
        if (value == null) {
          unsetIsFinal();
        } else {
          setIsFinal((Boolean)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case RECHARGE_TRANSACTION_ID:
        return Long.valueOf(getRechargeTransactionId());

      case IS_FINAL:
        return Boolean.valueOf(isIsFinal());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case RECHARGE_TRANSACTION_ID:
        return isSetRechargeTransactionId();
      case IS_FINAL:
        return isSetIsFinal();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getRcgTransactionStatus_args)
        return this.equals((getRcgTransactionStatus_args)that);
      return false;
    }

    public boolean equals(getRcgTransactionStatus_args that) {
      if (that == null)
        return false;

      boolean this_present_rechargeTransactionId = true;
      boolean that_present_rechargeTransactionId = true;
      if (this_present_rechargeTransactionId || that_present_rechargeTransactionId) {
        if (!(this_present_rechargeTransactionId && that_present_rechargeTransactionId))
          return false;
        if (this.rechargeTransactionId != that.rechargeTransactionId)
          return false;
      }

      boolean this_present_isFinal = true;
      boolean that_present_isFinal = true;
      if (this_present_isFinal || that_present_isFinal) {
        if (!(this_present_isFinal && that_present_isFinal))
          return false;
        if (this.isFinal != that.isFinal)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getRcgTransactionStatus_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getRcgTransactionStatus_args typedOther = (getRcgTransactionStatus_args)other;

      lastComparison = Boolean.valueOf(isSetRechargeTransactionId()).compareTo(typedOther.isSetRechargeTransactionId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetRechargeTransactionId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.rechargeTransactionId, typedOther.rechargeTransactionId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetIsFinal()).compareTo(typedOther.isSetIsFinal());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetIsFinal()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.isFinal, typedOther.isFinal);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // RECHARGE_TRANSACTION_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.rechargeTransactionId = iprot.readI64();
              setRechargeTransactionIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // IS_FINAL
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.isFinal = iprot.readBool();
              setIsFinalIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(RECHARGE_TRANSACTION_ID_FIELD_DESC);
      oprot.writeI64(this.rechargeTransactionId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(IS_FINAL_FIELD_DESC);
      oprot.writeBool(this.isFinal);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getRcgTransactionStatus_args(");
      boolean first = true;

      sb.append("rechargeTransactionId:");
      sb.append(this.rechargeTransactionId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("isFinal:");
      sb.append(this.isFinal);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getRcgTransactionStatus_result implements org.apache.thrift.TBase<getRcgTransactionStatus_result, getRcgTransactionStatus_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getRcgTransactionStatus_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);

    private RechargeTransaction success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, RechargeTransaction.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getRcgTransactionStatus_result.class, metaDataMap);
    }

    public getRcgTransactionStatus_result() {
    }

    public getRcgTransactionStatus_result(
      RechargeTransaction success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getRcgTransactionStatus_result(getRcgTransactionStatus_result other) {
      if (other.isSetSuccess()) {
        this.success = new RechargeTransaction(other.success);
      }
    }

    public getRcgTransactionStatus_result deepCopy() {
      return new getRcgTransactionStatus_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public RechargeTransaction getSuccess() {
      return this.success;
    }

    public void setSuccess(RechargeTransaction success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((RechargeTransaction)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getRcgTransactionStatus_result)
        return this.equals((getRcgTransactionStatus_result)that);
      return false;
    }

    public boolean equals(getRcgTransactionStatus_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getRcgTransactionStatus_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getRcgTransactionStatus_result typedOther = (getRcgTransactionStatus_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.success = new RechargeTransaction();
              this.success.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        this.success.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getRcgTransactionStatus_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class bulkAddOrUpdateFlipkartFaSalesSnapshot_args implements org.apache.thrift.TBase<bulkAddOrUpdateFlipkartFaSalesSnapshot_args, bulkAddOrUpdateFlipkartFaSalesSnapshot_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("bulkAddOrUpdateFlipkartFaSalesSnapshot_args");

    private static final org.apache.thrift.protocol.TField FLIPKARTFASALESSNAPSHOTLIST_FIELD_DESC = new org.apache.thrift.protocol.TField("flipkartfasalessnapshotlist", org.apache.thrift.protocol.TType.LIST, (short)1);

    private List<FlipkartFaSalesSnapshot> flipkartfasalessnapshotlist; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      FLIPKARTFASALESSNAPSHOTLIST((short)1, "flipkartfasalessnapshotlist");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // FLIPKARTFASALESSNAPSHOTLIST
            return FLIPKARTFASALESSNAPSHOTLIST;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.FLIPKARTFASALESSNAPSHOTLIST, new org.apache.thrift.meta_data.FieldMetaData("flipkartfasalessnapshotlist", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, FlipkartFaSalesSnapshot.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(bulkAddOrUpdateFlipkartFaSalesSnapshot_args.class, metaDataMap);
    }

    public bulkAddOrUpdateFlipkartFaSalesSnapshot_args() {
    }

    public bulkAddOrUpdateFlipkartFaSalesSnapshot_args(
      List<FlipkartFaSalesSnapshot> flipkartfasalessnapshotlist)
    {
      this();
      this.flipkartfasalessnapshotlist = flipkartfasalessnapshotlist;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public bulkAddOrUpdateFlipkartFaSalesSnapshot_args(bulkAddOrUpdateFlipkartFaSalesSnapshot_args other) {
      if (other.isSetFlipkartfasalessnapshotlist()) {
        List<FlipkartFaSalesSnapshot> __this__flipkartfasalessnapshotlist = new ArrayList<FlipkartFaSalesSnapshot>();
        for (FlipkartFaSalesSnapshot other_element : other.flipkartfasalessnapshotlist) {
          __this__flipkartfasalessnapshotlist.add(new FlipkartFaSalesSnapshot(other_element));
        }
        this.flipkartfasalessnapshotlist = __this__flipkartfasalessnapshotlist;
      }
    }

    public bulkAddOrUpdateFlipkartFaSalesSnapshot_args deepCopy() {
      return new bulkAddOrUpdateFlipkartFaSalesSnapshot_args(this);
    }

    @Override
    public void clear() {
      this.flipkartfasalessnapshotlist = null;
    }

    public int getFlipkartfasalessnapshotlistSize() {
      return (this.flipkartfasalessnapshotlist == null) ? 0 : this.flipkartfasalessnapshotlist.size();
    }

    public java.util.Iterator<FlipkartFaSalesSnapshot> getFlipkartfasalessnapshotlistIterator() {
      return (this.flipkartfasalessnapshotlist == null) ? null : this.flipkartfasalessnapshotlist.iterator();
    }

    public void addToFlipkartfasalessnapshotlist(FlipkartFaSalesSnapshot elem) {
      if (this.flipkartfasalessnapshotlist == null) {
        this.flipkartfasalessnapshotlist = new ArrayList<FlipkartFaSalesSnapshot>();
      }
      this.flipkartfasalessnapshotlist.add(elem);
    }

    public List<FlipkartFaSalesSnapshot> getFlipkartfasalessnapshotlist() {
      return this.flipkartfasalessnapshotlist;
    }

    public void setFlipkartfasalessnapshotlist(List<FlipkartFaSalesSnapshot> flipkartfasalessnapshotlist) {
      this.flipkartfasalessnapshotlist = flipkartfasalessnapshotlist;
    }

    public void unsetFlipkartfasalessnapshotlist() {
      this.flipkartfasalessnapshotlist = null;
    }

    /** Returns true if field flipkartfasalessnapshotlist is set (has been assigned a value) and false otherwise */
    public boolean isSetFlipkartfasalessnapshotlist() {
      return this.flipkartfasalessnapshotlist != null;
    }

    public void setFlipkartfasalessnapshotlistIsSet(boolean value) {
      if (!value) {
        this.flipkartfasalessnapshotlist = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case FLIPKARTFASALESSNAPSHOTLIST:
        if (value == null) {
          unsetFlipkartfasalessnapshotlist();
        } else {
          setFlipkartfasalessnapshotlist((List<FlipkartFaSalesSnapshot>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case FLIPKARTFASALESSNAPSHOTLIST:
        return getFlipkartfasalessnapshotlist();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case FLIPKARTFASALESSNAPSHOTLIST:
        return isSetFlipkartfasalessnapshotlist();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof bulkAddOrUpdateFlipkartFaSalesSnapshot_args)
        return this.equals((bulkAddOrUpdateFlipkartFaSalesSnapshot_args)that);
      return false;
    }

    public boolean equals(bulkAddOrUpdateFlipkartFaSalesSnapshot_args that) {
      if (that == null)
        return false;

      boolean this_present_flipkartfasalessnapshotlist = true && this.isSetFlipkartfasalessnapshotlist();
      boolean that_present_flipkartfasalessnapshotlist = true && that.isSetFlipkartfasalessnapshotlist();
      if (this_present_flipkartfasalessnapshotlist || that_present_flipkartfasalessnapshotlist) {
        if (!(this_present_flipkartfasalessnapshotlist && that_present_flipkartfasalessnapshotlist))
          return false;
        if (!this.flipkartfasalessnapshotlist.equals(that.flipkartfasalessnapshotlist))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(bulkAddOrUpdateFlipkartFaSalesSnapshot_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      bulkAddOrUpdateFlipkartFaSalesSnapshot_args typedOther = (bulkAddOrUpdateFlipkartFaSalesSnapshot_args)other;

      lastComparison = Boolean.valueOf(isSetFlipkartfasalessnapshotlist()).compareTo(typedOther.isSetFlipkartfasalessnapshotlist());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetFlipkartfasalessnapshotlist()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.flipkartfasalessnapshotlist, typedOther.flipkartfasalessnapshotlist);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // FLIPKARTFASALESSNAPSHOTLIST
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list617 = iprot.readListBegin();
                this.flipkartfasalessnapshotlist = new ArrayList<FlipkartFaSalesSnapshot>(_list617.size);
                for (int _i618 = 0; _i618 < _list617.size; ++_i618)
                {
                  FlipkartFaSalesSnapshot _elem619; // required
                  _elem619 = new FlipkartFaSalesSnapshot();
                  _elem619.read(iprot);
                  this.flipkartfasalessnapshotlist.add(_elem619);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.flipkartfasalessnapshotlist != null) {
        oprot.writeFieldBegin(FLIPKARTFASALESSNAPSHOTLIST_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.flipkartfasalessnapshotlist.size()));
          for (FlipkartFaSalesSnapshot _iter620 : this.flipkartfasalessnapshotlist)
          {
            _iter620.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("bulkAddOrUpdateFlipkartFaSalesSnapshot_args(");
      boolean first = true;

      sb.append("flipkartfasalessnapshotlist:");
      if (this.flipkartfasalessnapshotlist == null) {
        sb.append("null");
      } else {
        sb.append(this.flipkartfasalessnapshotlist);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class bulkAddOrUpdateFlipkartFaSalesSnapshot_result implements org.apache.thrift.TBase<bulkAddOrUpdateFlipkartFaSalesSnapshot_result, bulkAddOrUpdateFlipkartFaSalesSnapshot_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("bulkAddOrUpdateFlipkartFaSalesSnapshot_result");



    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
;

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(bulkAddOrUpdateFlipkartFaSalesSnapshot_result.class, metaDataMap);
    }

    public bulkAddOrUpdateFlipkartFaSalesSnapshot_result() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public bulkAddOrUpdateFlipkartFaSalesSnapshot_result(bulkAddOrUpdateFlipkartFaSalesSnapshot_result other) {
    }

    public bulkAddOrUpdateFlipkartFaSalesSnapshot_result deepCopy() {
      return new bulkAddOrUpdateFlipkartFaSalesSnapshot_result(this);
    }

    @Override
    public void clear() {
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof bulkAddOrUpdateFlipkartFaSalesSnapshot_result)
        return this.equals((bulkAddOrUpdateFlipkartFaSalesSnapshot_result)that);
      return false;
    }

    public boolean equals(bulkAddOrUpdateFlipkartFaSalesSnapshot_result that) {
      if (that == null)
        return false;

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(bulkAddOrUpdateFlipkartFaSalesSnapshot_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      bulkAddOrUpdateFlipkartFaSalesSnapshot_result typedOther = (bulkAddOrUpdateFlipkartFaSalesSnapshot_result)other;

      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("bulkAddOrUpdateFlipkartFaSalesSnapshot_result(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getFlipkartFaSalesSnapshotForDays_args implements org.apache.thrift.TBase<getFlipkartFaSalesSnapshotForDays_args, getFlipkartFaSalesSnapshotForDays_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getFlipkartFaSalesSnapshotForDays_args");

    private static final org.apache.thrift.protocol.TField DAYS_FIELD_DESC = new org.apache.thrift.protocol.TField("days", org.apache.thrift.protocol.TType.I32, (short)1);

    private int days; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      DAYS((short)1, "days");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // DAYS
            return DAYS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __DAYS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.DAYS, new org.apache.thrift.meta_data.FieldMetaData("days", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getFlipkartFaSalesSnapshotForDays_args.class, metaDataMap);
    }

    public getFlipkartFaSalesSnapshotForDays_args() {
    }

    public getFlipkartFaSalesSnapshotForDays_args(
      int days)
    {
      this();
      this.days = days;
      setDaysIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getFlipkartFaSalesSnapshotForDays_args(getFlipkartFaSalesSnapshotForDays_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.days = other.days;
    }

    public getFlipkartFaSalesSnapshotForDays_args deepCopy() {
      return new getFlipkartFaSalesSnapshotForDays_args(this);
    }

    @Override
    public void clear() {
      setDaysIsSet(false);
      this.days = 0;
    }

    public int getDays() {
      return this.days;
    }

    public void setDays(int days) {
      this.days = days;
      setDaysIsSet(true);
    }

    public void unsetDays() {
      __isset_bit_vector.clear(__DAYS_ISSET_ID);
    }

    /** Returns true if field days is set (has been assigned a value) and false otherwise */
    public boolean isSetDays() {
      return __isset_bit_vector.get(__DAYS_ISSET_ID);
    }

    public void setDaysIsSet(boolean value) {
      __isset_bit_vector.set(__DAYS_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case DAYS:
        if (value == null) {
          unsetDays();
        } else {
          setDays((Integer)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case DAYS:
        return Integer.valueOf(getDays());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case DAYS:
        return isSetDays();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getFlipkartFaSalesSnapshotForDays_args)
        return this.equals((getFlipkartFaSalesSnapshotForDays_args)that);
      return false;
    }

    public boolean equals(getFlipkartFaSalesSnapshotForDays_args that) {
      if (that == null)
        return false;

      boolean this_present_days = true;
      boolean that_present_days = true;
      if (this_present_days || that_present_days) {
        if (!(this_present_days && that_present_days))
          return false;
        if (this.days != that.days)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getFlipkartFaSalesSnapshotForDays_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getFlipkartFaSalesSnapshotForDays_args typedOther = (getFlipkartFaSalesSnapshotForDays_args)other;

      lastComparison = Boolean.valueOf(isSetDays()).compareTo(typedOther.isSetDays());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetDays()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.days, typedOther.days);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // DAYS
            if (field.type == org.apache.thrift.protocol.TType.I32) {
              this.days = iprot.readI32();
              setDaysIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(DAYS_FIELD_DESC);
      oprot.writeI32(this.days);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getFlipkartFaSalesSnapshotForDays_args(");
      boolean first = true;

      sb.append("days:");
      sb.append(this.days);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getFlipkartFaSalesSnapshotForDays_result implements org.apache.thrift.TBase<getFlipkartFaSalesSnapshotForDays_result, getFlipkartFaSalesSnapshotForDays_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getFlipkartFaSalesSnapshotForDays_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);

    private List<FlipkartFaSalesSnapshot> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, FlipkartFaSalesSnapshot.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getFlipkartFaSalesSnapshotForDays_result.class, metaDataMap);
    }

    public getFlipkartFaSalesSnapshotForDays_result() {
    }

    public getFlipkartFaSalesSnapshotForDays_result(
      List<FlipkartFaSalesSnapshot> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getFlipkartFaSalesSnapshotForDays_result(getFlipkartFaSalesSnapshotForDays_result other) {
      if (other.isSetSuccess()) {
        List<FlipkartFaSalesSnapshot> __this__success = new ArrayList<FlipkartFaSalesSnapshot>();
        for (FlipkartFaSalesSnapshot other_element : other.success) {
          __this__success.add(new FlipkartFaSalesSnapshot(other_element));
        }
        this.success = __this__success;
      }
    }

    public getFlipkartFaSalesSnapshotForDays_result deepCopy() {
      return new getFlipkartFaSalesSnapshotForDays_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<FlipkartFaSalesSnapshot> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(FlipkartFaSalesSnapshot elem) {
      if (this.success == null) {
        this.success = new ArrayList<FlipkartFaSalesSnapshot>();
      }
      this.success.add(elem);
    }

    public List<FlipkartFaSalesSnapshot> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<FlipkartFaSalesSnapshot> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<FlipkartFaSalesSnapshot>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getFlipkartFaSalesSnapshotForDays_result)
        return this.equals((getFlipkartFaSalesSnapshotForDays_result)that);
      return false;
    }

    public boolean equals(getFlipkartFaSalesSnapshotForDays_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getFlipkartFaSalesSnapshotForDays_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getFlipkartFaSalesSnapshotForDays_result typedOther = (getFlipkartFaSalesSnapshotForDays_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list621 = iprot.readListBegin();
                this.success = new ArrayList<FlipkartFaSalesSnapshot>(_list621.size);
                for (int _i622 = 0; _i622 < _list621.size; ++_i622)
                {
                  FlipkartFaSalesSnapshot _elem623; // required
                  _elem623 = new FlipkartFaSalesSnapshot();
                  _elem623.read(iprot);
                  this.success.add(_elem623);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (FlipkartFaSalesSnapshot _iter624 : this.success)
          {
            _iter624.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getFlipkartFaSalesSnapshotForDays_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getFlipkartFaSalesSnapshotBySkuAndSaleDate_args implements org.apache.thrift.TBase<getFlipkartFaSalesSnapshotBySkuAndSaleDate_args, getFlipkartFaSalesSnapshotBySkuAndSaleDate_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getFlipkartFaSalesSnapshotBySkuAndSaleDate_args");

    private static final org.apache.thrift.protocol.TField ITEM_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("item_id", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField DATE_OF_SALE_FIELD_DESC = new org.apache.thrift.protocol.TField("dateOfSale", org.apache.thrift.protocol.TType.I64, (short)2);

    private long item_id; // required
    private long dateOfSale; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ITEM_ID((short)1, "item_id"),
      DATE_OF_SALE((short)2, "dateOfSale");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ITEM_ID
            return ITEM_ID;
          case 2: // DATE_OF_SALE
            return DATE_OF_SALE;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ITEM_ID_ISSET_ID = 0;
    private static final int __DATEOFSALE_ISSET_ID = 1;
    private BitSet __isset_bit_vector = new BitSet(2);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ITEM_ID, new org.apache.thrift.meta_data.FieldMetaData("item_id", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.DATE_OF_SALE, new org.apache.thrift.meta_data.FieldMetaData("dateOfSale", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getFlipkartFaSalesSnapshotBySkuAndSaleDate_args.class, metaDataMap);
    }

    public getFlipkartFaSalesSnapshotBySkuAndSaleDate_args() {
    }

    public getFlipkartFaSalesSnapshotBySkuAndSaleDate_args(
      long item_id,
      long dateOfSale)
    {
      this();
      this.item_id = item_id;
      setItem_idIsSet(true);
      this.dateOfSale = dateOfSale;
      setDateOfSaleIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getFlipkartFaSalesSnapshotBySkuAndSaleDate_args(getFlipkartFaSalesSnapshotBySkuAndSaleDate_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.item_id = other.item_id;
      this.dateOfSale = other.dateOfSale;
    }

    public getFlipkartFaSalesSnapshotBySkuAndSaleDate_args deepCopy() {
      return new getFlipkartFaSalesSnapshotBySkuAndSaleDate_args(this);
    }

    @Override
    public void clear() {
      setItem_idIsSet(false);
      this.item_id = 0;
      setDateOfSaleIsSet(false);
      this.dateOfSale = 0;
    }

    public long getItem_id() {
      return this.item_id;
    }

    public void setItem_id(long item_id) {
      this.item_id = item_id;
      setItem_idIsSet(true);
    }

    public void unsetItem_id() {
      __isset_bit_vector.clear(__ITEM_ID_ISSET_ID);
    }

    /** Returns true if field item_id is set (has been assigned a value) and false otherwise */
    public boolean isSetItem_id() {
      return __isset_bit_vector.get(__ITEM_ID_ISSET_ID);
    }

    public void setItem_idIsSet(boolean value) {
      __isset_bit_vector.set(__ITEM_ID_ISSET_ID, value);
    }

    public long getDateOfSale() {
      return this.dateOfSale;
    }

    public void setDateOfSale(long dateOfSale) {
      this.dateOfSale = dateOfSale;
      setDateOfSaleIsSet(true);
    }

    public void unsetDateOfSale() {
      __isset_bit_vector.clear(__DATEOFSALE_ISSET_ID);
    }

    /** Returns true if field dateOfSale is set (has been assigned a value) and false otherwise */
    public boolean isSetDateOfSale() {
      return __isset_bit_vector.get(__DATEOFSALE_ISSET_ID);
    }

    public void setDateOfSaleIsSet(boolean value) {
      __isset_bit_vector.set(__DATEOFSALE_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ITEM_ID:
        if (value == null) {
          unsetItem_id();
        } else {
          setItem_id((Long)value);
        }
        break;

      case DATE_OF_SALE:
        if (value == null) {
          unsetDateOfSale();
        } else {
          setDateOfSale((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ITEM_ID:
        return Long.valueOf(getItem_id());

      case DATE_OF_SALE:
        return Long.valueOf(getDateOfSale());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ITEM_ID:
        return isSetItem_id();
      case DATE_OF_SALE:
        return isSetDateOfSale();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getFlipkartFaSalesSnapshotBySkuAndSaleDate_args)
        return this.equals((getFlipkartFaSalesSnapshotBySkuAndSaleDate_args)that);
      return false;
    }

    public boolean equals(getFlipkartFaSalesSnapshotBySkuAndSaleDate_args that) {
      if (that == null)
        return false;

      boolean this_present_item_id = true;
      boolean that_present_item_id = true;
      if (this_present_item_id || that_present_item_id) {
        if (!(this_present_item_id && that_present_item_id))
          return false;
        if (this.item_id != that.item_id)
          return false;
      }

      boolean this_present_dateOfSale = true;
      boolean that_present_dateOfSale = true;
      if (this_present_dateOfSale || that_present_dateOfSale) {
        if (!(this_present_dateOfSale && that_present_dateOfSale))
          return false;
        if (this.dateOfSale != that.dateOfSale)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getFlipkartFaSalesSnapshotBySkuAndSaleDate_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getFlipkartFaSalesSnapshotBySkuAndSaleDate_args typedOther = (getFlipkartFaSalesSnapshotBySkuAndSaleDate_args)other;

      lastComparison = Boolean.valueOf(isSetItem_id()).compareTo(typedOther.isSetItem_id());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetItem_id()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.item_id, typedOther.item_id);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetDateOfSale()).compareTo(typedOther.isSetDateOfSale());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetDateOfSale()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.dateOfSale, typedOther.dateOfSale);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ITEM_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.item_id = iprot.readI64();
              setItem_idIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // DATE_OF_SALE
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.dateOfSale = iprot.readI64();
              setDateOfSaleIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ITEM_ID_FIELD_DESC);
      oprot.writeI64(this.item_id);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(DATE_OF_SALE_FIELD_DESC);
      oprot.writeI64(this.dateOfSale);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getFlipkartFaSalesSnapshotBySkuAndSaleDate_args(");
      boolean first = true;

      sb.append("item_id:");
      sb.append(this.item_id);
      first = false;
      if (!first) sb.append(", ");
      sb.append("dateOfSale:");
      sb.append(this.dateOfSale);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getFlipkartFaSalesSnapshotBySkuAndSaleDate_result implements org.apache.thrift.TBase<getFlipkartFaSalesSnapshotBySkuAndSaleDate_result, getFlipkartFaSalesSnapshotBySkuAndSaleDate_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getFlipkartFaSalesSnapshotBySkuAndSaleDate_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);

    private FlipkartFaSalesSnapshot success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, FlipkartFaSalesSnapshot.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getFlipkartFaSalesSnapshotBySkuAndSaleDate_result.class, metaDataMap);
    }

    public getFlipkartFaSalesSnapshotBySkuAndSaleDate_result() {
    }

    public getFlipkartFaSalesSnapshotBySkuAndSaleDate_result(
      FlipkartFaSalesSnapshot success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getFlipkartFaSalesSnapshotBySkuAndSaleDate_result(getFlipkartFaSalesSnapshotBySkuAndSaleDate_result other) {
      if (other.isSetSuccess()) {
        this.success = new FlipkartFaSalesSnapshot(other.success);
      }
    }

    public getFlipkartFaSalesSnapshotBySkuAndSaleDate_result deepCopy() {
      return new getFlipkartFaSalesSnapshotBySkuAndSaleDate_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public FlipkartFaSalesSnapshot getSuccess() {
      return this.success;
    }

    public void setSuccess(FlipkartFaSalesSnapshot success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((FlipkartFaSalesSnapshot)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getFlipkartFaSalesSnapshotBySkuAndSaleDate_result)
        return this.equals((getFlipkartFaSalesSnapshotBySkuAndSaleDate_result)that);
      return false;
    }

    public boolean equals(getFlipkartFaSalesSnapshotBySkuAndSaleDate_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getFlipkartFaSalesSnapshotBySkuAndSaleDate_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getFlipkartFaSalesSnapshotBySkuAndSaleDate_result typedOther = (getFlipkartFaSalesSnapshotBySkuAndSaleDate_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.success = new FlipkartFaSalesSnapshot();
              this.success.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        this.success.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getFlipkartFaSalesSnapshotBySkuAndSaleDate_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class acceptPackageOrders_args implements org.apache.thrift.TBase<acceptPackageOrders_args, acceptPackageOrders_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("acceptPackageOrders_args");

    private static final org.apache.thrift.protocol.TField ORDERS_FIELD_DESC = new org.apache.thrift.protocol.TField("orders", org.apache.thrift.protocol.TType.LIST, (short)-1);

    private List<Long> orders; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ORDERS((short)-1, "orders");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case -1: // ORDERS
            return ORDERS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ORDERS, new org.apache.thrift.meta_data.FieldMetaData("orders", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(acceptPackageOrders_args.class, metaDataMap);
    }

    public acceptPackageOrders_args() {
    }

    public acceptPackageOrders_args(
      List<Long> orders)
    {
      this();
      this.orders = orders;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public acceptPackageOrders_args(acceptPackageOrders_args other) {
      if (other.isSetOrders()) {
        List<Long> __this__orders = new ArrayList<Long>();
        for (Long other_element : other.orders) {
          __this__orders.add(other_element);
        }
        this.orders = __this__orders;
      }
    }

    public acceptPackageOrders_args deepCopy() {
      return new acceptPackageOrders_args(this);
    }

    @Override
    public void clear() {
      this.orders = null;
    }

    public int getOrdersSize() {
      return (this.orders == null) ? 0 : this.orders.size();
    }

    public java.util.Iterator<Long> getOrdersIterator() {
      return (this.orders == null) ? null : this.orders.iterator();
    }

    public void addToOrders(long elem) {
      if (this.orders == null) {
        this.orders = new ArrayList<Long>();
      }
      this.orders.add(elem);
    }

    public List<Long> getOrders() {
      return this.orders;
    }

    public void setOrders(List<Long> orders) {
      this.orders = orders;
    }

    public void unsetOrders() {
      this.orders = null;
    }

    /** Returns true if field orders is set (has been assigned a value) and false otherwise */
    public boolean isSetOrders() {
      return this.orders != null;
    }

    public void setOrdersIsSet(boolean value) {
      if (!value) {
        this.orders = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ORDERS:
        if (value == null) {
          unsetOrders();
        } else {
          setOrders((List<Long>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ORDERS:
        return getOrders();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ORDERS:
        return isSetOrders();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof acceptPackageOrders_args)
        return this.equals((acceptPackageOrders_args)that);
      return false;
    }

    public boolean equals(acceptPackageOrders_args that) {
      if (that == null)
        return false;

      boolean this_present_orders = true && this.isSetOrders();
      boolean that_present_orders = true && that.isSetOrders();
      if (this_present_orders || that_present_orders) {
        if (!(this_present_orders && that_present_orders))
          return false;
        if (!this.orders.equals(that.orders))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(acceptPackageOrders_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      acceptPackageOrders_args typedOther = (acceptPackageOrders_args)other;

      lastComparison = Boolean.valueOf(isSetOrders()).compareTo(typedOther.isSetOrders());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrders()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.orders, typedOther.orders);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case -1: // ORDERS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list625 = iprot.readListBegin();
                this.orders = new ArrayList<Long>(_list625.size);
                for (int _i626 = 0; _i626 < _list625.size; ++_i626)
                {
                  long _elem627; // required
                  _elem627 = iprot.readI64();
                  this.orders.add(_elem627);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.orders != null) {
        oprot.writeFieldBegin(ORDERS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, this.orders.size()));
          for (long _iter628 : this.orders)
          {
            oprot.writeI64(_iter628);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("acceptPackageOrders_args(");
      boolean first = true;

      sb.append("orders:");
      if (this.orders == null) {
        sb.append("null");
      } else {
        sb.append(this.orders);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class acceptPackageOrders_result implements org.apache.thrift.TBase<acceptPackageOrders_result, acceptPackageOrders_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("acceptPackageOrders_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private boolean success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(acceptPackageOrders_result.class, metaDataMap);
    }

    public acceptPackageOrders_result() {
    }

    public acceptPackageOrders_result(
      boolean success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public acceptPackageOrders_result(acceptPackageOrders_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public acceptPackageOrders_result deepCopy() {
      return new acceptPackageOrders_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = false;
      this.ex = null;
    }

    public boolean isSuccess() {
      return this.success;
    }

    public void setSuccess(boolean success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Boolean.valueOf(isSuccess());

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof acceptPackageOrders_result)
        return this.equals((acceptPackageOrders_result)that);
      return false;
    }

    public boolean equals(acceptPackageOrders_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(acceptPackageOrders_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      acceptPackageOrders_result typedOther = (acceptPackageOrders_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.success = iprot.readBool();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBool(this.success);
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("acceptPackageOrders_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getGroupOrdersByLogisticsTxnId_args implements org.apache.thrift.TBase<getGroupOrdersByLogisticsTxnId_args, getGroupOrdersByLogisticsTxnId_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGroupOrdersByLogisticsTxnId_args");

    private static final org.apache.thrift.protocol.TField LOGISTICS_TXN_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("logisticsTxnId", org.apache.thrift.protocol.TType.STRING, (short)1);

    private String logisticsTxnId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      LOGISTICS_TXN_ID((short)1, "logisticsTxnId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // LOGISTICS_TXN_ID
            return LOGISTICS_TXN_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.LOGISTICS_TXN_ID, new org.apache.thrift.meta_data.FieldMetaData("logisticsTxnId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getGroupOrdersByLogisticsTxnId_args.class, metaDataMap);
    }

    public getGroupOrdersByLogisticsTxnId_args() {
    }

    public getGroupOrdersByLogisticsTxnId_args(
      String logisticsTxnId)
    {
      this();
      this.logisticsTxnId = logisticsTxnId;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getGroupOrdersByLogisticsTxnId_args(getGroupOrdersByLogisticsTxnId_args other) {
      if (other.isSetLogisticsTxnId()) {
        this.logisticsTxnId = other.logisticsTxnId;
      }
    }

    public getGroupOrdersByLogisticsTxnId_args deepCopy() {
      return new getGroupOrdersByLogisticsTxnId_args(this);
    }

    @Override
    public void clear() {
      this.logisticsTxnId = null;
    }

    public String getLogisticsTxnId() {
      return this.logisticsTxnId;
    }

    public void setLogisticsTxnId(String logisticsTxnId) {
      this.logisticsTxnId = logisticsTxnId;
    }

    public void unsetLogisticsTxnId() {
      this.logisticsTxnId = null;
    }

    /** Returns true if field logisticsTxnId is set (has been assigned a value) and false otherwise */
    public boolean isSetLogisticsTxnId() {
      return this.logisticsTxnId != null;
    }

    public void setLogisticsTxnIdIsSet(boolean value) {
      if (!value) {
        this.logisticsTxnId = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case LOGISTICS_TXN_ID:
        if (value == null) {
          unsetLogisticsTxnId();
        } else {
          setLogisticsTxnId((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case LOGISTICS_TXN_ID:
        return getLogisticsTxnId();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case LOGISTICS_TXN_ID:
        return isSetLogisticsTxnId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getGroupOrdersByLogisticsTxnId_args)
        return this.equals((getGroupOrdersByLogisticsTxnId_args)that);
      return false;
    }

    public boolean equals(getGroupOrdersByLogisticsTxnId_args that) {
      if (that == null)
        return false;

      boolean this_present_logisticsTxnId = true && this.isSetLogisticsTxnId();
      boolean that_present_logisticsTxnId = true && that.isSetLogisticsTxnId();
      if (this_present_logisticsTxnId || that_present_logisticsTxnId) {
        if (!(this_present_logisticsTxnId && that_present_logisticsTxnId))
          return false;
        if (!this.logisticsTxnId.equals(that.logisticsTxnId))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getGroupOrdersByLogisticsTxnId_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getGroupOrdersByLogisticsTxnId_args typedOther = (getGroupOrdersByLogisticsTxnId_args)other;

      lastComparison = Boolean.valueOf(isSetLogisticsTxnId()).compareTo(typedOther.isSetLogisticsTxnId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetLogisticsTxnId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.logisticsTxnId, typedOther.logisticsTxnId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // LOGISTICS_TXN_ID
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.logisticsTxnId = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.logisticsTxnId != null) {
        oprot.writeFieldBegin(LOGISTICS_TXN_ID_FIELD_DESC);
        oprot.writeString(this.logisticsTxnId);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getGroupOrdersByLogisticsTxnId_args(");
      boolean first = true;

      sb.append("logisticsTxnId:");
      if (this.logisticsTxnId == null) {
        sb.append("null");
      } else {
        sb.append(this.logisticsTxnId);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getGroupOrdersByLogisticsTxnId_result implements org.apache.thrift.TBase<getGroupOrdersByLogisticsTxnId_result, getGroupOrdersByLogisticsTxnId_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGroupOrdersByLogisticsTxnId_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private List<Order> success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Order.class))));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getGroupOrdersByLogisticsTxnId_result.class, metaDataMap);
    }

    public getGroupOrdersByLogisticsTxnId_result() {
    }

    public getGroupOrdersByLogisticsTxnId_result(
      List<Order> success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getGroupOrdersByLogisticsTxnId_result(getGroupOrdersByLogisticsTxnId_result other) {
      if (other.isSetSuccess()) {
        List<Order> __this__success = new ArrayList<Order>();
        for (Order other_element : other.success) {
          __this__success.add(new Order(other_element));
        }
        this.success = __this__success;
      }
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public getGroupOrdersByLogisticsTxnId_result deepCopy() {
      return new getGroupOrdersByLogisticsTxnId_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.ex = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<Order> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(Order elem) {
      if (this.success == null) {
        this.success = new ArrayList<Order>();
      }
      this.success.add(elem);
    }

    public List<Order> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<Order> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<Order>)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getGroupOrdersByLogisticsTxnId_result)
        return this.equals((getGroupOrdersByLogisticsTxnId_result)that);
      return false;
    }

    public boolean equals(getGroupOrdersByLogisticsTxnId_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getGroupOrdersByLogisticsTxnId_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getGroupOrdersByLogisticsTxnId_result typedOther = (getGroupOrdersByLogisticsTxnId_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list629 = iprot.readListBegin();
                this.success = new ArrayList<Order>(_list629.size);
                for (int _i630 = 0; _i630 < _list629.size; ++_i630)
                {
                  Order _elem631; // required
                  _elem631 = new Order();
                  _elem631.read(iprot);
                  this.success.add(_elem631);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (Order _iter632 : this.success)
          {
            _iter632.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getGroupOrdersByLogisticsTxnId_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class addBillingDetailsForGrouppedOrders_args implements org.apache.thrift.TBase<addBillingDetailsForGrouppedOrders_args, addBillingDetailsForGrouppedOrders_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addBillingDetailsForGrouppedOrders_args");

    private static final org.apache.thrift.protocol.TField ORDER_IDS_FIELD_DESC = new org.apache.thrift.protocol.TField("order_ids", org.apache.thrift.protocol.TType.LIST, (short)1);
    private static final org.apache.thrift.protocol.TField INVOICE_NUMBER_FIELD_DESC = new org.apache.thrift.protocol.TField("invoice_number", org.apache.thrift.protocol.TType.STRING, (short)2);
    private static final org.apache.thrift.protocol.TField ITEM_NUMBERS_MAP_FIELD_DESC = new org.apache.thrift.protocol.TField("itemNumbersMap", org.apache.thrift.protocol.TType.MAP, (short)3);
    private static final org.apache.thrift.protocol.TField SERIAL_NUMBERS_MAP_FIELD_DESC = new org.apache.thrift.protocol.TField("serialNumbersMap", org.apache.thrift.protocol.TType.MAP, (short)4);
    private static final org.apache.thrift.protocol.TField FREEBIE_WAREHOUSE_ID_MAP_FIELD_DESC = new org.apache.thrift.protocol.TField("freebieWarehouseIdMap", org.apache.thrift.protocol.TType.MAP, (short)5);
    private static final org.apache.thrift.protocol.TField BILLED_BY_FIELD_DESC = new org.apache.thrift.protocol.TField("billed_by", org.apache.thrift.protocol.TType.STRING, (short)6);
    private static final org.apache.thrift.protocol.TField JACKET_NUMBER_FIELD_DESC = new org.apache.thrift.protocol.TField("jacketNumber", org.apache.thrift.protocol.TType.I64, (short)7);
    private static final org.apache.thrift.protocol.TField BILLING_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("billingType", org.apache.thrift.protocol.TType.I64, (short)8);
    private static final org.apache.thrift.protocol.TField AUTHORIZE_FIELD_DESC = new org.apache.thrift.protocol.TField("authorize", org.apache.thrift.protocol.TType.BOOL, (short)9);
    private static final org.apache.thrift.protocol.TField INVOICE_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("invoiceType", org.apache.thrift.protocol.TType.STRING, (short)10);

    private List<Long> order_ids; // required
    private String invoice_number; // required
    private Map<Long,List<String>> itemNumbersMap; // required
    private Map<Long,List<String>> serialNumbersMap; // required
    private Map<Long,List<Long>> freebieWarehouseIdMap; // required
    private String billed_by; // required
    private long jacketNumber; // required
    private long billingType; // required
    private boolean authorize; // required
    private String invoiceType; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ORDER_IDS((short)1, "order_ids"),
      INVOICE_NUMBER((short)2, "invoice_number"),
      ITEM_NUMBERS_MAP((short)3, "itemNumbersMap"),
      SERIAL_NUMBERS_MAP((short)4, "serialNumbersMap"),
      FREEBIE_WAREHOUSE_ID_MAP((short)5, "freebieWarehouseIdMap"),
      BILLED_BY((short)6, "billed_by"),
      JACKET_NUMBER((short)7, "jacketNumber"),
      BILLING_TYPE((short)8, "billingType"),
      AUTHORIZE((short)9, "authorize"),
      INVOICE_TYPE((short)10, "invoiceType");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ORDER_IDS
            return ORDER_IDS;
          case 2: // INVOICE_NUMBER
            return INVOICE_NUMBER;
          case 3: // ITEM_NUMBERS_MAP
            return ITEM_NUMBERS_MAP;
          case 4: // SERIAL_NUMBERS_MAP
            return SERIAL_NUMBERS_MAP;
          case 5: // FREEBIE_WAREHOUSE_ID_MAP
            return FREEBIE_WAREHOUSE_ID_MAP;
          case 6: // BILLED_BY
            return BILLED_BY;
          case 7: // JACKET_NUMBER
            return JACKET_NUMBER;
          case 8: // BILLING_TYPE
            return BILLING_TYPE;
          case 9: // AUTHORIZE
            return AUTHORIZE;
          case 10: // INVOICE_TYPE
            return INVOICE_TYPE;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __JACKETNUMBER_ISSET_ID = 0;
    private static final int __BILLINGTYPE_ISSET_ID = 1;
    private static final int __AUTHORIZE_ISSET_ID = 2;
    private BitSet __isset_bit_vector = new BitSet(3);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ORDER_IDS, new org.apache.thrift.meta_data.FieldMetaData("order_ids", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64))));
      tmpMap.put(_Fields.INVOICE_NUMBER, new org.apache.thrift.meta_data.FieldMetaData("invoice_number", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.ITEM_NUMBERS_MAP, new org.apache.thrift.meta_data.FieldMetaData("itemNumbersMap", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64), 
              new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
                  new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)))));
      tmpMap.put(_Fields.SERIAL_NUMBERS_MAP, new org.apache.thrift.meta_data.FieldMetaData("serialNumbersMap", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64), 
              new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
                  new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)))));
      tmpMap.put(_Fields.FREEBIE_WAREHOUSE_ID_MAP, new org.apache.thrift.meta_data.FieldMetaData("freebieWarehouseIdMap", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64), 
              new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
                  new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)))));
      tmpMap.put(_Fields.BILLED_BY, new org.apache.thrift.meta_data.FieldMetaData("billed_by", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.JACKET_NUMBER, new org.apache.thrift.meta_data.FieldMetaData("jacketNumber", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.BILLING_TYPE, new org.apache.thrift.meta_data.FieldMetaData("billingType", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.AUTHORIZE, new org.apache.thrift.meta_data.FieldMetaData("authorize", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      tmpMap.put(_Fields.INVOICE_TYPE, new org.apache.thrift.meta_data.FieldMetaData("invoiceType", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(addBillingDetailsForGrouppedOrders_args.class, metaDataMap);
    }

    public addBillingDetailsForGrouppedOrders_args() {
    }

    public addBillingDetailsForGrouppedOrders_args(
      List<Long> order_ids,
      String invoice_number,
      Map<Long,List<String>> itemNumbersMap,
      Map<Long,List<String>> serialNumbersMap,
      Map<Long,List<Long>> freebieWarehouseIdMap,
      String billed_by,
      long jacketNumber,
      long billingType,
      boolean authorize,
      String invoiceType)
    {
      this();
      this.order_ids = order_ids;
      this.invoice_number = invoice_number;
      this.itemNumbersMap = itemNumbersMap;
      this.serialNumbersMap = serialNumbersMap;
      this.freebieWarehouseIdMap = freebieWarehouseIdMap;
      this.billed_by = billed_by;
      this.jacketNumber = jacketNumber;
      setJacketNumberIsSet(true);
      this.billingType = billingType;
      setBillingTypeIsSet(true);
      this.authorize = authorize;
      setAuthorizeIsSet(true);
      this.invoiceType = invoiceType;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public addBillingDetailsForGrouppedOrders_args(addBillingDetailsForGrouppedOrders_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      if (other.isSetOrder_ids()) {
        List<Long> __this__order_ids = new ArrayList<Long>();
        for (Long other_element : other.order_ids) {
          __this__order_ids.add(other_element);
        }
        this.order_ids = __this__order_ids;
      }
      if (other.isSetInvoice_number()) {
        this.invoice_number = other.invoice_number;
      }
      if (other.isSetItemNumbersMap()) {
        Map<Long,List<String>> __this__itemNumbersMap = new HashMap<Long,List<String>>();
        for (Map.Entry<Long, List<String>> other_element : other.itemNumbersMap.entrySet()) {

          Long other_element_key = other_element.getKey();
          List<String> other_element_value = other_element.getValue();

          Long __this__itemNumbersMap_copy_key = other_element_key;

          List<String> __this__itemNumbersMap_copy_value = new ArrayList<String>();
          for (String other_element_value_element : other_element_value) {
            __this__itemNumbersMap_copy_value.add(other_element_value_element);
          }

          __this__itemNumbersMap.put(__this__itemNumbersMap_copy_key, __this__itemNumbersMap_copy_value);
        }
        this.itemNumbersMap = __this__itemNumbersMap;
      }
      if (other.isSetSerialNumbersMap()) {
        Map<Long,List<String>> __this__serialNumbersMap = new HashMap<Long,List<String>>();
        for (Map.Entry<Long, List<String>> other_element : other.serialNumbersMap.entrySet()) {

          Long other_element_key = other_element.getKey();
          List<String> other_element_value = other_element.getValue();

          Long __this__serialNumbersMap_copy_key = other_element_key;

          List<String> __this__serialNumbersMap_copy_value = new ArrayList<String>();
          for (String other_element_value_element : other_element_value) {
            __this__serialNumbersMap_copy_value.add(other_element_value_element);
          }

          __this__serialNumbersMap.put(__this__serialNumbersMap_copy_key, __this__serialNumbersMap_copy_value);
        }
        this.serialNumbersMap = __this__serialNumbersMap;
      }
      if (other.isSetFreebieWarehouseIdMap()) {
        Map<Long,List<Long>> __this__freebieWarehouseIdMap = new HashMap<Long,List<Long>>();
        for (Map.Entry<Long, List<Long>> other_element : other.freebieWarehouseIdMap.entrySet()) {

          Long other_element_key = other_element.getKey();
          List<Long> other_element_value = other_element.getValue();

          Long __this__freebieWarehouseIdMap_copy_key = other_element_key;

          List<Long> __this__freebieWarehouseIdMap_copy_value = new ArrayList<Long>();
          for (Long other_element_value_element : other_element_value) {
            __this__freebieWarehouseIdMap_copy_value.add(other_element_value_element);
          }

          __this__freebieWarehouseIdMap.put(__this__freebieWarehouseIdMap_copy_key, __this__freebieWarehouseIdMap_copy_value);
        }
        this.freebieWarehouseIdMap = __this__freebieWarehouseIdMap;
      }
      if (other.isSetBilled_by()) {
        this.billed_by = other.billed_by;
      }
      this.jacketNumber = other.jacketNumber;
      this.billingType = other.billingType;
      this.authorize = other.authorize;
      if (other.isSetInvoiceType()) {
        this.invoiceType = other.invoiceType;
      }
    }

    public addBillingDetailsForGrouppedOrders_args deepCopy() {
      return new addBillingDetailsForGrouppedOrders_args(this);
    }

    @Override
    public void clear() {
      this.order_ids = null;
      this.invoice_number = null;
      this.itemNumbersMap = null;
      this.serialNumbersMap = null;
      this.freebieWarehouseIdMap = null;
      this.billed_by = null;
      setJacketNumberIsSet(false);
      this.jacketNumber = 0;
      setBillingTypeIsSet(false);
      this.billingType = 0;
      setAuthorizeIsSet(false);
      this.authorize = false;
      this.invoiceType = null;
    }

    public int getOrder_idsSize() {
      return (this.order_ids == null) ? 0 : this.order_ids.size();
    }

    public java.util.Iterator<Long> getOrder_idsIterator() {
      return (this.order_ids == null) ? null : this.order_ids.iterator();
    }

    public void addToOrder_ids(long elem) {
      if (this.order_ids == null) {
        this.order_ids = new ArrayList<Long>();
      }
      this.order_ids.add(elem);
    }

    public List<Long> getOrder_ids() {
      return this.order_ids;
    }

    public void setOrder_ids(List<Long> order_ids) {
      this.order_ids = order_ids;
    }

    public void unsetOrder_ids() {
      this.order_ids = null;
    }

    /** Returns true if field order_ids is set (has been assigned a value) and false otherwise */
    public boolean isSetOrder_ids() {
      return this.order_ids != null;
    }

    public void setOrder_idsIsSet(boolean value) {
      if (!value) {
        this.order_ids = null;
      }
    }

    public String getInvoice_number() {
      return this.invoice_number;
    }

    public void setInvoice_number(String invoice_number) {
      this.invoice_number = invoice_number;
    }

    public void unsetInvoice_number() {
      this.invoice_number = null;
    }

    /** Returns true if field invoice_number is set (has been assigned a value) and false otherwise */
    public boolean isSetInvoice_number() {
      return this.invoice_number != null;
    }

    public void setInvoice_numberIsSet(boolean value) {
      if (!value) {
        this.invoice_number = null;
      }
    }

    public int getItemNumbersMapSize() {
      return (this.itemNumbersMap == null) ? 0 : this.itemNumbersMap.size();
    }

    public void putToItemNumbersMap(long key, List<String> val) {
      if (this.itemNumbersMap == null) {
        this.itemNumbersMap = new HashMap<Long,List<String>>();
      }
      this.itemNumbersMap.put(key, val);
    }

    public Map<Long,List<String>> getItemNumbersMap() {
      return this.itemNumbersMap;
    }

    public void setItemNumbersMap(Map<Long,List<String>> itemNumbersMap) {
      this.itemNumbersMap = itemNumbersMap;
    }

    public void unsetItemNumbersMap() {
      this.itemNumbersMap = null;
    }

    /** Returns true if field itemNumbersMap is set (has been assigned a value) and false otherwise */
    public boolean isSetItemNumbersMap() {
      return this.itemNumbersMap != null;
    }

    public void setItemNumbersMapIsSet(boolean value) {
      if (!value) {
        this.itemNumbersMap = null;
      }
    }

    public int getSerialNumbersMapSize() {
      return (this.serialNumbersMap == null) ? 0 : this.serialNumbersMap.size();
    }

    public void putToSerialNumbersMap(long key, List<String> val) {
      if (this.serialNumbersMap == null) {
        this.serialNumbersMap = new HashMap<Long,List<String>>();
      }
      this.serialNumbersMap.put(key, val);
    }

    public Map<Long,List<String>> getSerialNumbersMap() {
      return this.serialNumbersMap;
    }

    public void setSerialNumbersMap(Map<Long,List<String>> serialNumbersMap) {
      this.serialNumbersMap = serialNumbersMap;
    }

    public void unsetSerialNumbersMap() {
      this.serialNumbersMap = null;
    }

    /** Returns true if field serialNumbersMap is set (has been assigned a value) and false otherwise */
    public boolean isSetSerialNumbersMap() {
      return this.serialNumbersMap != null;
    }

    public void setSerialNumbersMapIsSet(boolean value) {
      if (!value) {
        this.serialNumbersMap = null;
      }
    }

    public int getFreebieWarehouseIdMapSize() {
      return (this.freebieWarehouseIdMap == null) ? 0 : this.freebieWarehouseIdMap.size();
    }

    public void putToFreebieWarehouseIdMap(long key, List<Long> val) {
      if (this.freebieWarehouseIdMap == null) {
        this.freebieWarehouseIdMap = new HashMap<Long,List<Long>>();
      }
      this.freebieWarehouseIdMap.put(key, val);
    }

    public Map<Long,List<Long>> getFreebieWarehouseIdMap() {
      return this.freebieWarehouseIdMap;
    }

    public void setFreebieWarehouseIdMap(Map<Long,List<Long>> freebieWarehouseIdMap) {
      this.freebieWarehouseIdMap = freebieWarehouseIdMap;
    }

    public void unsetFreebieWarehouseIdMap() {
      this.freebieWarehouseIdMap = null;
    }

    /** Returns true if field freebieWarehouseIdMap is set (has been assigned a value) and false otherwise */
    public boolean isSetFreebieWarehouseIdMap() {
      return this.freebieWarehouseIdMap != null;
    }

    public void setFreebieWarehouseIdMapIsSet(boolean value) {
      if (!value) {
        this.freebieWarehouseIdMap = null;
      }
    }

    public String getBilled_by() {
      return this.billed_by;
    }

    public void setBilled_by(String billed_by) {
      this.billed_by = billed_by;
    }

    public void unsetBilled_by() {
      this.billed_by = null;
    }

    /** Returns true if field billed_by is set (has been assigned a value) and false otherwise */
    public boolean isSetBilled_by() {
      return this.billed_by != null;
    }

    public void setBilled_byIsSet(boolean value) {
      if (!value) {
        this.billed_by = null;
      }
    }

    public long getJacketNumber() {
      return this.jacketNumber;
    }

    public void setJacketNumber(long jacketNumber) {
      this.jacketNumber = jacketNumber;
      setJacketNumberIsSet(true);
    }

    public void unsetJacketNumber() {
      __isset_bit_vector.clear(__JACKETNUMBER_ISSET_ID);
    }

    /** Returns true if field jacketNumber is set (has been assigned a value) and false otherwise */
    public boolean isSetJacketNumber() {
      return __isset_bit_vector.get(__JACKETNUMBER_ISSET_ID);
    }

    public void setJacketNumberIsSet(boolean value) {
      __isset_bit_vector.set(__JACKETNUMBER_ISSET_ID, value);
    }

    public long getBillingType() {
      return this.billingType;
    }

    public void setBillingType(long billingType) {
      this.billingType = billingType;
      setBillingTypeIsSet(true);
    }

    public void unsetBillingType() {
      __isset_bit_vector.clear(__BILLINGTYPE_ISSET_ID);
    }

    /** Returns true if field billingType is set (has been assigned a value) and false otherwise */
    public boolean isSetBillingType() {
      return __isset_bit_vector.get(__BILLINGTYPE_ISSET_ID);
    }

    public void setBillingTypeIsSet(boolean value) {
      __isset_bit_vector.set(__BILLINGTYPE_ISSET_ID, value);
    }

    public boolean isAuthorize() {
      return this.authorize;
    }

    public void setAuthorize(boolean authorize) {
      this.authorize = authorize;
      setAuthorizeIsSet(true);
    }

    public void unsetAuthorize() {
      __isset_bit_vector.clear(__AUTHORIZE_ISSET_ID);
    }

    /** Returns true if field authorize is set (has been assigned a value) and false otherwise */
    public boolean isSetAuthorize() {
      return __isset_bit_vector.get(__AUTHORIZE_ISSET_ID);
    }

    public void setAuthorizeIsSet(boolean value) {
      __isset_bit_vector.set(__AUTHORIZE_ISSET_ID, value);
    }

    public String getInvoiceType() {
      return this.invoiceType;
    }

    public void setInvoiceType(String invoiceType) {
      this.invoiceType = invoiceType;
    }

    public void unsetInvoiceType() {
      this.invoiceType = null;
    }

    /** Returns true if field invoiceType is set (has been assigned a value) and false otherwise */
    public boolean isSetInvoiceType() {
      return this.invoiceType != null;
    }

    public void setInvoiceTypeIsSet(boolean value) {
      if (!value) {
        this.invoiceType = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ORDER_IDS:
        if (value == null) {
          unsetOrder_ids();
        } else {
          setOrder_ids((List<Long>)value);
        }
        break;

      case INVOICE_NUMBER:
        if (value == null) {
          unsetInvoice_number();
        } else {
          setInvoice_number((String)value);
        }
        break;

      case ITEM_NUMBERS_MAP:
        if (value == null) {
          unsetItemNumbersMap();
        } else {
          setItemNumbersMap((Map<Long,List<String>>)value);
        }
        break;

      case SERIAL_NUMBERS_MAP:
        if (value == null) {
          unsetSerialNumbersMap();
        } else {
          setSerialNumbersMap((Map<Long,List<String>>)value);
        }
        break;

      case FREEBIE_WAREHOUSE_ID_MAP:
        if (value == null) {
          unsetFreebieWarehouseIdMap();
        } else {
          setFreebieWarehouseIdMap((Map<Long,List<Long>>)value);
        }
        break;

      case BILLED_BY:
        if (value == null) {
          unsetBilled_by();
        } else {
          setBilled_by((String)value);
        }
        break;

      case JACKET_NUMBER:
        if (value == null) {
          unsetJacketNumber();
        } else {
          setJacketNumber((Long)value);
        }
        break;

      case BILLING_TYPE:
        if (value == null) {
          unsetBillingType();
        } else {
          setBillingType((Long)value);
        }
        break;

      case AUTHORIZE:
        if (value == null) {
          unsetAuthorize();
        } else {
          setAuthorize((Boolean)value);
        }
        break;

      case INVOICE_TYPE:
        if (value == null) {
          unsetInvoiceType();
        } else {
          setInvoiceType((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ORDER_IDS:
        return getOrder_ids();

      case INVOICE_NUMBER:
        return getInvoice_number();

      case ITEM_NUMBERS_MAP:
        return getItemNumbersMap();

      case SERIAL_NUMBERS_MAP:
        return getSerialNumbersMap();

      case FREEBIE_WAREHOUSE_ID_MAP:
        return getFreebieWarehouseIdMap();

      case BILLED_BY:
        return getBilled_by();

      case JACKET_NUMBER:
        return Long.valueOf(getJacketNumber());

      case BILLING_TYPE:
        return Long.valueOf(getBillingType());

      case AUTHORIZE:
        return Boolean.valueOf(isAuthorize());

      case INVOICE_TYPE:
        return getInvoiceType();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ORDER_IDS:
        return isSetOrder_ids();
      case INVOICE_NUMBER:
        return isSetInvoice_number();
      case ITEM_NUMBERS_MAP:
        return isSetItemNumbersMap();
      case SERIAL_NUMBERS_MAP:
        return isSetSerialNumbersMap();
      case FREEBIE_WAREHOUSE_ID_MAP:
        return isSetFreebieWarehouseIdMap();
      case BILLED_BY:
        return isSetBilled_by();
      case JACKET_NUMBER:
        return isSetJacketNumber();
      case BILLING_TYPE:
        return isSetBillingType();
      case AUTHORIZE:
        return isSetAuthorize();
      case INVOICE_TYPE:
        return isSetInvoiceType();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof addBillingDetailsForGrouppedOrders_args)
        return this.equals((addBillingDetailsForGrouppedOrders_args)that);
      return false;
    }

    public boolean equals(addBillingDetailsForGrouppedOrders_args that) {
      if (that == null)
        return false;

      boolean this_present_order_ids = true && this.isSetOrder_ids();
      boolean that_present_order_ids = true && that.isSetOrder_ids();
      if (this_present_order_ids || that_present_order_ids) {
        if (!(this_present_order_ids && that_present_order_ids))
          return false;
        if (!this.order_ids.equals(that.order_ids))
          return false;
      }

      boolean this_present_invoice_number = true && this.isSetInvoice_number();
      boolean that_present_invoice_number = true && that.isSetInvoice_number();
      if (this_present_invoice_number || that_present_invoice_number) {
        if (!(this_present_invoice_number && that_present_invoice_number))
          return false;
        if (!this.invoice_number.equals(that.invoice_number))
          return false;
      }

      boolean this_present_itemNumbersMap = true && this.isSetItemNumbersMap();
      boolean that_present_itemNumbersMap = true && that.isSetItemNumbersMap();
      if (this_present_itemNumbersMap || that_present_itemNumbersMap) {
        if (!(this_present_itemNumbersMap && that_present_itemNumbersMap))
          return false;
        if (!this.itemNumbersMap.equals(that.itemNumbersMap))
          return false;
      }

      boolean this_present_serialNumbersMap = true && this.isSetSerialNumbersMap();
      boolean that_present_serialNumbersMap = true && that.isSetSerialNumbersMap();
      if (this_present_serialNumbersMap || that_present_serialNumbersMap) {
        if (!(this_present_serialNumbersMap && that_present_serialNumbersMap))
          return false;
        if (!this.serialNumbersMap.equals(that.serialNumbersMap))
          return false;
      }

      boolean this_present_freebieWarehouseIdMap = true && this.isSetFreebieWarehouseIdMap();
      boolean that_present_freebieWarehouseIdMap = true && that.isSetFreebieWarehouseIdMap();
      if (this_present_freebieWarehouseIdMap || that_present_freebieWarehouseIdMap) {
        if (!(this_present_freebieWarehouseIdMap && that_present_freebieWarehouseIdMap))
          return false;
        if (!this.freebieWarehouseIdMap.equals(that.freebieWarehouseIdMap))
          return false;
      }

      boolean this_present_billed_by = true && this.isSetBilled_by();
      boolean that_present_billed_by = true && that.isSetBilled_by();
      if (this_present_billed_by || that_present_billed_by) {
        if (!(this_present_billed_by && that_present_billed_by))
          return false;
        if (!this.billed_by.equals(that.billed_by))
          return false;
      }

      boolean this_present_jacketNumber = true;
      boolean that_present_jacketNumber = true;
      if (this_present_jacketNumber || that_present_jacketNumber) {
        if (!(this_present_jacketNumber && that_present_jacketNumber))
          return false;
        if (this.jacketNumber != that.jacketNumber)
          return false;
      }

      boolean this_present_billingType = true;
      boolean that_present_billingType = true;
      if (this_present_billingType || that_present_billingType) {
        if (!(this_present_billingType && that_present_billingType))
          return false;
        if (this.billingType != that.billingType)
          return false;
      }

      boolean this_present_authorize = true;
      boolean that_present_authorize = true;
      if (this_present_authorize || that_present_authorize) {
        if (!(this_present_authorize && that_present_authorize))
          return false;
        if (this.authorize != that.authorize)
          return false;
      }

      boolean this_present_invoiceType = true && this.isSetInvoiceType();
      boolean that_present_invoiceType = true && that.isSetInvoiceType();
      if (this_present_invoiceType || that_present_invoiceType) {
        if (!(this_present_invoiceType && that_present_invoiceType))
          return false;
        if (!this.invoiceType.equals(that.invoiceType))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(addBillingDetailsForGrouppedOrders_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      addBillingDetailsForGrouppedOrders_args typedOther = (addBillingDetailsForGrouppedOrders_args)other;

      lastComparison = Boolean.valueOf(isSetOrder_ids()).compareTo(typedOther.isSetOrder_ids());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrder_ids()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.order_ids, typedOther.order_ids);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetInvoice_number()).compareTo(typedOther.isSetInvoice_number());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetInvoice_number()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.invoice_number, typedOther.invoice_number);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetItemNumbersMap()).compareTo(typedOther.isSetItemNumbersMap());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetItemNumbersMap()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.itemNumbersMap, typedOther.itemNumbersMap);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetSerialNumbersMap()).compareTo(typedOther.isSetSerialNumbersMap());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSerialNumbersMap()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.serialNumbersMap, typedOther.serialNumbersMap);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetFreebieWarehouseIdMap()).compareTo(typedOther.isSetFreebieWarehouseIdMap());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetFreebieWarehouseIdMap()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.freebieWarehouseIdMap, typedOther.freebieWarehouseIdMap);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetBilled_by()).compareTo(typedOther.isSetBilled_by());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetBilled_by()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.billed_by, typedOther.billed_by);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetJacketNumber()).compareTo(typedOther.isSetJacketNumber());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetJacketNumber()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.jacketNumber, typedOther.jacketNumber);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetBillingType()).compareTo(typedOther.isSetBillingType());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetBillingType()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.billingType, typedOther.billingType);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetAuthorize()).compareTo(typedOther.isSetAuthorize());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetAuthorize()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.authorize, typedOther.authorize);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetInvoiceType()).compareTo(typedOther.isSetInvoiceType());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetInvoiceType()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.invoiceType, typedOther.invoiceType);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ORDER_IDS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list633 = iprot.readListBegin();
                this.order_ids = new ArrayList<Long>(_list633.size);
                for (int _i634 = 0; _i634 < _list633.size; ++_i634)
                {
                  long _elem635; // required
                  _elem635 = iprot.readI64();
                  this.order_ids.add(_elem635);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // INVOICE_NUMBER
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.invoice_number = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // ITEM_NUMBERS_MAP
            if (field.type == org.apache.thrift.protocol.TType.MAP) {
              {
                org.apache.thrift.protocol.TMap _map636 = iprot.readMapBegin();
                this.itemNumbersMap = new HashMap<Long,List<String>>(2*_map636.size);
                for (int _i637 = 0; _i637 < _map636.size; ++_i637)
                {
                  long _key638; // required
                  List<String> _val639; // required
                  _key638 = iprot.readI64();
                  {
                    org.apache.thrift.protocol.TList _list640 = iprot.readListBegin();
                    _val639 = new ArrayList<String>(_list640.size);
                    for (int _i641 = 0; _i641 < _list640.size; ++_i641)
                    {
                      String _elem642; // required
                      _elem642 = iprot.readString();
                      _val639.add(_elem642);
                    }
                    iprot.readListEnd();
                  }
                  this.itemNumbersMap.put(_key638, _val639);
                }
                iprot.readMapEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 4: // SERIAL_NUMBERS_MAP
            if (field.type == org.apache.thrift.protocol.TType.MAP) {
              {
                org.apache.thrift.protocol.TMap _map643 = iprot.readMapBegin();
                this.serialNumbersMap = new HashMap<Long,List<String>>(2*_map643.size);
                for (int _i644 = 0; _i644 < _map643.size; ++_i644)
                {
                  long _key645; // required
                  List<String> _val646; // required
                  _key645 = iprot.readI64();
                  {
                    org.apache.thrift.protocol.TList _list647 = iprot.readListBegin();
                    _val646 = new ArrayList<String>(_list647.size);
                    for (int _i648 = 0; _i648 < _list647.size; ++_i648)
                    {
                      String _elem649; // required
                      _elem649 = iprot.readString();
                      _val646.add(_elem649);
                    }
                    iprot.readListEnd();
                  }
                  this.serialNumbersMap.put(_key645, _val646);
                }
                iprot.readMapEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 5: // FREEBIE_WAREHOUSE_ID_MAP
            if (field.type == org.apache.thrift.protocol.TType.MAP) {
              {
                org.apache.thrift.protocol.TMap _map650 = iprot.readMapBegin();
                this.freebieWarehouseIdMap = new HashMap<Long,List<Long>>(2*_map650.size);
                for (int _i651 = 0; _i651 < _map650.size; ++_i651)
                {
                  long _key652; // required
                  List<Long> _val653; // required
                  _key652 = iprot.readI64();
                  {
                    org.apache.thrift.protocol.TList _list654 = iprot.readListBegin();
                    _val653 = new ArrayList<Long>(_list654.size);
                    for (int _i655 = 0; _i655 < _list654.size; ++_i655)
                    {
                      long _elem656; // required
                      _elem656 = iprot.readI64();
                      _val653.add(_elem656);
                    }
                    iprot.readListEnd();
                  }
                  this.freebieWarehouseIdMap.put(_key652, _val653);
                }
                iprot.readMapEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 6: // BILLED_BY
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.billed_by = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 7: // JACKET_NUMBER
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.jacketNumber = iprot.readI64();
              setJacketNumberIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 8: // BILLING_TYPE
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.billingType = iprot.readI64();
              setBillingTypeIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 9: // AUTHORIZE
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.authorize = iprot.readBool();
              setAuthorizeIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 10: // INVOICE_TYPE
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.invoiceType = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.order_ids != null) {
        oprot.writeFieldBegin(ORDER_IDS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, this.order_ids.size()));
          for (long _iter657 : this.order_ids)
          {
            oprot.writeI64(_iter657);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      if (this.invoice_number != null) {
        oprot.writeFieldBegin(INVOICE_NUMBER_FIELD_DESC);
        oprot.writeString(this.invoice_number);
        oprot.writeFieldEnd();
      }
      if (this.itemNumbersMap != null) {
        oprot.writeFieldBegin(ITEM_NUMBERS_MAP_FIELD_DESC);
        {
          oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.I64, org.apache.thrift.protocol.TType.LIST, this.itemNumbersMap.size()));
          for (Map.Entry<Long, List<String>> _iter658 : this.itemNumbersMap.entrySet())
          {
            oprot.writeI64(_iter658.getKey());
            {
              oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, _iter658.getValue().size()));
              for (String _iter659 : _iter658.getValue())
              {
                oprot.writeString(_iter659);
              }
              oprot.writeListEnd();
            }
          }
          oprot.writeMapEnd();
        }
        oprot.writeFieldEnd();
      }
      if (this.serialNumbersMap != null) {
        oprot.writeFieldBegin(SERIAL_NUMBERS_MAP_FIELD_DESC);
        {
          oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.I64, org.apache.thrift.protocol.TType.LIST, this.serialNumbersMap.size()));
          for (Map.Entry<Long, List<String>> _iter660 : this.serialNumbersMap.entrySet())
          {
            oprot.writeI64(_iter660.getKey());
            {
              oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, _iter660.getValue().size()));
              for (String _iter661 : _iter660.getValue())
              {
                oprot.writeString(_iter661);
              }
              oprot.writeListEnd();
            }
          }
          oprot.writeMapEnd();
        }
        oprot.writeFieldEnd();
      }
      if (this.freebieWarehouseIdMap != null) {
        oprot.writeFieldBegin(FREEBIE_WAREHOUSE_ID_MAP_FIELD_DESC);
        {
          oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.I64, org.apache.thrift.protocol.TType.LIST, this.freebieWarehouseIdMap.size()));
          for (Map.Entry<Long, List<Long>> _iter662 : this.freebieWarehouseIdMap.entrySet())
          {
            oprot.writeI64(_iter662.getKey());
            {
              oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, _iter662.getValue().size()));
              for (long _iter663 : _iter662.getValue())
              {
                oprot.writeI64(_iter663);
              }
              oprot.writeListEnd();
            }
          }
          oprot.writeMapEnd();
        }
        oprot.writeFieldEnd();
      }
      if (this.billed_by != null) {
        oprot.writeFieldBegin(BILLED_BY_FIELD_DESC);
        oprot.writeString(this.billed_by);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldBegin(JACKET_NUMBER_FIELD_DESC);
      oprot.writeI64(this.jacketNumber);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(BILLING_TYPE_FIELD_DESC);
      oprot.writeI64(this.billingType);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(AUTHORIZE_FIELD_DESC);
      oprot.writeBool(this.authorize);
      oprot.writeFieldEnd();
      if (this.invoiceType != null) {
        oprot.writeFieldBegin(INVOICE_TYPE_FIELD_DESC);
        oprot.writeString(this.invoiceType);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("addBillingDetailsForGrouppedOrders_args(");
      boolean first = true;

      sb.append("order_ids:");
      if (this.order_ids == null) {
        sb.append("null");
      } else {
        sb.append(this.order_ids);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("invoice_number:");
      if (this.invoice_number == null) {
        sb.append("null");
      } else {
        sb.append(this.invoice_number);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("itemNumbersMap:");
      if (this.itemNumbersMap == null) {
        sb.append("null");
      } else {
        sb.append(this.itemNumbersMap);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("serialNumbersMap:");
      if (this.serialNumbersMap == null) {
        sb.append("null");
      } else {
        sb.append(this.serialNumbersMap);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("freebieWarehouseIdMap:");
      if (this.freebieWarehouseIdMap == null) {
        sb.append("null");
      } else {
        sb.append(this.freebieWarehouseIdMap);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("billed_by:");
      if (this.billed_by == null) {
        sb.append("null");
      } else {
        sb.append(this.billed_by);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("jacketNumber:");
      sb.append(this.jacketNumber);
      first = false;
      if (!first) sb.append(", ");
      sb.append("billingType:");
      sb.append(this.billingType);
      first = false;
      if (!first) sb.append(", ");
      sb.append("authorize:");
      sb.append(this.authorize);
      first = false;
      if (!first) sb.append(", ");
      sb.append("invoiceType:");
      if (this.invoiceType == null) {
        sb.append("null");
      } else {
        sb.append(this.invoiceType);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class addBillingDetailsForGrouppedOrders_result implements org.apache.thrift.TBase<addBillingDetailsForGrouppedOrders_result, addBillingDetailsForGrouppedOrders_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addBillingDetailsForGrouppedOrders_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private boolean success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(addBillingDetailsForGrouppedOrders_result.class, metaDataMap);
    }

    public addBillingDetailsForGrouppedOrders_result() {
    }

    public addBillingDetailsForGrouppedOrders_result(
      boolean success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public addBillingDetailsForGrouppedOrders_result(addBillingDetailsForGrouppedOrders_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public addBillingDetailsForGrouppedOrders_result deepCopy() {
      return new addBillingDetailsForGrouppedOrders_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = false;
      this.ex = null;
    }

    public boolean isSuccess() {
      return this.success;
    }

    public void setSuccess(boolean success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Boolean.valueOf(isSuccess());

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof addBillingDetailsForGrouppedOrders_result)
        return this.equals((addBillingDetailsForGrouppedOrders_result)that);
      return false;
    }

    public boolean equals(addBillingDetailsForGrouppedOrders_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(addBillingDetailsForGrouppedOrders_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      addBillingDetailsForGrouppedOrders_result typedOther = (addBillingDetailsForGrouppedOrders_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.success = iprot.readBool();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBool(this.success);
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("addBillingDetailsForGrouppedOrders_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getInvoiceFormatLogisticsTxnId_args implements org.apache.thrift.TBase<getInvoiceFormatLogisticsTxnId_args, getInvoiceFormatLogisticsTxnId_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getInvoiceFormatLogisticsTxnId_args");

    private static final org.apache.thrift.protocol.TField TRANSACTION_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("transactionId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField SHIPEMENT_SEQ_FIELD_DESC = new org.apache.thrift.protocol.TField("shipementSeq", org.apache.thrift.protocol.TType.I64, (short)2);

    private long transactionId; // required
    private long shipementSeq; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      TRANSACTION_ID((short)1, "transactionId"),
      SHIPEMENT_SEQ((short)2, "shipementSeq");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // TRANSACTION_ID
            return TRANSACTION_ID;
          case 2: // SHIPEMENT_SEQ
            return SHIPEMENT_SEQ;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __TRANSACTIONID_ISSET_ID = 0;
    private static final int __SHIPEMENTSEQ_ISSET_ID = 1;
    private BitSet __isset_bit_vector = new BitSet(2);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.TRANSACTION_ID, new org.apache.thrift.meta_data.FieldMetaData("transactionId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.SHIPEMENT_SEQ, new org.apache.thrift.meta_data.FieldMetaData("shipementSeq", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getInvoiceFormatLogisticsTxnId_args.class, metaDataMap);
    }

    public getInvoiceFormatLogisticsTxnId_args() {
    }

    public getInvoiceFormatLogisticsTxnId_args(
      long transactionId,
      long shipementSeq)
    {
      this();
      this.transactionId = transactionId;
      setTransactionIdIsSet(true);
      this.shipementSeq = shipementSeq;
      setShipementSeqIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getInvoiceFormatLogisticsTxnId_args(getInvoiceFormatLogisticsTxnId_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.transactionId = other.transactionId;
      this.shipementSeq = other.shipementSeq;
    }

    public getInvoiceFormatLogisticsTxnId_args deepCopy() {
      return new getInvoiceFormatLogisticsTxnId_args(this);
    }

    @Override
    public void clear() {
      setTransactionIdIsSet(false);
      this.transactionId = 0;
      setShipementSeqIsSet(false);
      this.shipementSeq = 0;
    }

    public long getTransactionId() {
      return this.transactionId;
    }

    public void setTransactionId(long transactionId) {
      this.transactionId = transactionId;
      setTransactionIdIsSet(true);
    }

    public void unsetTransactionId() {
      __isset_bit_vector.clear(__TRANSACTIONID_ISSET_ID);
    }

    /** Returns true if field transactionId is set (has been assigned a value) and false otherwise */
    public boolean isSetTransactionId() {
      return __isset_bit_vector.get(__TRANSACTIONID_ISSET_ID);
    }

    public void setTransactionIdIsSet(boolean value) {
      __isset_bit_vector.set(__TRANSACTIONID_ISSET_ID, value);
    }

    public long getShipementSeq() {
      return this.shipementSeq;
    }

    public void setShipementSeq(long shipementSeq) {
      this.shipementSeq = shipementSeq;
      setShipementSeqIsSet(true);
    }

    public void unsetShipementSeq() {
      __isset_bit_vector.clear(__SHIPEMENTSEQ_ISSET_ID);
    }

    /** Returns true if field shipementSeq is set (has been assigned a value) and false otherwise */
    public boolean isSetShipementSeq() {
      return __isset_bit_vector.get(__SHIPEMENTSEQ_ISSET_ID);
    }

    public void setShipementSeqIsSet(boolean value) {
      __isset_bit_vector.set(__SHIPEMENTSEQ_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case TRANSACTION_ID:
        if (value == null) {
          unsetTransactionId();
        } else {
          setTransactionId((Long)value);
        }
        break;

      case SHIPEMENT_SEQ:
        if (value == null) {
          unsetShipementSeq();
        } else {
          setShipementSeq((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case TRANSACTION_ID:
        return Long.valueOf(getTransactionId());

      case SHIPEMENT_SEQ:
        return Long.valueOf(getShipementSeq());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case TRANSACTION_ID:
        return isSetTransactionId();
      case SHIPEMENT_SEQ:
        return isSetShipementSeq();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getInvoiceFormatLogisticsTxnId_args)
        return this.equals((getInvoiceFormatLogisticsTxnId_args)that);
      return false;
    }

    public boolean equals(getInvoiceFormatLogisticsTxnId_args that) {
      if (that == null)
        return false;

      boolean this_present_transactionId = true;
      boolean that_present_transactionId = true;
      if (this_present_transactionId || that_present_transactionId) {
        if (!(this_present_transactionId && that_present_transactionId))
          return false;
        if (this.transactionId != that.transactionId)
          return false;
      }

      boolean this_present_shipementSeq = true;
      boolean that_present_shipementSeq = true;
      if (this_present_shipementSeq || that_present_shipementSeq) {
        if (!(this_present_shipementSeq && that_present_shipementSeq))
          return false;
        if (this.shipementSeq != that.shipementSeq)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getInvoiceFormatLogisticsTxnId_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getInvoiceFormatLogisticsTxnId_args typedOther = (getInvoiceFormatLogisticsTxnId_args)other;

      lastComparison = Boolean.valueOf(isSetTransactionId()).compareTo(typedOther.isSetTransactionId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetTransactionId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.transactionId, typedOther.transactionId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetShipementSeq()).compareTo(typedOther.isSetShipementSeq());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetShipementSeq()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.shipementSeq, typedOther.shipementSeq);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // TRANSACTION_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.transactionId = iprot.readI64();
              setTransactionIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // SHIPEMENT_SEQ
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.shipementSeq = iprot.readI64();
              setShipementSeqIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(TRANSACTION_ID_FIELD_DESC);
      oprot.writeI64(this.transactionId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(SHIPEMENT_SEQ_FIELD_DESC);
      oprot.writeI64(this.shipementSeq);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getInvoiceFormatLogisticsTxnId_args(");
      boolean first = true;

      sb.append("transactionId:");
      sb.append(this.transactionId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("shipementSeq:");
      sb.append(this.shipementSeq);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getInvoiceFormatLogisticsTxnId_result implements org.apache.thrift.TBase<getInvoiceFormatLogisticsTxnId_result, getInvoiceFormatLogisticsTxnId_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getInvoiceFormatLogisticsTxnId_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRING, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private String success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getInvoiceFormatLogisticsTxnId_result.class, metaDataMap);
    }

    public getInvoiceFormatLogisticsTxnId_result() {
    }

    public getInvoiceFormatLogisticsTxnId_result(
      String success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getInvoiceFormatLogisticsTxnId_result(getInvoiceFormatLogisticsTxnId_result other) {
      if (other.isSetSuccess()) {
        this.success = other.success;
      }
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public getInvoiceFormatLogisticsTxnId_result deepCopy() {
      return new getInvoiceFormatLogisticsTxnId_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.ex = null;
    }

    public String getSuccess() {
      return this.success;
    }

    public void setSuccess(String success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((String)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getInvoiceFormatLogisticsTxnId_result)
        return this.equals((getInvoiceFormatLogisticsTxnId_result)that);
      return false;
    }

    public boolean equals(getInvoiceFormatLogisticsTxnId_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getInvoiceFormatLogisticsTxnId_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getInvoiceFormatLogisticsTxnId_result typedOther = (getInvoiceFormatLogisticsTxnId_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.success = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeString(this.success);
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getInvoiceFormatLogisticsTxnId_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class createHomeShopOrder_args implements org.apache.thrift.TBase<createHomeShopOrder_args, createHomeShopOrder_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("createHomeShopOrder_args");

    private static final org.apache.thrift.protocol.TField SNAPDEAL_ORDER_FIELD_DESC = new org.apache.thrift.protocol.TField("snapdealOrder", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private HsOrder snapdealOrder; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SNAPDEAL_ORDER((short)1, "snapdealOrder");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // SNAPDEAL_ORDER
            return SNAPDEAL_ORDER;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SNAPDEAL_ORDER, new org.apache.thrift.meta_data.FieldMetaData("snapdealOrder", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, HsOrder.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(createHomeShopOrder_args.class, metaDataMap);
    }

    public createHomeShopOrder_args() {
    }

    public createHomeShopOrder_args(
      HsOrder snapdealOrder)
    {
      this();
      this.snapdealOrder = snapdealOrder;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public createHomeShopOrder_args(createHomeShopOrder_args other) {
      if (other.isSetSnapdealOrder()) {
        this.snapdealOrder = new HsOrder(other.snapdealOrder);
      }
    }

    public createHomeShopOrder_args deepCopy() {
      return new createHomeShopOrder_args(this);
    }

    @Override
    public void clear() {
      this.snapdealOrder = null;
    }

    public HsOrder getSnapdealOrder() {
      return this.snapdealOrder;
    }

    public void setSnapdealOrder(HsOrder snapdealOrder) {
      this.snapdealOrder = snapdealOrder;
    }

    public void unsetSnapdealOrder() {
      this.snapdealOrder = null;
    }

    /** Returns true if field snapdealOrder is set (has been assigned a value) and false otherwise */
    public boolean isSetSnapdealOrder() {
      return this.snapdealOrder != null;
    }

    public void setSnapdealOrderIsSet(boolean value) {
      if (!value) {
        this.snapdealOrder = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SNAPDEAL_ORDER:
        if (value == null) {
          unsetSnapdealOrder();
        } else {
          setSnapdealOrder((HsOrder)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SNAPDEAL_ORDER:
        return getSnapdealOrder();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SNAPDEAL_ORDER:
        return isSetSnapdealOrder();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof createHomeShopOrder_args)
        return this.equals((createHomeShopOrder_args)that);
      return false;
    }

    public boolean equals(createHomeShopOrder_args that) {
      if (that == null)
        return false;

      boolean this_present_snapdealOrder = true && this.isSetSnapdealOrder();
      boolean that_present_snapdealOrder = true && that.isSetSnapdealOrder();
      if (this_present_snapdealOrder || that_present_snapdealOrder) {
        if (!(this_present_snapdealOrder && that_present_snapdealOrder))
          return false;
        if (!this.snapdealOrder.equals(that.snapdealOrder))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(createHomeShopOrder_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      createHomeShopOrder_args typedOther = (createHomeShopOrder_args)other;

      lastComparison = Boolean.valueOf(isSetSnapdealOrder()).compareTo(typedOther.isSetSnapdealOrder());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSnapdealOrder()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.snapdealOrder, typedOther.snapdealOrder);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // SNAPDEAL_ORDER
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.snapdealOrder = new HsOrder();
              this.snapdealOrder.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.snapdealOrder != null) {
        oprot.writeFieldBegin(SNAPDEAL_ORDER_FIELD_DESC);
        this.snapdealOrder.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("createHomeShopOrder_args(");
      boolean first = true;

      sb.append("snapdealOrder:");
      if (this.snapdealOrder == null) {
        sb.append("null");
      } else {
        sb.append(this.snapdealOrder);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class createHomeShopOrder_result implements org.apache.thrift.TBase<createHomeShopOrder_result, createHomeShopOrder_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("createHomeShopOrder_result");



    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
;

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(createHomeShopOrder_result.class, metaDataMap);
    }

    public createHomeShopOrder_result() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public createHomeShopOrder_result(createHomeShopOrder_result other) {
    }

    public createHomeShopOrder_result deepCopy() {
      return new createHomeShopOrder_result(this);
    }

    @Override
    public void clear() {
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof createHomeShopOrder_result)
        return this.equals((createHomeShopOrder_result)that);
      return false;
    }

    public boolean equals(createHomeShopOrder_result that) {
      if (that == null)
        return false;

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(createHomeShopOrder_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      createHomeShopOrder_result typedOther = (createHomeShopOrder_result)other;

      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("createHomeShopOrder_result(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getHomeShopOrder_args implements org.apache.thrift.TBase<getHomeShopOrder_args, getHomeShopOrder_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getHomeShopOrder_args");

    private static final org.apache.thrift.protocol.TField ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("orderId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField HS_ORDER_NO_FIELD_DESC = new org.apache.thrift.protocol.TField("hsOrderNo", org.apache.thrift.protocol.TType.STRING, (short)2);
    private static final org.apache.thrift.protocol.TField HS_SUB_ORDER_NO_FIELD_DESC = new org.apache.thrift.protocol.TField("hsSubOrderNo", org.apache.thrift.protocol.TType.STRING, (short)3);

    private long orderId; // required
    private String hsOrderNo; // required
    private String hsSubOrderNo; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ORDER_ID((short)1, "orderId"),
      HS_ORDER_NO((short)2, "hsOrderNo"),
      HS_SUB_ORDER_NO((short)3, "hsSubOrderNo");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ORDER_ID
            return ORDER_ID;
          case 2: // HS_ORDER_NO
            return HS_ORDER_NO;
          case 3: // HS_SUB_ORDER_NO
            return HS_SUB_ORDER_NO;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ORDERID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("orderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.HS_ORDER_NO, new org.apache.thrift.meta_data.FieldMetaData("hsOrderNo", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.HS_SUB_ORDER_NO, new org.apache.thrift.meta_data.FieldMetaData("hsSubOrderNo", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getHomeShopOrder_args.class, metaDataMap);
    }

    public getHomeShopOrder_args() {
    }

    public getHomeShopOrder_args(
      long orderId,
      String hsOrderNo,
      String hsSubOrderNo)
    {
      this();
      this.orderId = orderId;
      setOrderIdIsSet(true);
      this.hsOrderNo = hsOrderNo;
      this.hsSubOrderNo = hsSubOrderNo;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getHomeShopOrder_args(getHomeShopOrder_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.orderId = other.orderId;
      if (other.isSetHsOrderNo()) {
        this.hsOrderNo = other.hsOrderNo;
      }
      if (other.isSetHsSubOrderNo()) {
        this.hsSubOrderNo = other.hsSubOrderNo;
      }
    }

    public getHomeShopOrder_args deepCopy() {
      return new getHomeShopOrder_args(this);
    }

    @Override
    public void clear() {
      setOrderIdIsSet(false);
      this.orderId = 0;
      this.hsOrderNo = null;
      this.hsSubOrderNo = null;
    }

    public long getOrderId() {
      return this.orderId;
    }

    public void setOrderId(long orderId) {
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    public void unsetOrderId() {
      __isset_bit_vector.clear(__ORDERID_ISSET_ID);
    }

    /** Returns true if field orderId is set (has been assigned a value) and false otherwise */
    public boolean isSetOrderId() {
      return __isset_bit_vector.get(__ORDERID_ISSET_ID);
    }

    public void setOrderIdIsSet(boolean value) {
      __isset_bit_vector.set(__ORDERID_ISSET_ID, value);
    }

    public String getHsOrderNo() {
      return this.hsOrderNo;
    }

    public void setHsOrderNo(String hsOrderNo) {
      this.hsOrderNo = hsOrderNo;
    }

    public void unsetHsOrderNo() {
      this.hsOrderNo = null;
    }

    /** Returns true if field hsOrderNo is set (has been assigned a value) and false otherwise */
    public boolean isSetHsOrderNo() {
      return this.hsOrderNo != null;
    }

    public void setHsOrderNoIsSet(boolean value) {
      if (!value) {
        this.hsOrderNo = null;
      }
    }

    public String getHsSubOrderNo() {
      return this.hsSubOrderNo;
    }

    public void setHsSubOrderNo(String hsSubOrderNo) {
      this.hsSubOrderNo = hsSubOrderNo;
    }

    public void unsetHsSubOrderNo() {
      this.hsSubOrderNo = null;
    }

    /** Returns true if field hsSubOrderNo is set (has been assigned a value) and false otherwise */
    public boolean isSetHsSubOrderNo() {
      return this.hsSubOrderNo != null;
    }

    public void setHsSubOrderNoIsSet(boolean value) {
      if (!value) {
        this.hsSubOrderNo = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ORDER_ID:
        if (value == null) {
          unsetOrderId();
        } else {
          setOrderId((Long)value);
        }
        break;

      case HS_ORDER_NO:
        if (value == null) {
          unsetHsOrderNo();
        } else {
          setHsOrderNo((String)value);
        }
        break;

      case HS_SUB_ORDER_NO:
        if (value == null) {
          unsetHsSubOrderNo();
        } else {
          setHsSubOrderNo((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ORDER_ID:
        return Long.valueOf(getOrderId());

      case HS_ORDER_NO:
        return getHsOrderNo();

      case HS_SUB_ORDER_NO:
        return getHsSubOrderNo();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ORDER_ID:
        return isSetOrderId();
      case HS_ORDER_NO:
        return isSetHsOrderNo();
      case HS_SUB_ORDER_NO:
        return isSetHsSubOrderNo();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getHomeShopOrder_args)
        return this.equals((getHomeShopOrder_args)that);
      return false;
    }

    public boolean equals(getHomeShopOrder_args that) {
      if (that == null)
        return false;

      boolean this_present_orderId = true;
      boolean that_present_orderId = true;
      if (this_present_orderId || that_present_orderId) {
        if (!(this_present_orderId && that_present_orderId))
          return false;
        if (this.orderId != that.orderId)
          return false;
      }

      boolean this_present_hsOrderNo = true && this.isSetHsOrderNo();
      boolean that_present_hsOrderNo = true && that.isSetHsOrderNo();
      if (this_present_hsOrderNo || that_present_hsOrderNo) {
        if (!(this_present_hsOrderNo && that_present_hsOrderNo))
          return false;
        if (!this.hsOrderNo.equals(that.hsOrderNo))
          return false;
      }

      boolean this_present_hsSubOrderNo = true && this.isSetHsSubOrderNo();
      boolean that_present_hsSubOrderNo = true && that.isSetHsSubOrderNo();
      if (this_present_hsSubOrderNo || that_present_hsSubOrderNo) {
        if (!(this_present_hsSubOrderNo && that_present_hsSubOrderNo))
          return false;
        if (!this.hsSubOrderNo.equals(that.hsSubOrderNo))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getHomeShopOrder_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getHomeShopOrder_args typedOther = (getHomeShopOrder_args)other;

      lastComparison = Boolean.valueOf(isSetOrderId()).compareTo(typedOther.isSetOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.orderId, typedOther.orderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetHsOrderNo()).compareTo(typedOther.isSetHsOrderNo());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetHsOrderNo()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.hsOrderNo, typedOther.hsOrderNo);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetHsSubOrderNo()).compareTo(typedOther.isSetHsSubOrderNo());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetHsSubOrderNo()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.hsSubOrderNo, typedOther.hsSubOrderNo);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.orderId = iprot.readI64();
              setOrderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // HS_ORDER_NO
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.hsOrderNo = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // HS_SUB_ORDER_NO
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.hsSubOrderNo = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ORDER_ID_FIELD_DESC);
      oprot.writeI64(this.orderId);
      oprot.writeFieldEnd();
      if (this.hsOrderNo != null) {
        oprot.writeFieldBegin(HS_ORDER_NO_FIELD_DESC);
        oprot.writeString(this.hsOrderNo);
        oprot.writeFieldEnd();
      }
      if (this.hsSubOrderNo != null) {
        oprot.writeFieldBegin(HS_SUB_ORDER_NO_FIELD_DESC);
        oprot.writeString(this.hsSubOrderNo);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getHomeShopOrder_args(");
      boolean first = true;

      sb.append("orderId:");
      sb.append(this.orderId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("hsOrderNo:");
      if (this.hsOrderNo == null) {
        sb.append("null");
      } else {
        sb.append(this.hsOrderNo);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("hsSubOrderNo:");
      if (this.hsSubOrderNo == null) {
        sb.append("null");
      } else {
        sb.append(this.hsSubOrderNo);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getHomeShopOrder_result implements org.apache.thrift.TBase<getHomeShopOrder_result, getHomeShopOrder_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getHomeShopOrder_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);

    private List<HsOrder> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, HsOrder.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getHomeShopOrder_result.class, metaDataMap);
    }

    public getHomeShopOrder_result() {
    }

    public getHomeShopOrder_result(
      List<HsOrder> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getHomeShopOrder_result(getHomeShopOrder_result other) {
      if (other.isSetSuccess()) {
        List<HsOrder> __this__success = new ArrayList<HsOrder>();
        for (HsOrder other_element : other.success) {
          __this__success.add(new HsOrder(other_element));
        }
        this.success = __this__success;
      }
    }

    public getHomeShopOrder_result deepCopy() {
      return new getHomeShopOrder_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<HsOrder> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(HsOrder elem) {
      if (this.success == null) {
        this.success = new ArrayList<HsOrder>();
      }
      this.success.add(elem);
    }

    public List<HsOrder> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<HsOrder> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<HsOrder>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getHomeShopOrder_result)
        return this.equals((getHomeShopOrder_result)that);
      return false;
    }

    public boolean equals(getHomeShopOrder_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getHomeShopOrder_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getHomeShopOrder_result typedOther = (getHomeShopOrder_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list664 = iprot.readListBegin();
                this.success = new ArrayList<HsOrder>(_list664.size);
                for (int _i665 = 0; _i665 < _list664.size; ++_i665)
                {
                  HsOrder _elem666; // required
                  _elem666 = new HsOrder();
                  _elem666.read(iprot);
                  this.success.add(_elem666);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (HsOrder _iter667 : this.success)
          {
            _iter667.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getHomeShopOrder_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class homeShopOrderExists_args implements org.apache.thrift.TBase<homeShopOrderExists_args, homeShopOrderExists_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("homeShopOrderExists_args");

    private static final org.apache.thrift.protocol.TField HS_ORDER_NO_FIELD_DESC = new org.apache.thrift.protocol.TField("hsOrderNo", org.apache.thrift.protocol.TType.STRING, (short)1);
    private static final org.apache.thrift.protocol.TField HS_SUB_ORDER_NO_FIELD_DESC = new org.apache.thrift.protocol.TField("hsSubOrderNo", org.apache.thrift.protocol.TType.STRING, (short)2);

    private String hsOrderNo; // required
    private String hsSubOrderNo; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      HS_ORDER_NO((short)1, "hsOrderNo"),
      HS_SUB_ORDER_NO((short)2, "hsSubOrderNo");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // HS_ORDER_NO
            return HS_ORDER_NO;
          case 2: // HS_SUB_ORDER_NO
            return HS_SUB_ORDER_NO;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.HS_ORDER_NO, new org.apache.thrift.meta_data.FieldMetaData("hsOrderNo", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.HS_SUB_ORDER_NO, new org.apache.thrift.meta_data.FieldMetaData("hsSubOrderNo", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(homeShopOrderExists_args.class, metaDataMap);
    }

    public homeShopOrderExists_args() {
    }

    public homeShopOrderExists_args(
      String hsOrderNo,
      String hsSubOrderNo)
    {
      this();
      this.hsOrderNo = hsOrderNo;
      this.hsSubOrderNo = hsSubOrderNo;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public homeShopOrderExists_args(homeShopOrderExists_args other) {
      if (other.isSetHsOrderNo()) {
        this.hsOrderNo = other.hsOrderNo;
      }
      if (other.isSetHsSubOrderNo()) {
        this.hsSubOrderNo = other.hsSubOrderNo;
      }
    }

    public homeShopOrderExists_args deepCopy() {
      return new homeShopOrderExists_args(this);
    }

    @Override
    public void clear() {
      this.hsOrderNo = null;
      this.hsSubOrderNo = null;
    }

    public String getHsOrderNo() {
      return this.hsOrderNo;
    }

    public void setHsOrderNo(String hsOrderNo) {
      this.hsOrderNo = hsOrderNo;
    }

    public void unsetHsOrderNo() {
      this.hsOrderNo = null;
    }

    /** Returns true if field hsOrderNo is set (has been assigned a value) and false otherwise */
    public boolean isSetHsOrderNo() {
      return this.hsOrderNo != null;
    }

    public void setHsOrderNoIsSet(boolean value) {
      if (!value) {
        this.hsOrderNo = null;
      }
    }

    public String getHsSubOrderNo() {
      return this.hsSubOrderNo;
    }

    public void setHsSubOrderNo(String hsSubOrderNo) {
      this.hsSubOrderNo = hsSubOrderNo;
    }

    public void unsetHsSubOrderNo() {
      this.hsSubOrderNo = null;
    }

    /** Returns true if field hsSubOrderNo is set (has been assigned a value) and false otherwise */
    public boolean isSetHsSubOrderNo() {
      return this.hsSubOrderNo != null;
    }

    public void setHsSubOrderNoIsSet(boolean value) {
      if (!value) {
        this.hsSubOrderNo = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case HS_ORDER_NO:
        if (value == null) {
          unsetHsOrderNo();
        } else {
          setHsOrderNo((String)value);
        }
        break;

      case HS_SUB_ORDER_NO:
        if (value == null) {
          unsetHsSubOrderNo();
        } else {
          setHsSubOrderNo((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case HS_ORDER_NO:
        return getHsOrderNo();

      case HS_SUB_ORDER_NO:
        return getHsSubOrderNo();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case HS_ORDER_NO:
        return isSetHsOrderNo();
      case HS_SUB_ORDER_NO:
        return isSetHsSubOrderNo();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof homeShopOrderExists_args)
        return this.equals((homeShopOrderExists_args)that);
      return false;
    }

    public boolean equals(homeShopOrderExists_args that) {
      if (that == null)
        return false;

      boolean this_present_hsOrderNo = true && this.isSetHsOrderNo();
      boolean that_present_hsOrderNo = true && that.isSetHsOrderNo();
      if (this_present_hsOrderNo || that_present_hsOrderNo) {
        if (!(this_present_hsOrderNo && that_present_hsOrderNo))
          return false;
        if (!this.hsOrderNo.equals(that.hsOrderNo))
          return false;
      }

      boolean this_present_hsSubOrderNo = true && this.isSetHsSubOrderNo();
      boolean that_present_hsSubOrderNo = true && that.isSetHsSubOrderNo();
      if (this_present_hsSubOrderNo || that_present_hsSubOrderNo) {
        if (!(this_present_hsSubOrderNo && that_present_hsSubOrderNo))
          return false;
        if (!this.hsSubOrderNo.equals(that.hsSubOrderNo))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(homeShopOrderExists_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      homeShopOrderExists_args typedOther = (homeShopOrderExists_args)other;

      lastComparison = Boolean.valueOf(isSetHsOrderNo()).compareTo(typedOther.isSetHsOrderNo());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetHsOrderNo()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.hsOrderNo, typedOther.hsOrderNo);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetHsSubOrderNo()).compareTo(typedOther.isSetHsSubOrderNo());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetHsSubOrderNo()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.hsSubOrderNo, typedOther.hsSubOrderNo);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // HS_ORDER_NO
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.hsOrderNo = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // HS_SUB_ORDER_NO
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.hsSubOrderNo = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.hsOrderNo != null) {
        oprot.writeFieldBegin(HS_ORDER_NO_FIELD_DESC);
        oprot.writeString(this.hsOrderNo);
        oprot.writeFieldEnd();
      }
      if (this.hsSubOrderNo != null) {
        oprot.writeFieldBegin(HS_SUB_ORDER_NO_FIELD_DESC);
        oprot.writeString(this.hsSubOrderNo);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("homeShopOrderExists_args(");
      boolean first = true;

      sb.append("hsOrderNo:");
      if (this.hsOrderNo == null) {
        sb.append("null");
      } else {
        sb.append(this.hsOrderNo);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("hsSubOrderNo:");
      if (this.hsSubOrderNo == null) {
        sb.append("null");
      } else {
        sb.append(this.hsSubOrderNo);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class homeShopOrderExists_result implements org.apache.thrift.TBase<homeShopOrderExists_result, homeShopOrderExists_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("homeShopOrderExists_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);

    private boolean success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(homeShopOrderExists_result.class, metaDataMap);
    }

    public homeShopOrderExists_result() {
    }

    public homeShopOrderExists_result(
      boolean success)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public homeShopOrderExists_result(homeShopOrderExists_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
    }

    public homeShopOrderExists_result deepCopy() {
      return new homeShopOrderExists_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = false;
    }

    public boolean isSuccess() {
      return this.success;
    }

    public void setSuccess(boolean success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Boolean.valueOf(isSuccess());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof homeShopOrderExists_result)
        return this.equals((homeShopOrderExists_result)that);
      return false;
    }

    public boolean equals(homeShopOrderExists_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(homeShopOrderExists_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      homeShopOrderExists_result typedOther = (homeShopOrderExists_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.success = iprot.readBool();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBool(this.success);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("homeShopOrderExists_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class splitBulkOrder_args implements org.apache.thrift.TBase<splitBulkOrder_args, splitBulkOrder_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("splitBulkOrder_args");

    private static final org.apache.thrift.protocol.TField ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("orderId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField SPLIT_ORDER_QTY_FIELD_DESC = new org.apache.thrift.protocol.TField("splitOrderQty", org.apache.thrift.protocol.TType.I64, (short)2);

    private long orderId; // required
    private long splitOrderQty; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ORDER_ID((short)1, "orderId"),
      SPLIT_ORDER_QTY((short)2, "splitOrderQty");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ORDER_ID
            return ORDER_ID;
          case 2: // SPLIT_ORDER_QTY
            return SPLIT_ORDER_QTY;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ORDERID_ISSET_ID = 0;
    private static final int __SPLITORDERQTY_ISSET_ID = 1;
    private BitSet __isset_bit_vector = new BitSet(2);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("orderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.SPLIT_ORDER_QTY, new org.apache.thrift.meta_data.FieldMetaData("splitOrderQty", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(splitBulkOrder_args.class, metaDataMap);
    }

    public splitBulkOrder_args() {
    }

    public splitBulkOrder_args(
      long orderId,
      long splitOrderQty)
    {
      this();
      this.orderId = orderId;
      setOrderIdIsSet(true);
      this.splitOrderQty = splitOrderQty;
      setSplitOrderQtyIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public splitBulkOrder_args(splitBulkOrder_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.orderId = other.orderId;
      this.splitOrderQty = other.splitOrderQty;
    }

    public splitBulkOrder_args deepCopy() {
      return new splitBulkOrder_args(this);
    }

    @Override
    public void clear() {
      setOrderIdIsSet(false);
      this.orderId = 0;
      setSplitOrderQtyIsSet(false);
      this.splitOrderQty = 0;
    }

    public long getOrderId() {
      return this.orderId;
    }

    public void setOrderId(long orderId) {
      this.orderId = orderId;
      setOrderIdIsSet(true);
    }

    public void unsetOrderId() {
      __isset_bit_vector.clear(__ORDERID_ISSET_ID);
    }

    /** Returns true if field orderId is set (has been assigned a value) and false otherwise */
    public boolean isSetOrderId() {
      return __isset_bit_vector.get(__ORDERID_ISSET_ID);
    }

    public void setOrderIdIsSet(boolean value) {
      __isset_bit_vector.set(__ORDERID_ISSET_ID, value);
    }

    public long getSplitOrderQty() {
      return this.splitOrderQty;
    }

    public void setSplitOrderQty(long splitOrderQty) {
      this.splitOrderQty = splitOrderQty;
      setSplitOrderQtyIsSet(true);
    }

    public void unsetSplitOrderQty() {
      __isset_bit_vector.clear(__SPLITORDERQTY_ISSET_ID);
    }

    /** Returns true if field splitOrderQty is set (has been assigned a value) and false otherwise */
    public boolean isSetSplitOrderQty() {
      return __isset_bit_vector.get(__SPLITORDERQTY_ISSET_ID);
    }

    public void setSplitOrderQtyIsSet(boolean value) {
      __isset_bit_vector.set(__SPLITORDERQTY_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ORDER_ID:
        if (value == null) {
          unsetOrderId();
        } else {
          setOrderId((Long)value);
        }
        break;

      case SPLIT_ORDER_QTY:
        if (value == null) {
          unsetSplitOrderQty();
        } else {
          setSplitOrderQty((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ORDER_ID:
        return Long.valueOf(getOrderId());

      case SPLIT_ORDER_QTY:
        return Long.valueOf(getSplitOrderQty());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ORDER_ID:
        return isSetOrderId();
      case SPLIT_ORDER_QTY:
        return isSetSplitOrderQty();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof splitBulkOrder_args)
        return this.equals((splitBulkOrder_args)that);
      return false;
    }

    public boolean equals(splitBulkOrder_args that) {
      if (that == null)
        return false;

      boolean this_present_orderId = true;
      boolean that_present_orderId = true;
      if (this_present_orderId || that_present_orderId) {
        if (!(this_present_orderId && that_present_orderId))
          return false;
        if (this.orderId != that.orderId)
          return false;
      }

      boolean this_present_splitOrderQty = true;
      boolean that_present_splitOrderQty = true;
      if (this_present_splitOrderQty || that_present_splitOrderQty) {
        if (!(this_present_splitOrderQty && that_present_splitOrderQty))
          return false;
        if (this.splitOrderQty != that.splitOrderQty)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(splitBulkOrder_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      splitBulkOrder_args typedOther = (splitBulkOrder_args)other;

      lastComparison = Boolean.valueOf(isSetOrderId()).compareTo(typedOther.isSetOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.orderId, typedOther.orderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetSplitOrderQty()).compareTo(typedOther.isSetSplitOrderQty());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSplitOrderQty()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.splitOrderQty, typedOther.splitOrderQty);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.orderId = iprot.readI64();
              setOrderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // SPLIT_ORDER_QTY
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.splitOrderQty = iprot.readI64();
              setSplitOrderQtyIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ORDER_ID_FIELD_DESC);
      oprot.writeI64(this.orderId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(SPLIT_ORDER_QTY_FIELD_DESC);
      oprot.writeI64(this.splitOrderQty);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("splitBulkOrder_args(");
      boolean first = true;

      sb.append("orderId:");
      sb.append(this.orderId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("splitOrderQty:");
      sb.append(this.splitOrderQty);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class splitBulkOrder_result implements org.apache.thrift.TBase<splitBulkOrder_result, splitBulkOrder_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("splitBulkOrder_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);

    private Order success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Order.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(splitBulkOrder_result.class, metaDataMap);
    }

    public splitBulkOrder_result() {
    }

    public splitBulkOrder_result(
      Order success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public splitBulkOrder_result(splitBulkOrder_result other) {
      if (other.isSetSuccess()) {
        this.success = new Order(other.success);
      }
    }

    public splitBulkOrder_result deepCopy() {
      return new splitBulkOrder_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public Order getSuccess() {
      return this.success;
    }

    public void setSuccess(Order success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Order)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof splitBulkOrder_result)
        return this.equals((splitBulkOrder_result)that);
      return false;
    }

    public boolean equals(splitBulkOrder_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(splitBulkOrder_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      splitBulkOrder_result typedOther = (splitBulkOrder_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.success = new Order();
              this.success.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        this.success.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("splitBulkOrder_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class moveOrdersToCorrectWarehouse_args implements org.apache.thrift.TBase<moveOrdersToCorrectWarehouse_args, moveOrdersToCorrectWarehouse_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("moveOrdersToCorrectWarehouse_args");



    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
;

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(moveOrdersToCorrectWarehouse_args.class, metaDataMap);
    }

    public moveOrdersToCorrectWarehouse_args() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public moveOrdersToCorrectWarehouse_args(moveOrdersToCorrectWarehouse_args other) {
    }

    public moveOrdersToCorrectWarehouse_args deepCopy() {
      return new moveOrdersToCorrectWarehouse_args(this);
    }

    @Override
    public void clear() {
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof moveOrdersToCorrectWarehouse_args)
        return this.equals((moveOrdersToCorrectWarehouse_args)that);
      return false;
    }

    public boolean equals(moveOrdersToCorrectWarehouse_args that) {
      if (that == null)
        return false;

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(moveOrdersToCorrectWarehouse_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      moveOrdersToCorrectWarehouse_args typedOther = (moveOrdersToCorrectWarehouse_args)other;

      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("moveOrdersToCorrectWarehouse_args(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class moveOrdersToCorrectWarehouse_result implements org.apache.thrift.TBase<moveOrdersToCorrectWarehouse_result, moveOrdersToCorrectWarehouse_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("moveOrdersToCorrectWarehouse_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRING, (short)0);

    private String success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(moveOrdersToCorrectWarehouse_result.class, metaDataMap);
    }

    public moveOrdersToCorrectWarehouse_result() {
    }

    public moveOrdersToCorrectWarehouse_result(
      String success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public moveOrdersToCorrectWarehouse_result(moveOrdersToCorrectWarehouse_result other) {
      if (other.isSetSuccess()) {
        this.success = other.success;
      }
    }

    public moveOrdersToCorrectWarehouse_result deepCopy() {
      return new moveOrdersToCorrectWarehouse_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public String getSuccess() {
      return this.success;
    }

    public void setSuccess(String success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof moveOrdersToCorrectWarehouse_result)
        return this.equals((moveOrdersToCorrectWarehouse_result)that);
      return false;
    }

    public boolean equals(moveOrdersToCorrectWarehouse_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(moveOrdersToCorrectWarehouse_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      moveOrdersToCorrectWarehouse_result typedOther = (moveOrdersToCorrectWarehouse_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.success = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeString(this.success);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("moveOrdersToCorrectWarehouse_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getCreditorInfo_args implements org.apache.thrift.TBase<getCreditorInfo_args, getCreditorInfo_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getCreditorInfo_args");

    private static final org.apache.thrift.protocol.TField ID_FIELD_DESC = new org.apache.thrift.protocol.TField("id", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("name", org.apache.thrift.protocol.TType.STRING, (short)2);

    private long id; // required
    private String name; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ID((short)1, "id"),
      NAME((short)2, "name");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ID
            return ID;
          case 2: // NAME
            return NAME;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ID, new org.apache.thrift.meta_data.FieldMetaData("id", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.NAME, new org.apache.thrift.meta_data.FieldMetaData("name", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getCreditorInfo_args.class, metaDataMap);
    }

    public getCreditorInfo_args() {
    }

    public getCreditorInfo_args(
      long id,
      String name)
    {
      this();
      this.id = id;
      setIdIsSet(true);
      this.name = name;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getCreditorInfo_args(getCreditorInfo_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.id = other.id;
      if (other.isSetName()) {
        this.name = other.name;
      }
    }

    public getCreditorInfo_args deepCopy() {
      return new getCreditorInfo_args(this);
    }

    @Override
    public void clear() {
      setIdIsSet(false);
      this.id = 0;
      this.name = null;
    }

    public long getId() {
      return this.id;
    }

    public void setId(long id) {
      this.id = id;
      setIdIsSet(true);
    }

    public void unsetId() {
      __isset_bit_vector.clear(__ID_ISSET_ID);
    }

    /** Returns true if field id is set (has been assigned a value) and false otherwise */
    public boolean isSetId() {
      return __isset_bit_vector.get(__ID_ISSET_ID);
    }

    public void setIdIsSet(boolean value) {
      __isset_bit_vector.set(__ID_ISSET_ID, value);
    }

    public String getName() {
      return this.name;
    }

    public void setName(String name) {
      this.name = name;
    }

    public void unsetName() {
      this.name = null;
    }

    /** Returns true if field name is set (has been assigned a value) and false otherwise */
    public boolean isSetName() {
      return this.name != null;
    }

    public void setNameIsSet(boolean value) {
      if (!value) {
        this.name = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ID:
        if (value == null) {
          unsetId();
        } else {
          setId((Long)value);
        }
        break;

      case NAME:
        if (value == null) {
          unsetName();
        } else {
          setName((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ID:
        return Long.valueOf(getId());

      case NAME:
        return getName();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ID:
        return isSetId();
      case NAME:
        return isSetName();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getCreditorInfo_args)
        return this.equals((getCreditorInfo_args)that);
      return false;
    }

    public boolean equals(getCreditorInfo_args that) {
      if (that == null)
        return false;

      boolean this_present_id = true;
      boolean that_present_id = true;
      if (this_present_id || that_present_id) {
        if (!(this_present_id && that_present_id))
          return false;
        if (this.id != that.id)
          return false;
      }

      boolean this_present_name = true && this.isSetName();
      boolean that_present_name = true && that.isSetName();
      if (this_present_name || that_present_name) {
        if (!(this_present_name && that_present_name))
          return false;
        if (!this.name.equals(that.name))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getCreditorInfo_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getCreditorInfo_args typedOther = (getCreditorInfo_args)other;

      lastComparison = Boolean.valueOf(isSetId()).compareTo(typedOther.isSetId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.id, typedOther.id);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetName()).compareTo(typedOther.isSetName());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetName()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.name, typedOther.name);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.id = iprot.readI64();
              setIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // NAME
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.name = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ID_FIELD_DESC);
      oprot.writeI64(this.id);
      oprot.writeFieldEnd();
      if (this.name != null) {
        oprot.writeFieldBegin(NAME_FIELD_DESC);
        oprot.writeString(this.name);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getCreditorInfo_args(");
      boolean first = true;

      sb.append("id:");
      sb.append(this.id);
      first = false;
      if (!first) sb.append(", ");
      sb.append("name:");
      if (this.name == null) {
        sb.append("null");
      } else {
        sb.append(this.name);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getCreditorInfo_result implements org.apache.thrift.TBase<getCreditorInfo_result, getCreditorInfo_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getCreditorInfo_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);

    private Creditor success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Creditor.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getCreditorInfo_result.class, metaDataMap);
    }

    public getCreditorInfo_result() {
    }

    public getCreditorInfo_result(
      Creditor success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getCreditorInfo_result(getCreditorInfo_result other) {
      if (other.isSetSuccess()) {
        this.success = new Creditor(other.success);
      }
    }

    public getCreditorInfo_result deepCopy() {
      return new getCreditorInfo_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public Creditor getSuccess() {
      return this.success;
    }

    public void setSuccess(Creditor success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Creditor)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getCreditorInfo_result)
        return this.equals((getCreditorInfo_result)that);
      return false;
    }

    public boolean equals(getCreditorInfo_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getCreditorInfo_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getCreditorInfo_result typedOther = (getCreditorInfo_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.success = new Creditor();
              this.success.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        this.success.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getCreditorInfo_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class updateCreditorInfo_args implements org.apache.thrift.TBase<updateCreditorInfo_args, updateCreditorInfo_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateCreditorInfo_args");

    private static final org.apache.thrift.protocol.TField CREDITOR_FIELD_DESC = new org.apache.thrift.protocol.TField("creditor", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private Creditor creditor; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      CREDITOR((short)1, "creditor");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // CREDITOR
            return CREDITOR;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.CREDITOR, new org.apache.thrift.meta_data.FieldMetaData("creditor", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Creditor.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateCreditorInfo_args.class, metaDataMap);
    }

    public updateCreditorInfo_args() {
    }

    public updateCreditorInfo_args(
      Creditor creditor)
    {
      this();
      this.creditor = creditor;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public updateCreditorInfo_args(updateCreditorInfo_args other) {
      if (other.isSetCreditor()) {
        this.creditor = new Creditor(other.creditor);
      }
    }

    public updateCreditorInfo_args deepCopy() {
      return new updateCreditorInfo_args(this);
    }

    @Override
    public void clear() {
      this.creditor = null;
    }

    public Creditor getCreditor() {
      return this.creditor;
    }

    public void setCreditor(Creditor creditor) {
      this.creditor = creditor;
    }

    public void unsetCreditor() {
      this.creditor = null;
    }

    /** Returns true if field creditor is set (has been assigned a value) and false otherwise */
    public boolean isSetCreditor() {
      return this.creditor != null;
    }

    public void setCreditorIsSet(boolean value) {
      if (!value) {
        this.creditor = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case CREDITOR:
        if (value == null) {
          unsetCreditor();
        } else {
          setCreditor((Creditor)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case CREDITOR:
        return getCreditor();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case CREDITOR:
        return isSetCreditor();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof updateCreditorInfo_args)
        return this.equals((updateCreditorInfo_args)that);
      return false;
    }

    public boolean equals(updateCreditorInfo_args that) {
      if (that == null)
        return false;

      boolean this_present_creditor = true && this.isSetCreditor();
      boolean that_present_creditor = true && that.isSetCreditor();
      if (this_present_creditor || that_present_creditor) {
        if (!(this_present_creditor && that_present_creditor))
          return false;
        if (!this.creditor.equals(that.creditor))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(updateCreditorInfo_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      updateCreditorInfo_args typedOther = (updateCreditorInfo_args)other;

      lastComparison = Boolean.valueOf(isSetCreditor()).compareTo(typedOther.isSetCreditor());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetCreditor()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.creditor, typedOther.creditor);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // CREDITOR
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.creditor = new Creditor();
              this.creditor.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.creditor != null) {
        oprot.writeFieldBegin(CREDITOR_FIELD_DESC);
        this.creditor.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("updateCreditorInfo_args(");
      boolean first = true;

      sb.append("creditor:");
      if (this.creditor == null) {
        sb.append("null");
      } else {
        sb.append(this.creditor);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class updateCreditorInfo_result implements org.apache.thrift.TBase<updateCreditorInfo_result, updateCreditorInfo_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateCreditorInfo_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);

    private boolean success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateCreditorInfo_result.class, metaDataMap);
    }

    public updateCreditorInfo_result() {
    }

    public updateCreditorInfo_result(
      boolean success)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public updateCreditorInfo_result(updateCreditorInfo_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
    }

    public updateCreditorInfo_result deepCopy() {
      return new updateCreditorInfo_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = false;
    }

    public boolean isSuccess() {
      return this.success;
    }

    public void setSuccess(boolean success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Boolean.valueOf(isSuccess());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof updateCreditorInfo_result)
        return this.equals((updateCreditorInfo_result)that);
      return false;
    }

    public boolean equals(updateCreditorInfo_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(updateCreditorInfo_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      updateCreditorInfo_result typedOther = (updateCreditorInfo_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.success = iprot.readBool();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBool(this.success);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("updateCreditorInfo_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getUserSanctionDetails_args implements org.apache.thrift.TBase<getUserSanctionDetails_args, getUserSanctionDetails_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getUserSanctionDetails_args");

    private static final org.apache.thrift.protocol.TField USER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("userId", org.apache.thrift.protocol.TType.I64, (short)1);

    private long userId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      USER_ID((short)1, "userId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // USER_ID
            return USER_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __USERID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.USER_ID, new org.apache.thrift.meta_data.FieldMetaData("userId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getUserSanctionDetails_args.class, metaDataMap);
    }

    public getUserSanctionDetails_args() {
    }

    public getUserSanctionDetails_args(
      long userId)
    {
      this();
      this.userId = userId;
      setUserIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getUserSanctionDetails_args(getUserSanctionDetails_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.userId = other.userId;
    }

    public getUserSanctionDetails_args deepCopy() {
      return new getUserSanctionDetails_args(this);
    }

    @Override
    public void clear() {
      setUserIdIsSet(false);
      this.userId = 0;
    }

    public long getUserId() {
      return this.userId;
    }

    public void setUserId(long userId) {
      this.userId = userId;
      setUserIdIsSet(true);
    }

    public void unsetUserId() {
      __isset_bit_vector.clear(__USERID_ISSET_ID);
    }

    /** Returns true if field userId is set (has been assigned a value) and false otherwise */
    public boolean isSetUserId() {
      return __isset_bit_vector.get(__USERID_ISSET_ID);
    }

    public void setUserIdIsSet(boolean value) {
      __isset_bit_vector.set(__USERID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case USER_ID:
        if (value == null) {
          unsetUserId();
        } else {
          setUserId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case USER_ID:
        return Long.valueOf(getUserId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case USER_ID:
        return isSetUserId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getUserSanctionDetails_args)
        return this.equals((getUserSanctionDetails_args)that);
      return false;
    }

    public boolean equals(getUserSanctionDetails_args that) {
      if (that == null)
        return false;

      boolean this_present_userId = true;
      boolean that_present_userId = true;
      if (this_present_userId || that_present_userId) {
        if (!(this_present_userId && that_present_userId))
          return false;
        if (this.userId != that.userId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getUserSanctionDetails_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getUserSanctionDetails_args typedOther = (getUserSanctionDetails_args)other;

      lastComparison = Boolean.valueOf(isSetUserId()).compareTo(typedOther.isSetUserId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetUserId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.userId, typedOther.userId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // USER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.userId = iprot.readI64();
              setUserIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(USER_ID_FIELD_DESC);
      oprot.writeI64(this.userId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getUserSanctionDetails_args(");
      boolean first = true;

      sb.append("userId:");
      sb.append(this.userId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getUserSanctionDetails_result implements org.apache.thrift.TBase<getUserSanctionDetails_result, getUserSanctionDetails_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getUserSanctionDetails_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);

    private List<UserSanction> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, UserSanction.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getUserSanctionDetails_result.class, metaDataMap);
    }

    public getUserSanctionDetails_result() {
    }

    public getUserSanctionDetails_result(
      List<UserSanction> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getUserSanctionDetails_result(getUserSanctionDetails_result other) {
      if (other.isSetSuccess()) {
        List<UserSanction> __this__success = new ArrayList<UserSanction>();
        for (UserSanction other_element : other.success) {
          __this__success.add(new UserSanction(other_element));
        }
        this.success = __this__success;
      }
    }

    public getUserSanctionDetails_result deepCopy() {
      return new getUserSanctionDetails_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<UserSanction> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(UserSanction elem) {
      if (this.success == null) {
        this.success = new ArrayList<UserSanction>();
      }
      this.success.add(elem);
    }

    public List<UserSanction> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<UserSanction> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<UserSanction>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getUserSanctionDetails_result)
        return this.equals((getUserSanctionDetails_result)that);
      return false;
    }

    public boolean equals(getUserSanctionDetails_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getUserSanctionDetails_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getUserSanctionDetails_result typedOther = (getUserSanctionDetails_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list668 = iprot.readListBegin();
                this.success = new ArrayList<UserSanction>(_list668.size);
                for (int _i669 = 0; _i669 < _list668.size; ++_i669)
                {
                  UserSanction _elem670; // required
                  _elem670 = new UserSanction();
                  _elem670.read(iprot);
                  this.success.add(_elem670);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (UserSanction _iter671 : this.success)
          {
            _iter671.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getUserSanctionDetails_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getUserSanctionDetailsForCreditor_args implements org.apache.thrift.TBase<getUserSanctionDetailsForCreditor_args, getUserSanctionDetailsForCreditor_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getUserSanctionDetailsForCreditor_args");

    private static final org.apache.thrift.protocol.TField USER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("userId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField CREDITOR_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("creditorId", org.apache.thrift.protocol.TType.I64, (short)-1);

    private long userId; // required
    private long creditorId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      USER_ID((short)1, "userId"),
      CREDITOR_ID((short)-1, "creditorId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // USER_ID
            return USER_ID;
          case -1: // CREDITOR_ID
            return CREDITOR_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __USERID_ISSET_ID = 0;
    private static final int __CREDITORID_ISSET_ID = 1;
    private BitSet __isset_bit_vector = new BitSet(2);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.USER_ID, new org.apache.thrift.meta_data.FieldMetaData("userId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.CREDITOR_ID, new org.apache.thrift.meta_data.FieldMetaData("creditorId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getUserSanctionDetailsForCreditor_args.class, metaDataMap);
    }

    public getUserSanctionDetailsForCreditor_args() {
    }

    public getUserSanctionDetailsForCreditor_args(
      long userId,
      long creditorId)
    {
      this();
      this.userId = userId;
      setUserIdIsSet(true);
      this.creditorId = creditorId;
      setCreditorIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getUserSanctionDetailsForCreditor_args(getUserSanctionDetailsForCreditor_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.userId = other.userId;
      this.creditorId = other.creditorId;
    }

    public getUserSanctionDetailsForCreditor_args deepCopy() {
      return new getUserSanctionDetailsForCreditor_args(this);
    }

    @Override
    public void clear() {
      setUserIdIsSet(false);
      this.userId = 0;
      setCreditorIdIsSet(false);
      this.creditorId = 0;
    }

    public long getUserId() {
      return this.userId;
    }

    public void setUserId(long userId) {
      this.userId = userId;
      setUserIdIsSet(true);
    }

    public void unsetUserId() {
      __isset_bit_vector.clear(__USERID_ISSET_ID);
    }

    /** Returns true if field userId is set (has been assigned a value) and false otherwise */
    public boolean isSetUserId() {
      return __isset_bit_vector.get(__USERID_ISSET_ID);
    }

    public void setUserIdIsSet(boolean value) {
      __isset_bit_vector.set(__USERID_ISSET_ID, value);
    }

    public long getCreditorId() {
      return this.creditorId;
    }

    public void setCreditorId(long creditorId) {
      this.creditorId = creditorId;
      setCreditorIdIsSet(true);
    }

    public void unsetCreditorId() {
      __isset_bit_vector.clear(__CREDITORID_ISSET_ID);
    }

    /** Returns true if field creditorId is set (has been assigned a value) and false otherwise */
    public boolean isSetCreditorId() {
      return __isset_bit_vector.get(__CREDITORID_ISSET_ID);
    }

    public void setCreditorIdIsSet(boolean value) {
      __isset_bit_vector.set(__CREDITORID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case USER_ID:
        if (value == null) {
          unsetUserId();
        } else {
          setUserId((Long)value);
        }
        break;

      case CREDITOR_ID:
        if (value == null) {
          unsetCreditorId();
        } else {
          setCreditorId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case USER_ID:
        return Long.valueOf(getUserId());

      case CREDITOR_ID:
        return Long.valueOf(getCreditorId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case USER_ID:
        return isSetUserId();
      case CREDITOR_ID:
        return isSetCreditorId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getUserSanctionDetailsForCreditor_args)
        return this.equals((getUserSanctionDetailsForCreditor_args)that);
      return false;
    }

    public boolean equals(getUserSanctionDetailsForCreditor_args that) {
      if (that == null)
        return false;

      boolean this_present_userId = true;
      boolean that_present_userId = true;
      if (this_present_userId || that_present_userId) {
        if (!(this_present_userId && that_present_userId))
          return false;
        if (this.userId != that.userId)
          return false;
      }

      boolean this_present_creditorId = true;
      boolean that_present_creditorId = true;
      if (this_present_creditorId || that_present_creditorId) {
        if (!(this_present_creditorId && that_present_creditorId))
          return false;
        if (this.creditorId != that.creditorId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getUserSanctionDetailsForCreditor_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getUserSanctionDetailsForCreditor_args typedOther = (getUserSanctionDetailsForCreditor_args)other;

      lastComparison = Boolean.valueOf(isSetUserId()).compareTo(typedOther.isSetUserId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetUserId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.userId, typedOther.userId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetCreditorId()).compareTo(typedOther.isSetCreditorId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetCreditorId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.creditorId, typedOther.creditorId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // USER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.userId = iprot.readI64();
              setUserIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case -1: // CREDITOR_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.creditorId = iprot.readI64();
              setCreditorIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(CREDITOR_ID_FIELD_DESC);
      oprot.writeI64(this.creditorId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(USER_ID_FIELD_DESC);
      oprot.writeI64(this.userId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getUserSanctionDetailsForCreditor_args(");
      boolean first = true;

      sb.append("userId:");
      sb.append(this.userId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("creditorId:");
      sb.append(this.creditorId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getUserSanctionDetailsForCreditor_result implements org.apache.thrift.TBase<getUserSanctionDetailsForCreditor_result, getUserSanctionDetailsForCreditor_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getUserSanctionDetailsForCreditor_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);

    private UserSanction success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, UserSanction.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getUserSanctionDetailsForCreditor_result.class, metaDataMap);
    }

    public getUserSanctionDetailsForCreditor_result() {
    }

    public getUserSanctionDetailsForCreditor_result(
      UserSanction success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getUserSanctionDetailsForCreditor_result(getUserSanctionDetailsForCreditor_result other) {
      if (other.isSetSuccess()) {
        this.success = new UserSanction(other.success);
      }
    }

    public getUserSanctionDetailsForCreditor_result deepCopy() {
      return new getUserSanctionDetailsForCreditor_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public UserSanction getSuccess() {
      return this.success;
    }

    public void setSuccess(UserSanction success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((UserSanction)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getUserSanctionDetailsForCreditor_result)
        return this.equals((getUserSanctionDetailsForCreditor_result)that);
      return false;
    }

    public boolean equals(getUserSanctionDetailsForCreditor_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getUserSanctionDetailsForCreditor_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getUserSanctionDetailsForCreditor_result typedOther = (getUserSanctionDetailsForCreditor_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.success = new UserSanction();
              this.success.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        this.success.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getUserSanctionDetailsForCreditor_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class updateUserSanction_args implements org.apache.thrift.TBase<updateUserSanction_args, updateUserSanction_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateUserSanction_args");

    private static final org.apache.thrift.protocol.TField USER_SANACTION_FIELD_DESC = new org.apache.thrift.protocol.TField("userSanaction", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private UserSanction userSanaction; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      USER_SANACTION((short)1, "userSanaction");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // USER_SANACTION
            return USER_SANACTION;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.USER_SANACTION, new org.apache.thrift.meta_data.FieldMetaData("userSanaction", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, UserSanction.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateUserSanction_args.class, metaDataMap);
    }

    public updateUserSanction_args() {
    }

    public updateUserSanction_args(
      UserSanction userSanaction)
    {
      this();
      this.userSanaction = userSanaction;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public updateUserSanction_args(updateUserSanction_args other) {
      if (other.isSetUserSanaction()) {
        this.userSanaction = new UserSanction(other.userSanaction);
      }
    }

    public updateUserSanction_args deepCopy() {
      return new updateUserSanction_args(this);
    }

    @Override
    public void clear() {
      this.userSanaction = null;
    }

    public UserSanction getUserSanaction() {
      return this.userSanaction;
    }

    public void setUserSanaction(UserSanction userSanaction) {
      this.userSanaction = userSanaction;
    }

    public void unsetUserSanaction() {
      this.userSanaction = null;
    }

    /** Returns true if field userSanaction is set (has been assigned a value) and false otherwise */
    public boolean isSetUserSanaction() {
      return this.userSanaction != null;
    }

    public void setUserSanactionIsSet(boolean value) {
      if (!value) {
        this.userSanaction = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case USER_SANACTION:
        if (value == null) {
          unsetUserSanaction();
        } else {
          setUserSanaction((UserSanction)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case USER_SANACTION:
        return getUserSanaction();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case USER_SANACTION:
        return isSetUserSanaction();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof updateUserSanction_args)
        return this.equals((updateUserSanction_args)that);
      return false;
    }

    public boolean equals(updateUserSanction_args that) {
      if (that == null)
        return false;

      boolean this_present_userSanaction = true && this.isSetUserSanaction();
      boolean that_present_userSanaction = true && that.isSetUserSanaction();
      if (this_present_userSanaction || that_present_userSanaction) {
        if (!(this_present_userSanaction && that_present_userSanaction))
          return false;
        if (!this.userSanaction.equals(that.userSanaction))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(updateUserSanction_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      updateUserSanction_args typedOther = (updateUserSanction_args)other;

      lastComparison = Boolean.valueOf(isSetUserSanaction()).compareTo(typedOther.isSetUserSanaction());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetUserSanaction()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.userSanaction, typedOther.userSanaction);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // USER_SANACTION
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.userSanaction = new UserSanction();
              this.userSanaction.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.userSanaction != null) {
        oprot.writeFieldBegin(USER_SANACTION_FIELD_DESC);
        this.userSanaction.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("updateUserSanction_args(");
      boolean first = true;

      sb.append("userSanaction:");
      if (this.userSanaction == null) {
        sb.append("null");
      } else {
        sb.append(this.userSanaction);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class updateUserSanction_result implements org.apache.thrift.TBase<updateUserSanction_result, updateUserSanction_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateUserSanction_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
    private static final org.apache.thrift.protocol.TField PE_FIELD_DESC = new org.apache.thrift.protocol.TField("pe", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private boolean success; // required
    private TransactionServiceException pe; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      PE((short)1, "pe");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // PE
            return PE;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      tmpMap.put(_Fields.PE, new org.apache.thrift.meta_data.FieldMetaData("pe", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateUserSanction_result.class, metaDataMap);
    }

    public updateUserSanction_result() {
    }

    public updateUserSanction_result(
      boolean success,
      TransactionServiceException pe)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
      this.pe = pe;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public updateUserSanction_result(updateUserSanction_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
      if (other.isSetPe()) {
        this.pe = new TransactionServiceException(other.pe);
      }
    }

    public updateUserSanction_result deepCopy() {
      return new updateUserSanction_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = false;
      this.pe = null;
    }

    public boolean isSuccess() {
      return this.success;
    }

    public void setSuccess(boolean success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public TransactionServiceException getPe() {
      return this.pe;
    }

    public void setPe(TransactionServiceException pe) {
      this.pe = pe;
    }

    public void unsetPe() {
      this.pe = null;
    }

    /** Returns true if field pe is set (has been assigned a value) and false otherwise */
    public boolean isSetPe() {
      return this.pe != null;
    }

    public void setPeIsSet(boolean value) {
      if (!value) {
        this.pe = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean)value);
        }
        break;

      case PE:
        if (value == null) {
          unsetPe();
        } else {
          setPe((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Boolean.valueOf(isSuccess());

      case PE:
        return getPe();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case PE:
        return isSetPe();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof updateUserSanction_result)
        return this.equals((updateUserSanction_result)that);
      return false;
    }

    public boolean equals(updateUserSanction_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      boolean this_present_pe = true && this.isSetPe();
      boolean that_present_pe = true && that.isSetPe();
      if (this_present_pe || that_present_pe) {
        if (!(this_present_pe && that_present_pe))
          return false;
        if (!this.pe.equals(that.pe))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(updateUserSanction_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      updateUserSanction_result typedOther = (updateUserSanction_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetPe()).compareTo(typedOther.isSetPe());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetPe()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.pe, typedOther.pe);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.success = iprot.readBool();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // PE
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.pe = new TransactionServiceException();
              this.pe.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBool(this.success);
        oprot.writeFieldEnd();
      } else if (this.isSetPe()) {
        oprot.writeFieldBegin(PE_FIELD_DESC);
        this.pe.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("updateUserSanction_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      if (!first) sb.append(", ");
      sb.append("pe:");
      if (this.pe == null) {
        sb.append("null");
      } else {
        sb.append(this.pe);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getCreditHistoryRecordsForTransaction_args implements org.apache.thrift.TBase<getCreditHistoryRecordsForTransaction_args, getCreditHistoryRecordsForTransaction_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getCreditHistoryRecordsForTransaction_args");

    private static final org.apache.thrift.protocol.TField PAYMENT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("paymentId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField CREDIT_TXN_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("creditTxnType", org.apache.thrift.protocol.TType.I32, (short)2);

    private long paymentId; // required
    private CreditTxnType creditTxnType; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      PAYMENT_ID((short)1, "paymentId"),
      /**
       * 
       * @see CreditTxnType
       */
      CREDIT_TXN_TYPE((short)2, "creditTxnType");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // PAYMENT_ID
            return PAYMENT_ID;
          case 2: // CREDIT_TXN_TYPE
            return CREDIT_TXN_TYPE;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __PAYMENTID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.PAYMENT_ID, new org.apache.thrift.meta_data.FieldMetaData("paymentId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.CREDIT_TXN_TYPE, new org.apache.thrift.meta_data.FieldMetaData("creditTxnType", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, CreditTxnType.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getCreditHistoryRecordsForTransaction_args.class, metaDataMap);
    }

    public getCreditHistoryRecordsForTransaction_args() {
    }

    public getCreditHistoryRecordsForTransaction_args(
      long paymentId,
      CreditTxnType creditTxnType)
    {
      this();
      this.paymentId = paymentId;
      setPaymentIdIsSet(true);
      this.creditTxnType = creditTxnType;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getCreditHistoryRecordsForTransaction_args(getCreditHistoryRecordsForTransaction_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.paymentId = other.paymentId;
      if (other.isSetCreditTxnType()) {
        this.creditTxnType = other.creditTxnType;
      }
    }

    public getCreditHistoryRecordsForTransaction_args deepCopy() {
      return new getCreditHistoryRecordsForTransaction_args(this);
    }

    @Override
    public void clear() {
      setPaymentIdIsSet(false);
      this.paymentId = 0;
      this.creditTxnType = null;
    }

    public long getPaymentId() {
      return this.paymentId;
    }

    public void setPaymentId(long paymentId) {
      this.paymentId = paymentId;
      setPaymentIdIsSet(true);
    }

    public void unsetPaymentId() {
      __isset_bit_vector.clear(__PAYMENTID_ISSET_ID);
    }

    /** Returns true if field paymentId is set (has been assigned a value) and false otherwise */
    public boolean isSetPaymentId() {
      return __isset_bit_vector.get(__PAYMENTID_ISSET_ID);
    }

    public void setPaymentIdIsSet(boolean value) {
      __isset_bit_vector.set(__PAYMENTID_ISSET_ID, value);
    }

    /**
     * 
     * @see CreditTxnType
     */
    public CreditTxnType getCreditTxnType() {
      return this.creditTxnType;
    }

    /**
     * 
     * @see CreditTxnType
     */
    public void setCreditTxnType(CreditTxnType creditTxnType) {
      this.creditTxnType = creditTxnType;
    }

    public void unsetCreditTxnType() {
      this.creditTxnType = null;
    }

    /** Returns true if field creditTxnType is set (has been assigned a value) and false otherwise */
    public boolean isSetCreditTxnType() {
      return this.creditTxnType != null;
    }

    public void setCreditTxnTypeIsSet(boolean value) {
      if (!value) {
        this.creditTxnType = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case PAYMENT_ID:
        if (value == null) {
          unsetPaymentId();
        } else {
          setPaymentId((Long)value);
        }
        break;

      case CREDIT_TXN_TYPE:
        if (value == null) {
          unsetCreditTxnType();
        } else {
          setCreditTxnType((CreditTxnType)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case PAYMENT_ID:
        return Long.valueOf(getPaymentId());

      case CREDIT_TXN_TYPE:
        return getCreditTxnType();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case PAYMENT_ID:
        return isSetPaymentId();
      case CREDIT_TXN_TYPE:
        return isSetCreditTxnType();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getCreditHistoryRecordsForTransaction_args)
        return this.equals((getCreditHistoryRecordsForTransaction_args)that);
      return false;
    }

    public boolean equals(getCreditHistoryRecordsForTransaction_args that) {
      if (that == null)
        return false;

      boolean this_present_paymentId = true;
      boolean that_present_paymentId = true;
      if (this_present_paymentId || that_present_paymentId) {
        if (!(this_present_paymentId && that_present_paymentId))
          return false;
        if (this.paymentId != that.paymentId)
          return false;
      }

      boolean this_present_creditTxnType = true && this.isSetCreditTxnType();
      boolean that_present_creditTxnType = true && that.isSetCreditTxnType();
      if (this_present_creditTxnType || that_present_creditTxnType) {
        if (!(this_present_creditTxnType && that_present_creditTxnType))
          return false;
        if (!this.creditTxnType.equals(that.creditTxnType))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getCreditHistoryRecordsForTransaction_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getCreditHistoryRecordsForTransaction_args typedOther = (getCreditHistoryRecordsForTransaction_args)other;

      lastComparison = Boolean.valueOf(isSetPaymentId()).compareTo(typedOther.isSetPaymentId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetPaymentId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.paymentId, typedOther.paymentId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetCreditTxnType()).compareTo(typedOther.isSetCreditTxnType());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetCreditTxnType()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.creditTxnType, typedOther.creditTxnType);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // PAYMENT_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.paymentId = iprot.readI64();
              setPaymentIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // CREDIT_TXN_TYPE
            if (field.type == org.apache.thrift.protocol.TType.I32) {
              this.creditTxnType = CreditTxnType.findByValue(iprot.readI32());
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(PAYMENT_ID_FIELD_DESC);
      oprot.writeI64(this.paymentId);
      oprot.writeFieldEnd();
      if (this.creditTxnType != null) {
        oprot.writeFieldBegin(CREDIT_TXN_TYPE_FIELD_DESC);
        oprot.writeI32(this.creditTxnType.getValue());
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getCreditHistoryRecordsForTransaction_args(");
      boolean first = true;

      sb.append("paymentId:");
      sb.append(this.paymentId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("creditTxnType:");
      if (this.creditTxnType == null) {
        sb.append("null");
      } else {
        sb.append(this.creditTxnType);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getCreditHistoryRecordsForTransaction_result implements org.apache.thrift.TBase<getCreditHistoryRecordsForTransaction_result, getCreditHistoryRecordsForTransaction_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getCreditHistoryRecordsForTransaction_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);

    private List<CreditHistory> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, CreditHistory.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getCreditHistoryRecordsForTransaction_result.class, metaDataMap);
    }

    public getCreditHistoryRecordsForTransaction_result() {
    }

    public getCreditHistoryRecordsForTransaction_result(
      List<CreditHistory> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getCreditHistoryRecordsForTransaction_result(getCreditHistoryRecordsForTransaction_result other) {
      if (other.isSetSuccess()) {
        List<CreditHistory> __this__success = new ArrayList<CreditHistory>();
        for (CreditHistory other_element : other.success) {
          __this__success.add(new CreditHistory(other_element));
        }
        this.success = __this__success;
      }
    }

    public getCreditHistoryRecordsForTransaction_result deepCopy() {
      return new getCreditHistoryRecordsForTransaction_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<CreditHistory> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(CreditHistory elem) {
      if (this.success == null) {
        this.success = new ArrayList<CreditHistory>();
      }
      this.success.add(elem);
    }

    public List<CreditHistory> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<CreditHistory> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<CreditHistory>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getCreditHistoryRecordsForTransaction_result)
        return this.equals((getCreditHistoryRecordsForTransaction_result)that);
      return false;
    }

    public boolean equals(getCreditHistoryRecordsForTransaction_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getCreditHistoryRecordsForTransaction_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getCreditHistoryRecordsForTransaction_result typedOther = (getCreditHistoryRecordsForTransaction_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list672 = iprot.readListBegin();
                this.success = new ArrayList<CreditHistory>(_list672.size);
                for (int _i673 = 0; _i673 < _list672.size; ++_i673)
                {
                  CreditHistory _elem674; // required
                  _elem674 = new CreditHistory();
                  _elem674.read(iprot);
                  this.success.add(_elem674);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (CreditHistory _iter675 : this.success)
          {
            _iter675.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getCreditHistoryRecordsForTransaction_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getCreditHistoryRecordsForUserAndCreditor_args implements org.apache.thrift.TBase<getCreditHistoryRecordsForUserAndCreditor_args, getCreditHistoryRecordsForUserAndCreditor_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getCreditHistoryRecordsForUserAndCreditor_args");

    private static final org.apache.thrift.protocol.TField USER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("userId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField CREDITOR_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("creditorId", org.apache.thrift.protocol.TType.I64, (short)2);
    private static final org.apache.thrift.protocol.TField CREDIT_TXN_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("creditTxnType", org.apache.thrift.protocol.TType.I32, (short)3);

    private long userId; // required
    private long creditorId; // required
    private CreditTxnType creditTxnType; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      USER_ID((short)1, "userId"),
      CREDITOR_ID((short)2, "creditorId"),
      /**
       * 
       * @see CreditTxnType
       */
      CREDIT_TXN_TYPE((short)3, "creditTxnType");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // USER_ID
            return USER_ID;
          case 2: // CREDITOR_ID
            return CREDITOR_ID;
          case 3: // CREDIT_TXN_TYPE
            return CREDIT_TXN_TYPE;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __USERID_ISSET_ID = 0;
    private static final int __CREDITORID_ISSET_ID = 1;
    private BitSet __isset_bit_vector = new BitSet(2);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.USER_ID, new org.apache.thrift.meta_data.FieldMetaData("userId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.CREDITOR_ID, new org.apache.thrift.meta_data.FieldMetaData("creditorId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.CREDIT_TXN_TYPE, new org.apache.thrift.meta_data.FieldMetaData("creditTxnType", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, CreditTxnType.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getCreditHistoryRecordsForUserAndCreditor_args.class, metaDataMap);
    }

    public getCreditHistoryRecordsForUserAndCreditor_args() {
    }

    public getCreditHistoryRecordsForUserAndCreditor_args(
      long userId,
      long creditorId,
      CreditTxnType creditTxnType)
    {
      this();
      this.userId = userId;
      setUserIdIsSet(true);
      this.creditorId = creditorId;
      setCreditorIdIsSet(true);
      this.creditTxnType = creditTxnType;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getCreditHistoryRecordsForUserAndCreditor_args(getCreditHistoryRecordsForUserAndCreditor_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.userId = other.userId;
      this.creditorId = other.creditorId;
      if (other.isSetCreditTxnType()) {
        this.creditTxnType = other.creditTxnType;
      }
    }

    public getCreditHistoryRecordsForUserAndCreditor_args deepCopy() {
      return new getCreditHistoryRecordsForUserAndCreditor_args(this);
    }

    @Override
    public void clear() {
      setUserIdIsSet(false);
      this.userId = 0;
      setCreditorIdIsSet(false);
      this.creditorId = 0;
      this.creditTxnType = null;
    }

    public long getUserId() {
      return this.userId;
    }

    public void setUserId(long userId) {
      this.userId = userId;
      setUserIdIsSet(true);
    }

    public void unsetUserId() {
      __isset_bit_vector.clear(__USERID_ISSET_ID);
    }

    /** Returns true if field userId is set (has been assigned a value) and false otherwise */
    public boolean isSetUserId() {
      return __isset_bit_vector.get(__USERID_ISSET_ID);
    }

    public void setUserIdIsSet(boolean value) {
      __isset_bit_vector.set(__USERID_ISSET_ID, value);
    }

    public long getCreditorId() {
      return this.creditorId;
    }

    public void setCreditorId(long creditorId) {
      this.creditorId = creditorId;
      setCreditorIdIsSet(true);
    }

    public void unsetCreditorId() {
      __isset_bit_vector.clear(__CREDITORID_ISSET_ID);
    }

    /** Returns true if field creditorId is set (has been assigned a value) and false otherwise */
    public boolean isSetCreditorId() {
      return __isset_bit_vector.get(__CREDITORID_ISSET_ID);
    }

    public void setCreditorIdIsSet(boolean value) {
      __isset_bit_vector.set(__CREDITORID_ISSET_ID, value);
    }

    /**
     * 
     * @see CreditTxnType
     */
    public CreditTxnType getCreditTxnType() {
      return this.creditTxnType;
    }

    /**
     * 
     * @see CreditTxnType
     */
    public void setCreditTxnType(CreditTxnType creditTxnType) {
      this.creditTxnType = creditTxnType;
    }

    public void unsetCreditTxnType() {
      this.creditTxnType = null;
    }

    /** Returns true if field creditTxnType is set (has been assigned a value) and false otherwise */
    public boolean isSetCreditTxnType() {
      return this.creditTxnType != null;
    }

    public void setCreditTxnTypeIsSet(boolean value) {
      if (!value) {
        this.creditTxnType = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case USER_ID:
        if (value == null) {
          unsetUserId();
        } else {
          setUserId((Long)value);
        }
        break;

      case CREDITOR_ID:
        if (value == null) {
          unsetCreditorId();
        } else {
          setCreditorId((Long)value);
        }
        break;

      case CREDIT_TXN_TYPE:
        if (value == null) {
          unsetCreditTxnType();
        } else {
          setCreditTxnType((CreditTxnType)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case USER_ID:
        return Long.valueOf(getUserId());

      case CREDITOR_ID:
        return Long.valueOf(getCreditorId());

      case CREDIT_TXN_TYPE:
        return getCreditTxnType();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case USER_ID:
        return isSetUserId();
      case CREDITOR_ID:
        return isSetCreditorId();
      case CREDIT_TXN_TYPE:
        return isSetCreditTxnType();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getCreditHistoryRecordsForUserAndCreditor_args)
        return this.equals((getCreditHistoryRecordsForUserAndCreditor_args)that);
      return false;
    }

    public boolean equals(getCreditHistoryRecordsForUserAndCreditor_args that) {
      if (that == null)
        return false;

      boolean this_present_userId = true;
      boolean that_present_userId = true;
      if (this_present_userId || that_present_userId) {
        if (!(this_present_userId && that_present_userId))
          return false;
        if (this.userId != that.userId)
          return false;
      }

      boolean this_present_creditorId = true;
      boolean that_present_creditorId = true;
      if (this_present_creditorId || that_present_creditorId) {
        if (!(this_present_creditorId && that_present_creditorId))
          return false;
        if (this.creditorId != that.creditorId)
          return false;
      }

      boolean this_present_creditTxnType = true && this.isSetCreditTxnType();
      boolean that_present_creditTxnType = true && that.isSetCreditTxnType();
      if (this_present_creditTxnType || that_present_creditTxnType) {
        if (!(this_present_creditTxnType && that_present_creditTxnType))
          return false;
        if (!this.creditTxnType.equals(that.creditTxnType))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getCreditHistoryRecordsForUserAndCreditor_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getCreditHistoryRecordsForUserAndCreditor_args typedOther = (getCreditHistoryRecordsForUserAndCreditor_args)other;

      lastComparison = Boolean.valueOf(isSetUserId()).compareTo(typedOther.isSetUserId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetUserId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.userId, typedOther.userId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetCreditorId()).compareTo(typedOther.isSetCreditorId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetCreditorId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.creditorId, typedOther.creditorId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetCreditTxnType()).compareTo(typedOther.isSetCreditTxnType());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetCreditTxnType()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.creditTxnType, typedOther.creditTxnType);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // USER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.userId = iprot.readI64();
              setUserIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // CREDITOR_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.creditorId = iprot.readI64();
              setCreditorIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // CREDIT_TXN_TYPE
            if (field.type == org.apache.thrift.protocol.TType.I32) {
              this.creditTxnType = CreditTxnType.findByValue(iprot.readI32());
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(USER_ID_FIELD_DESC);
      oprot.writeI64(this.userId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(CREDITOR_ID_FIELD_DESC);
      oprot.writeI64(this.creditorId);
      oprot.writeFieldEnd();
      if (this.creditTxnType != null) {
        oprot.writeFieldBegin(CREDIT_TXN_TYPE_FIELD_DESC);
        oprot.writeI32(this.creditTxnType.getValue());
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getCreditHistoryRecordsForUserAndCreditor_args(");
      boolean first = true;

      sb.append("userId:");
      sb.append(this.userId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("creditorId:");
      sb.append(this.creditorId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("creditTxnType:");
      if (this.creditTxnType == null) {
        sb.append("null");
      } else {
        sb.append(this.creditTxnType);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getCreditHistoryRecordsForUserAndCreditor_result implements org.apache.thrift.TBase<getCreditHistoryRecordsForUserAndCreditor_result, getCreditHistoryRecordsForUserAndCreditor_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getCreditHistoryRecordsForUserAndCreditor_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);

    private List<CreditHistory> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, CreditHistory.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getCreditHistoryRecordsForUserAndCreditor_result.class, metaDataMap);
    }

    public getCreditHistoryRecordsForUserAndCreditor_result() {
    }

    public getCreditHistoryRecordsForUserAndCreditor_result(
      List<CreditHistory> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getCreditHistoryRecordsForUserAndCreditor_result(getCreditHistoryRecordsForUserAndCreditor_result other) {
      if (other.isSetSuccess()) {
        List<CreditHistory> __this__success = new ArrayList<CreditHistory>();
        for (CreditHistory other_element : other.success) {
          __this__success.add(new CreditHistory(other_element));
        }
        this.success = __this__success;
      }
    }

    public getCreditHistoryRecordsForUserAndCreditor_result deepCopy() {
      return new getCreditHistoryRecordsForUserAndCreditor_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<CreditHistory> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(CreditHistory elem) {
      if (this.success == null) {
        this.success = new ArrayList<CreditHistory>();
      }
      this.success.add(elem);
    }

    public List<CreditHistory> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<CreditHistory> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<CreditHistory>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getCreditHistoryRecordsForUserAndCreditor_result)
        return this.equals((getCreditHistoryRecordsForUserAndCreditor_result)that);
      return false;
    }

    public boolean equals(getCreditHistoryRecordsForUserAndCreditor_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getCreditHistoryRecordsForUserAndCreditor_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getCreditHistoryRecordsForUserAndCreditor_result typedOther = (getCreditHistoryRecordsForUserAndCreditor_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list676 = iprot.readListBegin();
                this.success = new ArrayList<CreditHistory>(_list676.size);
                for (int _i677 = 0; _i677 < _list676.size; ++_i677)
                {
                  CreditHistory _elem678; // required
                  _elem678 = new CreditHistory();
                  _elem678.read(iprot);
                  this.success.add(_elem678);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (CreditHistory _iter679 : this.success)
          {
            _iter679.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getCreditHistoryRecordsForUserAndCreditor_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class processCreditTransaction_args implements org.apache.thrift.TBase<processCreditTransaction_args, processCreditTransaction_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("processCreditTransaction_args");

    private static final org.apache.thrift.protocol.TField PAYMENT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("paymentId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField USER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("userId", org.apache.thrift.protocol.TType.I64, (short)2);
    private static final org.apache.thrift.protocol.TField CREDITOR_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("creditorId", org.apache.thrift.protocol.TType.I64, (short)3);
    private static final org.apache.thrift.protocol.TField CREDIT_TXNS_FIELD_DESC = new org.apache.thrift.protocol.TField("creditTxns", org.apache.thrift.protocol.TType.LIST, (short)4);

    private long paymentId; // required
    private long userId; // required
    private long creditorId; // required
    private List<CreditHistory> creditTxns; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      PAYMENT_ID((short)1, "paymentId"),
      USER_ID((short)2, "userId"),
      CREDITOR_ID((short)3, "creditorId"),
      CREDIT_TXNS((short)4, "creditTxns");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // PAYMENT_ID
            return PAYMENT_ID;
          case 2: // USER_ID
            return USER_ID;
          case 3: // CREDITOR_ID
            return CREDITOR_ID;
          case 4: // CREDIT_TXNS
            return CREDIT_TXNS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __PAYMENTID_ISSET_ID = 0;
    private static final int __USERID_ISSET_ID = 1;
    private static final int __CREDITORID_ISSET_ID = 2;
    private BitSet __isset_bit_vector = new BitSet(3);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.PAYMENT_ID, new org.apache.thrift.meta_data.FieldMetaData("paymentId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.USER_ID, new org.apache.thrift.meta_data.FieldMetaData("userId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.CREDITOR_ID, new org.apache.thrift.meta_data.FieldMetaData("creditorId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.CREDIT_TXNS, new org.apache.thrift.meta_data.FieldMetaData("creditTxns", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, CreditHistory.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(processCreditTransaction_args.class, metaDataMap);
    }

    public processCreditTransaction_args() {
    }

    public processCreditTransaction_args(
      long paymentId,
      long userId,
      long creditorId,
      List<CreditHistory> creditTxns)
    {
      this();
      this.paymentId = paymentId;
      setPaymentIdIsSet(true);
      this.userId = userId;
      setUserIdIsSet(true);
      this.creditorId = creditorId;
      setCreditorIdIsSet(true);
      this.creditTxns = creditTxns;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public processCreditTransaction_args(processCreditTransaction_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.paymentId = other.paymentId;
      this.userId = other.userId;
      this.creditorId = other.creditorId;
      if (other.isSetCreditTxns()) {
        List<CreditHistory> __this__creditTxns = new ArrayList<CreditHistory>();
        for (CreditHistory other_element : other.creditTxns) {
          __this__creditTxns.add(new CreditHistory(other_element));
        }
        this.creditTxns = __this__creditTxns;
      }
    }

    public processCreditTransaction_args deepCopy() {
      return new processCreditTransaction_args(this);
    }

    @Override
    public void clear() {
      setPaymentIdIsSet(false);
      this.paymentId = 0;
      setUserIdIsSet(false);
      this.userId = 0;
      setCreditorIdIsSet(false);
      this.creditorId = 0;
      this.creditTxns = null;
    }

    public long getPaymentId() {
      return this.paymentId;
    }

    public void setPaymentId(long paymentId) {
      this.paymentId = paymentId;
      setPaymentIdIsSet(true);
    }

    public void unsetPaymentId() {
      __isset_bit_vector.clear(__PAYMENTID_ISSET_ID);
    }

    /** Returns true if field paymentId is set (has been assigned a value) and false otherwise */
    public boolean isSetPaymentId() {
      return __isset_bit_vector.get(__PAYMENTID_ISSET_ID);
    }

    public void setPaymentIdIsSet(boolean value) {
      __isset_bit_vector.set(__PAYMENTID_ISSET_ID, value);
    }

    public long getUserId() {
      return this.userId;
    }

    public void setUserId(long userId) {
      this.userId = userId;
      setUserIdIsSet(true);
    }

    public void unsetUserId() {
      __isset_bit_vector.clear(__USERID_ISSET_ID);
    }

    /** Returns true if field userId is set (has been assigned a value) and false otherwise */
    public boolean isSetUserId() {
      return __isset_bit_vector.get(__USERID_ISSET_ID);
    }

    public void setUserIdIsSet(boolean value) {
      __isset_bit_vector.set(__USERID_ISSET_ID, value);
    }

    public long getCreditorId() {
      return this.creditorId;
    }

    public void setCreditorId(long creditorId) {
      this.creditorId = creditorId;
      setCreditorIdIsSet(true);
    }

    public void unsetCreditorId() {
      __isset_bit_vector.clear(__CREDITORID_ISSET_ID);
    }

    /** Returns true if field creditorId is set (has been assigned a value) and false otherwise */
    public boolean isSetCreditorId() {
      return __isset_bit_vector.get(__CREDITORID_ISSET_ID);
    }

    public void setCreditorIdIsSet(boolean value) {
      __isset_bit_vector.set(__CREDITORID_ISSET_ID, value);
    }

    public int getCreditTxnsSize() {
      return (this.creditTxns == null) ? 0 : this.creditTxns.size();
    }

    public java.util.Iterator<CreditHistory> getCreditTxnsIterator() {
      return (this.creditTxns == null) ? null : this.creditTxns.iterator();
    }

    public void addToCreditTxns(CreditHistory elem) {
      if (this.creditTxns == null) {
        this.creditTxns = new ArrayList<CreditHistory>();
      }
      this.creditTxns.add(elem);
    }

    public List<CreditHistory> getCreditTxns() {
      return this.creditTxns;
    }

    public void setCreditTxns(List<CreditHistory> creditTxns) {
      this.creditTxns = creditTxns;
    }

    public void unsetCreditTxns() {
      this.creditTxns = null;
    }

    /** Returns true if field creditTxns is set (has been assigned a value) and false otherwise */
    public boolean isSetCreditTxns() {
      return this.creditTxns != null;
    }

    public void setCreditTxnsIsSet(boolean value) {
      if (!value) {
        this.creditTxns = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case PAYMENT_ID:
        if (value == null) {
          unsetPaymentId();
        } else {
          setPaymentId((Long)value);
        }
        break;

      case USER_ID:
        if (value == null) {
          unsetUserId();
        } else {
          setUserId((Long)value);
        }
        break;

      case CREDITOR_ID:
        if (value == null) {
          unsetCreditorId();
        } else {
          setCreditorId((Long)value);
        }
        break;

      case CREDIT_TXNS:
        if (value == null) {
          unsetCreditTxns();
        } else {
          setCreditTxns((List<CreditHistory>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case PAYMENT_ID:
        return Long.valueOf(getPaymentId());

      case USER_ID:
        return Long.valueOf(getUserId());

      case CREDITOR_ID:
        return Long.valueOf(getCreditorId());

      case CREDIT_TXNS:
        return getCreditTxns();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case PAYMENT_ID:
        return isSetPaymentId();
      case USER_ID:
        return isSetUserId();
      case CREDITOR_ID:
        return isSetCreditorId();
      case CREDIT_TXNS:
        return isSetCreditTxns();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof processCreditTransaction_args)
        return this.equals((processCreditTransaction_args)that);
      return false;
    }

    public boolean equals(processCreditTransaction_args that) {
      if (that == null)
        return false;

      boolean this_present_paymentId = true;
      boolean that_present_paymentId = true;
      if (this_present_paymentId || that_present_paymentId) {
        if (!(this_present_paymentId && that_present_paymentId))
          return false;
        if (this.paymentId != that.paymentId)
          return false;
      }

      boolean this_present_userId = true;
      boolean that_present_userId = true;
      if (this_present_userId || that_present_userId) {
        if (!(this_present_userId && that_present_userId))
          return false;
        if (this.userId != that.userId)
          return false;
      }

      boolean this_present_creditorId = true;
      boolean that_present_creditorId = true;
      if (this_present_creditorId || that_present_creditorId) {
        if (!(this_present_creditorId && that_present_creditorId))
          return false;
        if (this.creditorId != that.creditorId)
          return false;
      }

      boolean this_present_creditTxns = true && this.isSetCreditTxns();
      boolean that_present_creditTxns = true && that.isSetCreditTxns();
      if (this_present_creditTxns || that_present_creditTxns) {
        if (!(this_present_creditTxns && that_present_creditTxns))
          return false;
        if (!this.creditTxns.equals(that.creditTxns))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(processCreditTransaction_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      processCreditTransaction_args typedOther = (processCreditTransaction_args)other;

      lastComparison = Boolean.valueOf(isSetPaymentId()).compareTo(typedOther.isSetPaymentId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetPaymentId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.paymentId, typedOther.paymentId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetUserId()).compareTo(typedOther.isSetUserId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetUserId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.userId, typedOther.userId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetCreditorId()).compareTo(typedOther.isSetCreditorId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetCreditorId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.creditorId, typedOther.creditorId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetCreditTxns()).compareTo(typedOther.isSetCreditTxns());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetCreditTxns()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.creditTxns, typedOther.creditTxns);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // PAYMENT_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.paymentId = iprot.readI64();
              setPaymentIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // USER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.userId = iprot.readI64();
              setUserIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // CREDITOR_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.creditorId = iprot.readI64();
              setCreditorIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 4: // CREDIT_TXNS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list680 = iprot.readListBegin();
                this.creditTxns = new ArrayList<CreditHistory>(_list680.size);
                for (int _i681 = 0; _i681 < _list680.size; ++_i681)
                {
                  CreditHistory _elem682; // required
                  _elem682 = new CreditHistory();
                  _elem682.read(iprot);
                  this.creditTxns.add(_elem682);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(PAYMENT_ID_FIELD_DESC);
      oprot.writeI64(this.paymentId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(USER_ID_FIELD_DESC);
      oprot.writeI64(this.userId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(CREDITOR_ID_FIELD_DESC);
      oprot.writeI64(this.creditorId);
      oprot.writeFieldEnd();
      if (this.creditTxns != null) {
        oprot.writeFieldBegin(CREDIT_TXNS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.creditTxns.size()));
          for (CreditHistory _iter683 : this.creditTxns)
          {
            _iter683.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("processCreditTransaction_args(");
      boolean first = true;

      sb.append("paymentId:");
      sb.append(this.paymentId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("userId:");
      sb.append(this.userId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("creditorId:");
      sb.append(this.creditorId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("creditTxns:");
      if (this.creditTxns == null) {
        sb.append("null");
      } else {
        sb.append(this.creditTxns);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class processCreditTransaction_result implements org.apache.thrift.TBase<processCreditTransaction_result, processCreditTransaction_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("processCreditTransaction_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
    private static final org.apache.thrift.protocol.TField PE_FIELD_DESC = new org.apache.thrift.protocol.TField("pe", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private boolean success; // required
    private TransactionServiceException pe; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      PE((short)1, "pe");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // PE
            return PE;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      tmpMap.put(_Fields.PE, new org.apache.thrift.meta_data.FieldMetaData("pe", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(processCreditTransaction_result.class, metaDataMap);
    }

    public processCreditTransaction_result() {
    }

    public processCreditTransaction_result(
      boolean success,
      TransactionServiceException pe)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
      this.pe = pe;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public processCreditTransaction_result(processCreditTransaction_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
      if (other.isSetPe()) {
        this.pe = new TransactionServiceException(other.pe);
      }
    }

    public processCreditTransaction_result deepCopy() {
      return new processCreditTransaction_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = false;
      this.pe = null;
    }

    public boolean isSuccess() {
      return this.success;
    }

    public void setSuccess(boolean success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public TransactionServiceException getPe() {
      return this.pe;
    }

    public void setPe(TransactionServiceException pe) {
      this.pe = pe;
    }

    public void unsetPe() {
      this.pe = null;
    }

    /** Returns true if field pe is set (has been assigned a value) and false otherwise */
    public boolean isSetPe() {
      return this.pe != null;
    }

    public void setPeIsSet(boolean value) {
      if (!value) {
        this.pe = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean)value);
        }
        break;

      case PE:
        if (value == null) {
          unsetPe();
        } else {
          setPe((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Boolean.valueOf(isSuccess());

      case PE:
        return getPe();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case PE:
        return isSetPe();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof processCreditTransaction_result)
        return this.equals((processCreditTransaction_result)that);
      return false;
    }

    public boolean equals(processCreditTransaction_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      boolean this_present_pe = true && this.isSetPe();
      boolean that_present_pe = true && that.isSetPe();
      if (this_present_pe || that_present_pe) {
        if (!(this_present_pe && that_present_pe))
          return false;
        if (!this.pe.equals(that.pe))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(processCreditTransaction_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      processCreditTransaction_result typedOther = (processCreditTransaction_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetPe()).compareTo(typedOther.isSetPe());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetPe()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.pe, typedOther.pe);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.success = iprot.readBool();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // PE
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.pe = new TransactionServiceException();
              this.pe.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBool(this.success);
        oprot.writeFieldEnd();
      } else if (this.isSetPe()) {
        oprot.writeFieldBegin(PE_FIELD_DESC);
        this.pe.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("processCreditTransaction_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      if (!first) sb.append(", ");
      sb.append("pe:");
      if (this.pe == null) {
        sb.append("null");
      } else {
        sb.append(this.pe);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getLoanPayableForUserToCreditor_args implements org.apache.thrift.TBase<getLoanPayableForUserToCreditor_args, getLoanPayableForUserToCreditor_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getLoanPayableForUserToCreditor_args");

    private static final org.apache.thrift.protocol.TField USER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("userId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField CREDITOR_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("creditorId", org.apache.thrift.protocol.TType.I64, (short)2);
    private static final org.apache.thrift.protocol.TField DUE_DATE_FIELD_DESC = new org.apache.thrift.protocol.TField("dueDate", org.apache.thrift.protocol.TType.I64, (short)3);

    private long userId; // required
    private long creditorId; // required
    private long dueDate; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      USER_ID((short)1, "userId"),
      CREDITOR_ID((short)2, "creditorId"),
      DUE_DATE((short)3, "dueDate");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // USER_ID
            return USER_ID;
          case 2: // CREDITOR_ID
            return CREDITOR_ID;
          case 3: // DUE_DATE
            return DUE_DATE;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __USERID_ISSET_ID = 0;
    private static final int __CREDITORID_ISSET_ID = 1;
    private static final int __DUEDATE_ISSET_ID = 2;
    private BitSet __isset_bit_vector = new BitSet(3);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.USER_ID, new org.apache.thrift.meta_data.FieldMetaData("userId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.CREDITOR_ID, new org.apache.thrift.meta_data.FieldMetaData("creditorId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.DUE_DATE, new org.apache.thrift.meta_data.FieldMetaData("dueDate", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getLoanPayableForUserToCreditor_args.class, metaDataMap);
    }

    public getLoanPayableForUserToCreditor_args() {
    }

    public getLoanPayableForUserToCreditor_args(
      long userId,
      long creditorId,
      long dueDate)
    {
      this();
      this.userId = userId;
      setUserIdIsSet(true);
      this.creditorId = creditorId;
      setCreditorIdIsSet(true);
      this.dueDate = dueDate;
      setDueDateIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getLoanPayableForUserToCreditor_args(getLoanPayableForUserToCreditor_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.userId = other.userId;
      this.creditorId = other.creditorId;
      this.dueDate = other.dueDate;
    }

    public getLoanPayableForUserToCreditor_args deepCopy() {
      return new getLoanPayableForUserToCreditor_args(this);
    }

    @Override
    public void clear() {
      setUserIdIsSet(false);
      this.userId = 0;
      setCreditorIdIsSet(false);
      this.creditorId = 0;
      setDueDateIsSet(false);
      this.dueDate = 0;
    }

    public long getUserId() {
      return this.userId;
    }

    public void setUserId(long userId) {
      this.userId = userId;
      setUserIdIsSet(true);
    }

    public void unsetUserId() {
      __isset_bit_vector.clear(__USERID_ISSET_ID);
    }

    /** Returns true if field userId is set (has been assigned a value) and false otherwise */
    public boolean isSetUserId() {
      return __isset_bit_vector.get(__USERID_ISSET_ID);
    }

    public void setUserIdIsSet(boolean value) {
      __isset_bit_vector.set(__USERID_ISSET_ID, value);
    }

    public long getCreditorId() {
      return this.creditorId;
    }

    public void setCreditorId(long creditorId) {
      this.creditorId = creditorId;
      setCreditorIdIsSet(true);
    }

    public void unsetCreditorId() {
      __isset_bit_vector.clear(__CREDITORID_ISSET_ID);
    }

    /** Returns true if field creditorId is set (has been assigned a value) and false otherwise */
    public boolean isSetCreditorId() {
      return __isset_bit_vector.get(__CREDITORID_ISSET_ID);
    }

    public void setCreditorIdIsSet(boolean value) {
      __isset_bit_vector.set(__CREDITORID_ISSET_ID, value);
    }

    public long getDueDate() {
      return this.dueDate;
    }

    public void setDueDate(long dueDate) {
      this.dueDate = dueDate;
      setDueDateIsSet(true);
    }

    public void unsetDueDate() {
      __isset_bit_vector.clear(__DUEDATE_ISSET_ID);
    }

    /** Returns true if field dueDate is set (has been assigned a value) and false otherwise */
    public boolean isSetDueDate() {
      return __isset_bit_vector.get(__DUEDATE_ISSET_ID);
    }

    public void setDueDateIsSet(boolean value) {
      __isset_bit_vector.set(__DUEDATE_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case USER_ID:
        if (value == null) {
          unsetUserId();
        } else {
          setUserId((Long)value);
        }
        break;

      case CREDITOR_ID:
        if (value == null) {
          unsetCreditorId();
        } else {
          setCreditorId((Long)value);
        }
        break;

      case DUE_DATE:
        if (value == null) {
          unsetDueDate();
        } else {
          setDueDate((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case USER_ID:
        return Long.valueOf(getUserId());

      case CREDITOR_ID:
        return Long.valueOf(getCreditorId());

      case DUE_DATE:
        return Long.valueOf(getDueDate());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case USER_ID:
        return isSetUserId();
      case CREDITOR_ID:
        return isSetCreditorId();
      case DUE_DATE:
        return isSetDueDate();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getLoanPayableForUserToCreditor_args)
        return this.equals((getLoanPayableForUserToCreditor_args)that);
      return false;
    }

    public boolean equals(getLoanPayableForUserToCreditor_args that) {
      if (that == null)
        return false;

      boolean this_present_userId = true;
      boolean that_present_userId = true;
      if (this_present_userId || that_present_userId) {
        if (!(this_present_userId && that_present_userId))
          return false;
        if (this.userId != that.userId)
          return false;
      }

      boolean this_present_creditorId = true;
      boolean that_present_creditorId = true;
      if (this_present_creditorId || that_present_creditorId) {
        if (!(this_present_creditorId && that_present_creditorId))
          return false;
        if (this.creditorId != that.creditorId)
          return false;
      }

      boolean this_present_dueDate = true;
      boolean that_present_dueDate = true;
      if (this_present_dueDate || that_present_dueDate) {
        if (!(this_present_dueDate && that_present_dueDate))
          return false;
        if (this.dueDate != that.dueDate)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getLoanPayableForUserToCreditor_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getLoanPayableForUserToCreditor_args typedOther = (getLoanPayableForUserToCreditor_args)other;

      lastComparison = Boolean.valueOf(isSetUserId()).compareTo(typedOther.isSetUserId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetUserId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.userId, typedOther.userId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetCreditorId()).compareTo(typedOther.isSetCreditorId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetCreditorId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.creditorId, typedOther.creditorId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetDueDate()).compareTo(typedOther.isSetDueDate());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetDueDate()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.dueDate, typedOther.dueDate);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // USER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.userId = iprot.readI64();
              setUserIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // CREDITOR_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.creditorId = iprot.readI64();
              setCreditorIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // DUE_DATE
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.dueDate = iprot.readI64();
              setDueDateIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(USER_ID_FIELD_DESC);
      oprot.writeI64(this.userId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(CREDITOR_ID_FIELD_DESC);
      oprot.writeI64(this.creditorId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(DUE_DATE_FIELD_DESC);
      oprot.writeI64(this.dueDate);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getLoanPayableForUserToCreditor_args(");
      boolean first = true;

      sb.append("userId:");
      sb.append(this.userId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("creditorId:");
      sb.append(this.creditorId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("dueDate:");
      sb.append(this.dueDate);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getLoanPayableForUserToCreditor_result implements org.apache.thrift.TBase<getLoanPayableForUserToCreditor_result, getLoanPayableForUserToCreditor_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getLoanPayableForUserToCreditor_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.DOUBLE, (short)0);

    private double success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getLoanPayableForUserToCreditor_result.class, metaDataMap);
    }

    public getLoanPayableForUserToCreditor_result() {
    }

    public getLoanPayableForUserToCreditor_result(
      double success)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getLoanPayableForUserToCreditor_result(getLoanPayableForUserToCreditor_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
    }

    public getLoanPayableForUserToCreditor_result deepCopy() {
      return new getLoanPayableForUserToCreditor_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = 0.0;
    }

    public double getSuccess() {
      return this.success;
    }

    public void setSuccess(double success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Double)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Double.valueOf(getSuccess());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getLoanPayableForUserToCreditor_result)
        return this.equals((getLoanPayableForUserToCreditor_result)that);
      return false;
    }

    public boolean equals(getLoanPayableForUserToCreditor_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getLoanPayableForUserToCreditor_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getLoanPayableForUserToCreditor_result typedOther = (getLoanPayableForUserToCreditor_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.DOUBLE) {
              this.success = iprot.readDouble();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeDouble(this.success);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getLoanPayableForUserToCreditor_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getLoanHistoryRecordsForTransaction_args implements org.apache.thrift.TBase<getLoanHistoryRecordsForTransaction_args, getLoanHistoryRecordsForTransaction_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getLoanHistoryRecordsForTransaction_args");

    private static final org.apache.thrift.protocol.TField PAYMENT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("paymentId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField CREDIT_TXN_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("creditTxnType", org.apache.thrift.protocol.TType.I32, (short)2);

    private long paymentId; // required
    private CreditTxnType creditTxnType; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      PAYMENT_ID((short)1, "paymentId"),
      /**
       * 
       * @see CreditTxnType
       */
      CREDIT_TXN_TYPE((short)2, "creditTxnType");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // PAYMENT_ID
            return PAYMENT_ID;
          case 2: // CREDIT_TXN_TYPE
            return CREDIT_TXN_TYPE;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __PAYMENTID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.PAYMENT_ID, new org.apache.thrift.meta_data.FieldMetaData("paymentId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.CREDIT_TXN_TYPE, new org.apache.thrift.meta_data.FieldMetaData("creditTxnType", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, CreditTxnType.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getLoanHistoryRecordsForTransaction_args.class, metaDataMap);
    }

    public getLoanHistoryRecordsForTransaction_args() {
    }

    public getLoanHistoryRecordsForTransaction_args(
      long paymentId,
      CreditTxnType creditTxnType)
    {
      this();
      this.paymentId = paymentId;
      setPaymentIdIsSet(true);
      this.creditTxnType = creditTxnType;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getLoanHistoryRecordsForTransaction_args(getLoanHistoryRecordsForTransaction_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.paymentId = other.paymentId;
      if (other.isSetCreditTxnType()) {
        this.creditTxnType = other.creditTxnType;
      }
    }

    public getLoanHistoryRecordsForTransaction_args deepCopy() {
      return new getLoanHistoryRecordsForTransaction_args(this);
    }

    @Override
    public void clear() {
      setPaymentIdIsSet(false);
      this.paymentId = 0;
      this.creditTxnType = null;
    }

    public long getPaymentId() {
      return this.paymentId;
    }

    public void setPaymentId(long paymentId) {
      this.paymentId = paymentId;
      setPaymentIdIsSet(true);
    }

    public void unsetPaymentId() {
      __isset_bit_vector.clear(__PAYMENTID_ISSET_ID);
    }

    /** Returns true if field paymentId is set (has been assigned a value) and false otherwise */
    public boolean isSetPaymentId() {
      return __isset_bit_vector.get(__PAYMENTID_ISSET_ID);
    }

    public void setPaymentIdIsSet(boolean value) {
      __isset_bit_vector.set(__PAYMENTID_ISSET_ID, value);
    }

    /**
     * 
     * @see CreditTxnType
     */
    public CreditTxnType getCreditTxnType() {
      return this.creditTxnType;
    }

    /**
     * 
     * @see CreditTxnType
     */
    public void setCreditTxnType(CreditTxnType creditTxnType) {
      this.creditTxnType = creditTxnType;
    }

    public void unsetCreditTxnType() {
      this.creditTxnType = null;
    }

    /** Returns true if field creditTxnType is set (has been assigned a value) and false otherwise */
    public boolean isSetCreditTxnType() {
      return this.creditTxnType != null;
    }

    public void setCreditTxnTypeIsSet(boolean value) {
      if (!value) {
        this.creditTxnType = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case PAYMENT_ID:
        if (value == null) {
          unsetPaymentId();
        } else {
          setPaymentId((Long)value);
        }
        break;

      case CREDIT_TXN_TYPE:
        if (value == null) {
          unsetCreditTxnType();
        } else {
          setCreditTxnType((CreditTxnType)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case PAYMENT_ID:
        return Long.valueOf(getPaymentId());

      case CREDIT_TXN_TYPE:
        return getCreditTxnType();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case PAYMENT_ID:
        return isSetPaymentId();
      case CREDIT_TXN_TYPE:
        return isSetCreditTxnType();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getLoanHistoryRecordsForTransaction_args)
        return this.equals((getLoanHistoryRecordsForTransaction_args)that);
      return false;
    }

    public boolean equals(getLoanHistoryRecordsForTransaction_args that) {
      if (that == null)
        return false;

      boolean this_present_paymentId = true;
      boolean that_present_paymentId = true;
      if (this_present_paymentId || that_present_paymentId) {
        if (!(this_present_paymentId && that_present_paymentId))
          return false;
        if (this.paymentId != that.paymentId)
          return false;
      }

      boolean this_present_creditTxnType = true && this.isSetCreditTxnType();
      boolean that_present_creditTxnType = true && that.isSetCreditTxnType();
      if (this_present_creditTxnType || that_present_creditTxnType) {
        if (!(this_present_creditTxnType && that_present_creditTxnType))
          return false;
        if (!this.creditTxnType.equals(that.creditTxnType))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getLoanHistoryRecordsForTransaction_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getLoanHistoryRecordsForTransaction_args typedOther = (getLoanHistoryRecordsForTransaction_args)other;

      lastComparison = Boolean.valueOf(isSetPaymentId()).compareTo(typedOther.isSetPaymentId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetPaymentId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.paymentId, typedOther.paymentId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetCreditTxnType()).compareTo(typedOther.isSetCreditTxnType());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetCreditTxnType()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.creditTxnType, typedOther.creditTxnType);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // PAYMENT_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.paymentId = iprot.readI64();
              setPaymentIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // CREDIT_TXN_TYPE
            if (field.type == org.apache.thrift.protocol.TType.I32) {
              this.creditTxnType = CreditTxnType.findByValue(iprot.readI32());
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(PAYMENT_ID_FIELD_DESC);
      oprot.writeI64(this.paymentId);
      oprot.writeFieldEnd();
      if (this.creditTxnType != null) {
        oprot.writeFieldBegin(CREDIT_TXN_TYPE_FIELD_DESC);
        oprot.writeI32(this.creditTxnType.getValue());
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getLoanHistoryRecordsForTransaction_args(");
      boolean first = true;

      sb.append("paymentId:");
      sb.append(this.paymentId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("creditTxnType:");
      if (this.creditTxnType == null) {
        sb.append("null");
      } else {
        sb.append(this.creditTxnType);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getLoanHistoryRecordsForTransaction_result implements org.apache.thrift.TBase<getLoanHistoryRecordsForTransaction_result, getLoanHistoryRecordsForTransaction_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getLoanHistoryRecordsForTransaction_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);

    private List<LoanHistory> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, LoanHistory.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getLoanHistoryRecordsForTransaction_result.class, metaDataMap);
    }

    public getLoanHistoryRecordsForTransaction_result() {
    }

    public getLoanHistoryRecordsForTransaction_result(
      List<LoanHistory> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getLoanHistoryRecordsForTransaction_result(getLoanHistoryRecordsForTransaction_result other) {
      if (other.isSetSuccess()) {
        List<LoanHistory> __this__success = new ArrayList<LoanHistory>();
        for (LoanHistory other_element : other.success) {
          __this__success.add(new LoanHistory(other_element));
        }
        this.success = __this__success;
      }
    }

    public getLoanHistoryRecordsForTransaction_result deepCopy() {
      return new getLoanHistoryRecordsForTransaction_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<LoanHistory> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(LoanHistory elem) {
      if (this.success == null) {
        this.success = new ArrayList<LoanHistory>();
      }
      this.success.add(elem);
    }

    public List<LoanHistory> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<LoanHistory> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<LoanHistory>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getLoanHistoryRecordsForTransaction_result)
        return this.equals((getLoanHistoryRecordsForTransaction_result)that);
      return false;
    }

    public boolean equals(getLoanHistoryRecordsForTransaction_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getLoanHistoryRecordsForTransaction_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getLoanHistoryRecordsForTransaction_result typedOther = (getLoanHistoryRecordsForTransaction_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list684 = iprot.readListBegin();
                this.success = new ArrayList<LoanHistory>(_list684.size);
                for (int _i685 = 0; _i685 < _list684.size; ++_i685)
                {
                  LoanHistory _elem686; // required
                  _elem686 = new LoanHistory();
                  _elem686.read(iprot);
                  this.success.add(_elem686);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (LoanHistory _iter687 : this.success)
          {
            _iter687.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getLoanHistoryRecordsForTransaction_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getLoanHistoryRecordsForUserAndCreditor_args implements org.apache.thrift.TBase<getLoanHistoryRecordsForUserAndCreditor_args, getLoanHistoryRecordsForUserAndCreditor_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getLoanHistoryRecordsForUserAndCreditor_args");

    private static final org.apache.thrift.protocol.TField USER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("userId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField CREDITOR_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("creditorId", org.apache.thrift.protocol.TType.I64, (short)2);
    private static final org.apache.thrift.protocol.TField CREDIT_TXN_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("creditTxnType", org.apache.thrift.protocol.TType.I32, (short)3);

    private long userId; // required
    private long creditorId; // required
    private CreditTxnType creditTxnType; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      USER_ID((short)1, "userId"),
      CREDITOR_ID((short)2, "creditorId"),
      /**
       * 
       * @see CreditTxnType
       */
      CREDIT_TXN_TYPE((short)3, "creditTxnType");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // USER_ID
            return USER_ID;
          case 2: // CREDITOR_ID
            return CREDITOR_ID;
          case 3: // CREDIT_TXN_TYPE
            return CREDIT_TXN_TYPE;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __USERID_ISSET_ID = 0;
    private static final int __CREDITORID_ISSET_ID = 1;
    private BitSet __isset_bit_vector = new BitSet(2);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.USER_ID, new org.apache.thrift.meta_data.FieldMetaData("userId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.CREDITOR_ID, new org.apache.thrift.meta_data.FieldMetaData("creditorId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.CREDIT_TXN_TYPE, new org.apache.thrift.meta_data.FieldMetaData("creditTxnType", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, CreditTxnType.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getLoanHistoryRecordsForUserAndCreditor_args.class, metaDataMap);
    }

    public getLoanHistoryRecordsForUserAndCreditor_args() {
    }

    public getLoanHistoryRecordsForUserAndCreditor_args(
      long userId,
      long creditorId,
      CreditTxnType creditTxnType)
    {
      this();
      this.userId = userId;
      setUserIdIsSet(true);
      this.creditorId = creditorId;
      setCreditorIdIsSet(true);
      this.creditTxnType = creditTxnType;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getLoanHistoryRecordsForUserAndCreditor_args(getLoanHistoryRecordsForUserAndCreditor_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.userId = other.userId;
      this.creditorId = other.creditorId;
      if (other.isSetCreditTxnType()) {
        this.creditTxnType = other.creditTxnType;
      }
    }

    public getLoanHistoryRecordsForUserAndCreditor_args deepCopy() {
      return new getLoanHistoryRecordsForUserAndCreditor_args(this);
    }

    @Override
    public void clear() {
      setUserIdIsSet(false);
      this.userId = 0;
      setCreditorIdIsSet(false);
      this.creditorId = 0;
      this.creditTxnType = null;
    }

    public long getUserId() {
      return this.userId;
    }

    public void setUserId(long userId) {
      this.userId = userId;
      setUserIdIsSet(true);
    }

    public void unsetUserId() {
      __isset_bit_vector.clear(__USERID_ISSET_ID);
    }

    /** Returns true if field userId is set (has been assigned a value) and false otherwise */
    public boolean isSetUserId() {
      return __isset_bit_vector.get(__USERID_ISSET_ID);
    }

    public void setUserIdIsSet(boolean value) {
      __isset_bit_vector.set(__USERID_ISSET_ID, value);
    }

    public long getCreditorId() {
      return this.creditorId;
    }

    public void setCreditorId(long creditorId) {
      this.creditorId = creditorId;
      setCreditorIdIsSet(true);
    }

    public void unsetCreditorId() {
      __isset_bit_vector.clear(__CREDITORID_ISSET_ID);
    }

    /** Returns true if field creditorId is set (has been assigned a value) and false otherwise */
    public boolean isSetCreditorId() {
      return __isset_bit_vector.get(__CREDITORID_ISSET_ID);
    }

    public void setCreditorIdIsSet(boolean value) {
      __isset_bit_vector.set(__CREDITORID_ISSET_ID, value);
    }

    /**
     * 
     * @see CreditTxnType
     */
    public CreditTxnType getCreditTxnType() {
      return this.creditTxnType;
    }

    /**
     * 
     * @see CreditTxnType
     */
    public void setCreditTxnType(CreditTxnType creditTxnType) {
      this.creditTxnType = creditTxnType;
    }

    public void unsetCreditTxnType() {
      this.creditTxnType = null;
    }

    /** Returns true if field creditTxnType is set (has been assigned a value) and false otherwise */
    public boolean isSetCreditTxnType() {
      return this.creditTxnType != null;
    }

    public void setCreditTxnTypeIsSet(boolean value) {
      if (!value) {
        this.creditTxnType = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case USER_ID:
        if (value == null) {
          unsetUserId();
        } else {
          setUserId((Long)value);
        }
        break;

      case CREDITOR_ID:
        if (value == null) {
          unsetCreditorId();
        } else {
          setCreditorId((Long)value);
        }
        break;

      case CREDIT_TXN_TYPE:
        if (value == null) {
          unsetCreditTxnType();
        } else {
          setCreditTxnType((CreditTxnType)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case USER_ID:
        return Long.valueOf(getUserId());

      case CREDITOR_ID:
        return Long.valueOf(getCreditorId());

      case CREDIT_TXN_TYPE:
        return getCreditTxnType();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case USER_ID:
        return isSetUserId();
      case CREDITOR_ID:
        return isSetCreditorId();
      case CREDIT_TXN_TYPE:
        return isSetCreditTxnType();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getLoanHistoryRecordsForUserAndCreditor_args)
        return this.equals((getLoanHistoryRecordsForUserAndCreditor_args)that);
      return false;
    }

    public boolean equals(getLoanHistoryRecordsForUserAndCreditor_args that) {
      if (that == null)
        return false;

      boolean this_present_userId = true;
      boolean that_present_userId = true;
      if (this_present_userId || that_present_userId) {
        if (!(this_present_userId && that_present_userId))
          return false;
        if (this.userId != that.userId)
          return false;
      }

      boolean this_present_creditorId = true;
      boolean that_present_creditorId = true;
      if (this_present_creditorId || that_present_creditorId) {
        if (!(this_present_creditorId && that_present_creditorId))
          return false;
        if (this.creditorId != that.creditorId)
          return false;
      }

      boolean this_present_creditTxnType = true && this.isSetCreditTxnType();
      boolean that_present_creditTxnType = true && that.isSetCreditTxnType();
      if (this_present_creditTxnType || that_present_creditTxnType) {
        if (!(this_present_creditTxnType && that_present_creditTxnType))
          return false;
        if (!this.creditTxnType.equals(that.creditTxnType))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getLoanHistoryRecordsForUserAndCreditor_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getLoanHistoryRecordsForUserAndCreditor_args typedOther = (getLoanHistoryRecordsForUserAndCreditor_args)other;

      lastComparison = Boolean.valueOf(isSetUserId()).compareTo(typedOther.isSetUserId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetUserId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.userId, typedOther.userId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetCreditorId()).compareTo(typedOther.isSetCreditorId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetCreditorId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.creditorId, typedOther.creditorId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetCreditTxnType()).compareTo(typedOther.isSetCreditTxnType());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetCreditTxnType()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.creditTxnType, typedOther.creditTxnType);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // USER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.userId = iprot.readI64();
              setUserIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // CREDITOR_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.creditorId = iprot.readI64();
              setCreditorIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // CREDIT_TXN_TYPE
            if (field.type == org.apache.thrift.protocol.TType.I32) {
              this.creditTxnType = CreditTxnType.findByValue(iprot.readI32());
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(USER_ID_FIELD_DESC);
      oprot.writeI64(this.userId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(CREDITOR_ID_FIELD_DESC);
      oprot.writeI64(this.creditorId);
      oprot.writeFieldEnd();
      if (this.creditTxnType != null) {
        oprot.writeFieldBegin(CREDIT_TXN_TYPE_FIELD_DESC);
        oprot.writeI32(this.creditTxnType.getValue());
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getLoanHistoryRecordsForUserAndCreditor_args(");
      boolean first = true;

      sb.append("userId:");
      sb.append(this.userId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("creditorId:");
      sb.append(this.creditorId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("creditTxnType:");
      if (this.creditTxnType == null) {
        sb.append("null");
      } else {
        sb.append(this.creditTxnType);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getLoanHistoryRecordsForUserAndCreditor_result implements org.apache.thrift.TBase<getLoanHistoryRecordsForUserAndCreditor_result, getLoanHistoryRecordsForUserAndCreditor_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getLoanHistoryRecordsForUserAndCreditor_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);

    private List<LoanHistory> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, LoanHistory.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getLoanHistoryRecordsForUserAndCreditor_result.class, metaDataMap);
    }

    public getLoanHistoryRecordsForUserAndCreditor_result() {
    }

    public getLoanHistoryRecordsForUserAndCreditor_result(
      List<LoanHistory> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getLoanHistoryRecordsForUserAndCreditor_result(getLoanHistoryRecordsForUserAndCreditor_result other) {
      if (other.isSetSuccess()) {
        List<LoanHistory> __this__success = new ArrayList<LoanHistory>();
        for (LoanHistory other_element : other.success) {
          __this__success.add(new LoanHistory(other_element));
        }
        this.success = __this__success;
      }
    }

    public getLoanHistoryRecordsForUserAndCreditor_result deepCopy() {
      return new getLoanHistoryRecordsForUserAndCreditor_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<LoanHistory> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(LoanHistory elem) {
      if (this.success == null) {
        this.success = new ArrayList<LoanHistory>();
      }
      this.success.add(elem);
    }

    public List<LoanHistory> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<LoanHistory> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<LoanHistory>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getLoanHistoryRecordsForUserAndCreditor_result)
        return this.equals((getLoanHistoryRecordsForUserAndCreditor_result)that);
      return false;
    }

    public boolean equals(getLoanHistoryRecordsForUserAndCreditor_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getLoanHistoryRecordsForUserAndCreditor_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getLoanHistoryRecordsForUserAndCreditor_result typedOther = (getLoanHistoryRecordsForUserAndCreditor_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list688 = iprot.readListBegin();
                this.success = new ArrayList<LoanHistory>(_list688.size);
                for (int _i689 = 0; _i689 < _list688.size; ++_i689)
                {
                  LoanHistory _elem690; // required
                  _elem690 = new LoanHistory();
                  _elem690.read(iprot);
                  this.success.add(_elem690);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (LoanHistory _iter691 : this.success)
          {
            _iter691.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getLoanHistoryRecordsForUserAndCreditor_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class processLoanTransaction_args implements org.apache.thrift.TBase<processLoanTransaction_args, processLoanTransaction_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("processLoanTransaction_args");

    private static final org.apache.thrift.protocol.TField PAYMENT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("paymentId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField USER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("userId", org.apache.thrift.protocol.TType.I64, (short)2);
    private static final org.apache.thrift.protocol.TField CREDITOR_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("creditorId", org.apache.thrift.protocol.TType.I64, (short)3);
    private static final org.apache.thrift.protocol.TField CREDIT_TXNS_FIELD_DESC = new org.apache.thrift.protocol.TField("creditTxns", org.apache.thrift.protocol.TType.LIST, (short)4);

    private long paymentId; // required
    private long userId; // required
    private long creditorId; // required
    private List<LoanHistory> creditTxns; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      PAYMENT_ID((short)1, "paymentId"),
      USER_ID((short)2, "userId"),
      CREDITOR_ID((short)3, "creditorId"),
      CREDIT_TXNS((short)4, "creditTxns");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // PAYMENT_ID
            return PAYMENT_ID;
          case 2: // USER_ID
            return USER_ID;
          case 3: // CREDITOR_ID
            return CREDITOR_ID;
          case 4: // CREDIT_TXNS
            return CREDIT_TXNS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __PAYMENTID_ISSET_ID = 0;
    private static final int __USERID_ISSET_ID = 1;
    private static final int __CREDITORID_ISSET_ID = 2;
    private BitSet __isset_bit_vector = new BitSet(3);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.PAYMENT_ID, new org.apache.thrift.meta_data.FieldMetaData("paymentId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.USER_ID, new org.apache.thrift.meta_data.FieldMetaData("userId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.CREDITOR_ID, new org.apache.thrift.meta_data.FieldMetaData("creditorId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.CREDIT_TXNS, new org.apache.thrift.meta_data.FieldMetaData("creditTxns", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, LoanHistory.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(processLoanTransaction_args.class, metaDataMap);
    }

    public processLoanTransaction_args() {
    }

    public processLoanTransaction_args(
      long paymentId,
      long userId,
      long creditorId,
      List<LoanHistory> creditTxns)
    {
      this();
      this.paymentId = paymentId;
      setPaymentIdIsSet(true);
      this.userId = userId;
      setUserIdIsSet(true);
      this.creditorId = creditorId;
      setCreditorIdIsSet(true);
      this.creditTxns = creditTxns;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public processLoanTransaction_args(processLoanTransaction_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.paymentId = other.paymentId;
      this.userId = other.userId;
      this.creditorId = other.creditorId;
      if (other.isSetCreditTxns()) {
        List<LoanHistory> __this__creditTxns = new ArrayList<LoanHistory>();
        for (LoanHistory other_element : other.creditTxns) {
          __this__creditTxns.add(new LoanHistory(other_element));
        }
        this.creditTxns = __this__creditTxns;
      }
    }

    public processLoanTransaction_args deepCopy() {
      return new processLoanTransaction_args(this);
    }

    @Override
    public void clear() {
      setPaymentIdIsSet(false);
      this.paymentId = 0;
      setUserIdIsSet(false);
      this.userId = 0;
      setCreditorIdIsSet(false);
      this.creditorId = 0;
      this.creditTxns = null;
    }

    public long getPaymentId() {
      return this.paymentId;
    }

    public void setPaymentId(long paymentId) {
      this.paymentId = paymentId;
      setPaymentIdIsSet(true);
    }

    public void unsetPaymentId() {
      __isset_bit_vector.clear(__PAYMENTID_ISSET_ID);
    }

    /** Returns true if field paymentId is set (has been assigned a value) and false otherwise */
    public boolean isSetPaymentId() {
      return __isset_bit_vector.get(__PAYMENTID_ISSET_ID);
    }

    public void setPaymentIdIsSet(boolean value) {
      __isset_bit_vector.set(__PAYMENTID_ISSET_ID, value);
    }

    public long getUserId() {
      return this.userId;
    }

    public void setUserId(long userId) {
      this.userId = userId;
      setUserIdIsSet(true);
    }

    public void unsetUserId() {
      __isset_bit_vector.clear(__USERID_ISSET_ID);
    }

    /** Returns true if field userId is set (has been assigned a value) and false otherwise */
    public boolean isSetUserId() {
      return __isset_bit_vector.get(__USERID_ISSET_ID);
    }

    public void setUserIdIsSet(boolean value) {
      __isset_bit_vector.set(__USERID_ISSET_ID, value);
    }

    public long getCreditorId() {
      return this.creditorId;
    }

    public void setCreditorId(long creditorId) {
      this.creditorId = creditorId;
      setCreditorIdIsSet(true);
    }

    public void unsetCreditorId() {
      __isset_bit_vector.clear(__CREDITORID_ISSET_ID);
    }

    /** Returns true if field creditorId is set (has been assigned a value) and false otherwise */
    public boolean isSetCreditorId() {
      return __isset_bit_vector.get(__CREDITORID_ISSET_ID);
    }

    public void setCreditorIdIsSet(boolean value) {
      __isset_bit_vector.set(__CREDITORID_ISSET_ID, value);
    }

    public int getCreditTxnsSize() {
      return (this.creditTxns == null) ? 0 : this.creditTxns.size();
    }

    public java.util.Iterator<LoanHistory> getCreditTxnsIterator() {
      return (this.creditTxns == null) ? null : this.creditTxns.iterator();
    }

    public void addToCreditTxns(LoanHistory elem) {
      if (this.creditTxns == null) {
        this.creditTxns = new ArrayList<LoanHistory>();
      }
      this.creditTxns.add(elem);
    }

    public List<LoanHistory> getCreditTxns() {
      return this.creditTxns;
    }

    public void setCreditTxns(List<LoanHistory> creditTxns) {
      this.creditTxns = creditTxns;
    }

    public void unsetCreditTxns() {
      this.creditTxns = null;
    }

    /** Returns true if field creditTxns is set (has been assigned a value) and false otherwise */
    public boolean isSetCreditTxns() {
      return this.creditTxns != null;
    }

    public void setCreditTxnsIsSet(boolean value) {
      if (!value) {
        this.creditTxns = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case PAYMENT_ID:
        if (value == null) {
          unsetPaymentId();
        } else {
          setPaymentId((Long)value);
        }
        break;

      case USER_ID:
        if (value == null) {
          unsetUserId();
        } else {
          setUserId((Long)value);
        }
        break;

      case CREDITOR_ID:
        if (value == null) {
          unsetCreditorId();
        } else {
          setCreditorId((Long)value);
        }
        break;

      case CREDIT_TXNS:
        if (value == null) {
          unsetCreditTxns();
        } else {
          setCreditTxns((List<LoanHistory>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case PAYMENT_ID:
        return Long.valueOf(getPaymentId());

      case USER_ID:
        return Long.valueOf(getUserId());

      case CREDITOR_ID:
        return Long.valueOf(getCreditorId());

      case CREDIT_TXNS:
        return getCreditTxns();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case PAYMENT_ID:
        return isSetPaymentId();
      case USER_ID:
        return isSetUserId();
      case CREDITOR_ID:
        return isSetCreditorId();
      case CREDIT_TXNS:
        return isSetCreditTxns();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof processLoanTransaction_args)
        return this.equals((processLoanTransaction_args)that);
      return false;
    }

    public boolean equals(processLoanTransaction_args that) {
      if (that == null)
        return false;

      boolean this_present_paymentId = true;
      boolean that_present_paymentId = true;
      if (this_present_paymentId || that_present_paymentId) {
        if (!(this_present_paymentId && that_present_paymentId))
          return false;
        if (this.paymentId != that.paymentId)
          return false;
      }

      boolean this_present_userId = true;
      boolean that_present_userId = true;
      if (this_present_userId || that_present_userId) {
        if (!(this_present_userId && that_present_userId))
          return false;
        if (this.userId != that.userId)
          return false;
      }

      boolean this_present_creditorId = true;
      boolean that_present_creditorId = true;
      if (this_present_creditorId || that_present_creditorId) {
        if (!(this_present_creditorId && that_present_creditorId))
          return false;
        if (this.creditorId != that.creditorId)
          return false;
      }

      boolean this_present_creditTxns = true && this.isSetCreditTxns();
      boolean that_present_creditTxns = true && that.isSetCreditTxns();
      if (this_present_creditTxns || that_present_creditTxns) {
        if (!(this_present_creditTxns && that_present_creditTxns))
          return false;
        if (!this.creditTxns.equals(that.creditTxns))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(processLoanTransaction_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      processLoanTransaction_args typedOther = (processLoanTransaction_args)other;

      lastComparison = Boolean.valueOf(isSetPaymentId()).compareTo(typedOther.isSetPaymentId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetPaymentId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.paymentId, typedOther.paymentId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetUserId()).compareTo(typedOther.isSetUserId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetUserId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.userId, typedOther.userId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetCreditorId()).compareTo(typedOther.isSetCreditorId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetCreditorId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.creditorId, typedOther.creditorId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetCreditTxns()).compareTo(typedOther.isSetCreditTxns());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetCreditTxns()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.creditTxns, typedOther.creditTxns);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // PAYMENT_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.paymentId = iprot.readI64();
              setPaymentIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // USER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.userId = iprot.readI64();
              setUserIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // CREDITOR_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.creditorId = iprot.readI64();
              setCreditorIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 4: // CREDIT_TXNS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list692 = iprot.readListBegin();
                this.creditTxns = new ArrayList<LoanHistory>(_list692.size);
                for (int _i693 = 0; _i693 < _list692.size; ++_i693)
                {
                  LoanHistory _elem694; // required
                  _elem694 = new LoanHistory();
                  _elem694.read(iprot);
                  this.creditTxns.add(_elem694);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(PAYMENT_ID_FIELD_DESC);
      oprot.writeI64(this.paymentId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(USER_ID_FIELD_DESC);
      oprot.writeI64(this.userId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(CREDITOR_ID_FIELD_DESC);
      oprot.writeI64(this.creditorId);
      oprot.writeFieldEnd();
      if (this.creditTxns != null) {
        oprot.writeFieldBegin(CREDIT_TXNS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.creditTxns.size()));
          for (LoanHistory _iter695 : this.creditTxns)
          {
            _iter695.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("processLoanTransaction_args(");
      boolean first = true;

      sb.append("paymentId:");
      sb.append(this.paymentId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("userId:");
      sb.append(this.userId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("creditorId:");
      sb.append(this.creditorId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("creditTxns:");
      if (this.creditTxns == null) {
        sb.append("null");
      } else {
        sb.append(this.creditTxns);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class processLoanTransaction_result implements org.apache.thrift.TBase<processLoanTransaction_result, processLoanTransaction_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("processLoanTransaction_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
    private static final org.apache.thrift.protocol.TField PE_FIELD_DESC = new org.apache.thrift.protocol.TField("pe", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private boolean success; // required
    private TransactionServiceException pe; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      PE((short)1, "pe");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // PE
            return PE;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      tmpMap.put(_Fields.PE, new org.apache.thrift.meta_data.FieldMetaData("pe", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(processLoanTransaction_result.class, metaDataMap);
    }

    public processLoanTransaction_result() {
    }

    public processLoanTransaction_result(
      boolean success,
      TransactionServiceException pe)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
      this.pe = pe;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public processLoanTransaction_result(processLoanTransaction_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
      if (other.isSetPe()) {
        this.pe = new TransactionServiceException(other.pe);
      }
    }

    public processLoanTransaction_result deepCopy() {
      return new processLoanTransaction_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = false;
      this.pe = null;
    }

    public boolean isSuccess() {
      return this.success;
    }

    public void setSuccess(boolean success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public TransactionServiceException getPe() {
      return this.pe;
    }

    public void setPe(TransactionServiceException pe) {
      this.pe = pe;
    }

    public void unsetPe() {
      this.pe = null;
    }

    /** Returns true if field pe is set (has been assigned a value) and false otherwise */
    public boolean isSetPe() {
      return this.pe != null;
    }

    public void setPeIsSet(boolean value) {
      if (!value) {
        this.pe = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean)value);
        }
        break;

      case PE:
        if (value == null) {
          unsetPe();
        } else {
          setPe((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Boolean.valueOf(isSuccess());

      case PE:
        return getPe();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case PE:
        return isSetPe();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof processLoanTransaction_result)
        return this.equals((processLoanTransaction_result)that);
      return false;
    }

    public boolean equals(processLoanTransaction_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      boolean this_present_pe = true && this.isSetPe();
      boolean that_present_pe = true && that.isSetPe();
      if (this_present_pe || that_present_pe) {
        if (!(this_present_pe && that_present_pe))
          return false;
        if (!this.pe.equals(that.pe))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(processLoanTransaction_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      processLoanTransaction_result typedOther = (processLoanTransaction_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetPe()).compareTo(typedOther.isSetPe());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetPe()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.pe, typedOther.pe);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.success = iprot.readBool();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // PE
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.pe = new TransactionServiceException();
              this.pe.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBool(this.success);
        oprot.writeFieldEnd();
      } else if (this.isSetPe()) {
        oprot.writeFieldBegin(PE_FIELD_DESC);
        this.pe.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("processLoanTransaction_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      if (!first) sb.append(", ");
      sb.append("pe:");
      if (this.pe == null) {
        sb.append("null");
      } else {
        sb.append(this.pe);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getLimitedCreditHistoryRecords_args implements org.apache.thrift.TBase<getLimitedCreditHistoryRecords_args, getLimitedCreditHistoryRecords_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getLimitedCreditHistoryRecords_args");

    private static final org.apache.thrift.protocol.TField PAYMENT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("paymentId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField USER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("userId", org.apache.thrift.protocol.TType.I64, (short)2);
    private static final org.apache.thrift.protocol.TField CREDITOR_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("creditorId", org.apache.thrift.protocol.TType.I64, (short)3);
    private static final org.apache.thrift.protocol.TField LIMIT_FIELD_DESC = new org.apache.thrift.protocol.TField("limit", org.apache.thrift.protocol.TType.I64, (short)4);
    private static final org.apache.thrift.protocol.TField OFFSET_FIELD_DESC = new org.apache.thrift.protocol.TField("offset", org.apache.thrift.protocol.TType.I64, (short)5);

    private long paymentId; // required
    private long userId; // required
    private long creditorId; // required
    private long limit; // required
    private long offset; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      PAYMENT_ID((short)1, "paymentId"),
      USER_ID((short)2, "userId"),
      CREDITOR_ID((short)3, "creditorId"),
      LIMIT((short)4, "limit"),
      OFFSET((short)5, "offset");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // PAYMENT_ID
            return PAYMENT_ID;
          case 2: // USER_ID
            return USER_ID;
          case 3: // CREDITOR_ID
            return CREDITOR_ID;
          case 4: // LIMIT
            return LIMIT;
          case 5: // OFFSET
            return OFFSET;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __PAYMENTID_ISSET_ID = 0;
    private static final int __USERID_ISSET_ID = 1;
    private static final int __CREDITORID_ISSET_ID = 2;
    private static final int __LIMIT_ISSET_ID = 3;
    private static final int __OFFSET_ISSET_ID = 4;
    private BitSet __isset_bit_vector = new BitSet(5);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.PAYMENT_ID, new org.apache.thrift.meta_data.FieldMetaData("paymentId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.USER_ID, new org.apache.thrift.meta_data.FieldMetaData("userId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.CREDITOR_ID, new org.apache.thrift.meta_data.FieldMetaData("creditorId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.LIMIT, new org.apache.thrift.meta_data.FieldMetaData("limit", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.OFFSET, new org.apache.thrift.meta_data.FieldMetaData("offset", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getLimitedCreditHistoryRecords_args.class, metaDataMap);
    }

    public getLimitedCreditHistoryRecords_args() {
    }

    public getLimitedCreditHistoryRecords_args(
      long paymentId,
      long userId,
      long creditorId,
      long limit,
      long offset)
    {
      this();
      this.paymentId = paymentId;
      setPaymentIdIsSet(true);
      this.userId = userId;
      setUserIdIsSet(true);
      this.creditorId = creditorId;
      setCreditorIdIsSet(true);
      this.limit = limit;
      setLimitIsSet(true);
      this.offset = offset;
      setOffsetIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getLimitedCreditHistoryRecords_args(getLimitedCreditHistoryRecords_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.paymentId = other.paymentId;
      this.userId = other.userId;
      this.creditorId = other.creditorId;
      this.limit = other.limit;
      this.offset = other.offset;
    }

    public getLimitedCreditHistoryRecords_args deepCopy() {
      return new getLimitedCreditHistoryRecords_args(this);
    }

    @Override
    public void clear() {
      setPaymentIdIsSet(false);
      this.paymentId = 0;
      setUserIdIsSet(false);
      this.userId = 0;
      setCreditorIdIsSet(false);
      this.creditorId = 0;
      setLimitIsSet(false);
      this.limit = 0;
      setOffsetIsSet(false);
      this.offset = 0;
    }

    public long getPaymentId() {
      return this.paymentId;
    }

    public void setPaymentId(long paymentId) {
      this.paymentId = paymentId;
      setPaymentIdIsSet(true);
    }

    public void unsetPaymentId() {
      __isset_bit_vector.clear(__PAYMENTID_ISSET_ID);
    }

    /** Returns true if field paymentId is set (has been assigned a value) and false otherwise */
    public boolean isSetPaymentId() {
      return __isset_bit_vector.get(__PAYMENTID_ISSET_ID);
    }

    public void setPaymentIdIsSet(boolean value) {
      __isset_bit_vector.set(__PAYMENTID_ISSET_ID, value);
    }

    public long getUserId() {
      return this.userId;
    }

    public void setUserId(long userId) {
      this.userId = userId;
      setUserIdIsSet(true);
    }

    public void unsetUserId() {
      __isset_bit_vector.clear(__USERID_ISSET_ID);
    }

    /** Returns true if field userId is set (has been assigned a value) and false otherwise */
    public boolean isSetUserId() {
      return __isset_bit_vector.get(__USERID_ISSET_ID);
    }

    public void setUserIdIsSet(boolean value) {
      __isset_bit_vector.set(__USERID_ISSET_ID, value);
    }

    public long getCreditorId() {
      return this.creditorId;
    }

    public void setCreditorId(long creditorId) {
      this.creditorId = creditorId;
      setCreditorIdIsSet(true);
    }

    public void unsetCreditorId() {
      __isset_bit_vector.clear(__CREDITORID_ISSET_ID);
    }

    /** Returns true if field creditorId is set (has been assigned a value) and false otherwise */
    public boolean isSetCreditorId() {
      return __isset_bit_vector.get(__CREDITORID_ISSET_ID);
    }

    public void setCreditorIdIsSet(boolean value) {
      __isset_bit_vector.set(__CREDITORID_ISSET_ID, value);
    }

    public long getLimit() {
      return this.limit;
    }

    public void setLimit(long limit) {
      this.limit = limit;
      setLimitIsSet(true);
    }

    public void unsetLimit() {
      __isset_bit_vector.clear(__LIMIT_ISSET_ID);
    }

    /** Returns true if field limit is set (has been assigned a value) and false otherwise */
    public boolean isSetLimit() {
      return __isset_bit_vector.get(__LIMIT_ISSET_ID);
    }

    public void setLimitIsSet(boolean value) {
      __isset_bit_vector.set(__LIMIT_ISSET_ID, value);
    }

    public long getOffset() {
      return this.offset;
    }

    public void setOffset(long offset) {
      this.offset = offset;
      setOffsetIsSet(true);
    }

    public void unsetOffset() {
      __isset_bit_vector.clear(__OFFSET_ISSET_ID);
    }

    /** Returns true if field offset is set (has been assigned a value) and false otherwise */
    public boolean isSetOffset() {
      return __isset_bit_vector.get(__OFFSET_ISSET_ID);
    }

    public void setOffsetIsSet(boolean value) {
      __isset_bit_vector.set(__OFFSET_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case PAYMENT_ID:
        if (value == null) {
          unsetPaymentId();
        } else {
          setPaymentId((Long)value);
        }
        break;

      case USER_ID:
        if (value == null) {
          unsetUserId();
        } else {
          setUserId((Long)value);
        }
        break;

      case CREDITOR_ID:
        if (value == null) {
          unsetCreditorId();
        } else {
          setCreditorId((Long)value);
        }
        break;

      case LIMIT:
        if (value == null) {
          unsetLimit();
        } else {
          setLimit((Long)value);
        }
        break;

      case OFFSET:
        if (value == null) {
          unsetOffset();
        } else {
          setOffset((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case PAYMENT_ID:
        return Long.valueOf(getPaymentId());

      case USER_ID:
        return Long.valueOf(getUserId());

      case CREDITOR_ID:
        return Long.valueOf(getCreditorId());

      case LIMIT:
        return Long.valueOf(getLimit());

      case OFFSET:
        return Long.valueOf(getOffset());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case PAYMENT_ID:
        return isSetPaymentId();
      case USER_ID:
        return isSetUserId();
      case CREDITOR_ID:
        return isSetCreditorId();
      case LIMIT:
        return isSetLimit();
      case OFFSET:
        return isSetOffset();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getLimitedCreditHistoryRecords_args)
        return this.equals((getLimitedCreditHistoryRecords_args)that);
      return false;
    }

    public boolean equals(getLimitedCreditHistoryRecords_args that) {
      if (that == null)
        return false;

      boolean this_present_paymentId = true;
      boolean that_present_paymentId = true;
      if (this_present_paymentId || that_present_paymentId) {
        if (!(this_present_paymentId && that_present_paymentId))
          return false;
        if (this.paymentId != that.paymentId)
          return false;
      }

      boolean this_present_userId = true;
      boolean that_present_userId = true;
      if (this_present_userId || that_present_userId) {
        if (!(this_present_userId && that_present_userId))
          return false;
        if (this.userId != that.userId)
          return false;
      }

      boolean this_present_creditorId = true;
      boolean that_present_creditorId = true;
      if (this_present_creditorId || that_present_creditorId) {
        if (!(this_present_creditorId && that_present_creditorId))
          return false;
        if (this.creditorId != that.creditorId)
          return false;
      }

      boolean this_present_limit = true;
      boolean that_present_limit = true;
      if (this_present_limit || that_present_limit) {
        if (!(this_present_limit && that_present_limit))
          return false;
        if (this.limit != that.limit)
          return false;
      }

      boolean this_present_offset = true;
      boolean that_present_offset = true;
      if (this_present_offset || that_present_offset) {
        if (!(this_present_offset && that_present_offset))
          return false;
        if (this.offset != that.offset)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getLimitedCreditHistoryRecords_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getLimitedCreditHistoryRecords_args typedOther = (getLimitedCreditHistoryRecords_args)other;

      lastComparison = Boolean.valueOf(isSetPaymentId()).compareTo(typedOther.isSetPaymentId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetPaymentId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.paymentId, typedOther.paymentId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetUserId()).compareTo(typedOther.isSetUserId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetUserId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.userId, typedOther.userId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetCreditorId()).compareTo(typedOther.isSetCreditorId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetCreditorId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.creditorId, typedOther.creditorId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetLimit()).compareTo(typedOther.isSetLimit());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetLimit()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.limit, typedOther.limit);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetOffset()).compareTo(typedOther.isSetOffset());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOffset()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.offset, typedOther.offset);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // PAYMENT_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.paymentId = iprot.readI64();
              setPaymentIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // USER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.userId = iprot.readI64();
              setUserIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // CREDITOR_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.creditorId = iprot.readI64();
              setCreditorIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 4: // LIMIT
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.limit = iprot.readI64();
              setLimitIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 5: // OFFSET
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.offset = iprot.readI64();
              setOffsetIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(PAYMENT_ID_FIELD_DESC);
      oprot.writeI64(this.paymentId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(USER_ID_FIELD_DESC);
      oprot.writeI64(this.userId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(CREDITOR_ID_FIELD_DESC);
      oprot.writeI64(this.creditorId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(LIMIT_FIELD_DESC);
      oprot.writeI64(this.limit);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(OFFSET_FIELD_DESC);
      oprot.writeI64(this.offset);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getLimitedCreditHistoryRecords_args(");
      boolean first = true;

      sb.append("paymentId:");
      sb.append(this.paymentId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("userId:");
      sb.append(this.userId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("creditorId:");
      sb.append(this.creditorId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("limit:");
      sb.append(this.limit);
      first = false;
      if (!first) sb.append(", ");
      sb.append("offset:");
      sb.append(this.offset);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getLimitedCreditHistoryRecords_result implements org.apache.thrift.TBase<getLimitedCreditHistoryRecords_result, getLimitedCreditHistoryRecords_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getLimitedCreditHistoryRecords_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);

    private PaginatedCreditHistory success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, PaginatedCreditHistory.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getLimitedCreditHistoryRecords_result.class, metaDataMap);
    }

    public getLimitedCreditHistoryRecords_result() {
    }

    public getLimitedCreditHistoryRecords_result(
      PaginatedCreditHistory success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getLimitedCreditHistoryRecords_result(getLimitedCreditHistoryRecords_result other) {
      if (other.isSetSuccess()) {
        this.success = new PaginatedCreditHistory(other.success);
      }
    }

    public getLimitedCreditHistoryRecords_result deepCopy() {
      return new getLimitedCreditHistoryRecords_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public PaginatedCreditHistory getSuccess() {
      return this.success;
    }

    public void setSuccess(PaginatedCreditHistory success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((PaginatedCreditHistory)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getLimitedCreditHistoryRecords_result)
        return this.equals((getLimitedCreditHistoryRecords_result)that);
      return false;
    }

    public boolean equals(getLimitedCreditHistoryRecords_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getLimitedCreditHistoryRecords_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getLimitedCreditHistoryRecords_result typedOther = (getLimitedCreditHistoryRecords_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.success = new PaginatedCreditHistory();
              this.success.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        this.success.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getLimitedCreditHistoryRecords_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getLimitedLoanHistoryRecords_args implements org.apache.thrift.TBase<getLimitedLoanHistoryRecords_args, getLimitedLoanHistoryRecords_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getLimitedLoanHistoryRecords_args");

    private static final org.apache.thrift.protocol.TField PAYMENT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("paymentId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField USER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("userId", org.apache.thrift.protocol.TType.I64, (short)2);
    private static final org.apache.thrift.protocol.TField CREDITOR_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("creditorId", org.apache.thrift.protocol.TType.I64, (short)3);
    private static final org.apache.thrift.protocol.TField LIMIT_FIELD_DESC = new org.apache.thrift.protocol.TField("limit", org.apache.thrift.protocol.TType.I64, (short)4);
    private static final org.apache.thrift.protocol.TField OFFSET_FIELD_DESC = new org.apache.thrift.protocol.TField("offset", org.apache.thrift.protocol.TType.I64, (short)5);

    private long paymentId; // required
    private long userId; // required
    private long creditorId; // required
    private long limit; // required
    private long offset; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      PAYMENT_ID((short)1, "paymentId"),
      USER_ID((short)2, "userId"),
      CREDITOR_ID((short)3, "creditorId"),
      LIMIT((short)4, "limit"),
      OFFSET((short)5, "offset");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // PAYMENT_ID
            return PAYMENT_ID;
          case 2: // USER_ID
            return USER_ID;
          case 3: // CREDITOR_ID
            return CREDITOR_ID;
          case 4: // LIMIT
            return LIMIT;
          case 5: // OFFSET
            return OFFSET;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __PAYMENTID_ISSET_ID = 0;
    private static final int __USERID_ISSET_ID = 1;
    private static final int __CREDITORID_ISSET_ID = 2;
    private static final int __LIMIT_ISSET_ID = 3;
    private static final int __OFFSET_ISSET_ID = 4;
    private BitSet __isset_bit_vector = new BitSet(5);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.PAYMENT_ID, new org.apache.thrift.meta_data.FieldMetaData("paymentId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.USER_ID, new org.apache.thrift.meta_data.FieldMetaData("userId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.CREDITOR_ID, new org.apache.thrift.meta_data.FieldMetaData("creditorId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.LIMIT, new org.apache.thrift.meta_data.FieldMetaData("limit", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.OFFSET, new org.apache.thrift.meta_data.FieldMetaData("offset", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getLimitedLoanHistoryRecords_args.class, metaDataMap);
    }

    public getLimitedLoanHistoryRecords_args() {
    }

    public getLimitedLoanHistoryRecords_args(
      long paymentId,
      long userId,
      long creditorId,
      long limit,
      long offset)
    {
      this();
      this.paymentId = paymentId;
      setPaymentIdIsSet(true);
      this.userId = userId;
      setUserIdIsSet(true);
      this.creditorId = creditorId;
      setCreditorIdIsSet(true);
      this.limit = limit;
      setLimitIsSet(true);
      this.offset = offset;
      setOffsetIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getLimitedLoanHistoryRecords_args(getLimitedLoanHistoryRecords_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.paymentId = other.paymentId;
      this.userId = other.userId;
      this.creditorId = other.creditorId;
      this.limit = other.limit;
      this.offset = other.offset;
    }

    public getLimitedLoanHistoryRecords_args deepCopy() {
      return new getLimitedLoanHistoryRecords_args(this);
    }

    @Override
    public void clear() {
      setPaymentIdIsSet(false);
      this.paymentId = 0;
      setUserIdIsSet(false);
      this.userId = 0;
      setCreditorIdIsSet(false);
      this.creditorId = 0;
      setLimitIsSet(false);
      this.limit = 0;
      setOffsetIsSet(false);
      this.offset = 0;
    }

    public long getPaymentId() {
      return this.paymentId;
    }

    public void setPaymentId(long paymentId) {
      this.paymentId = paymentId;
      setPaymentIdIsSet(true);
    }

    public void unsetPaymentId() {
      __isset_bit_vector.clear(__PAYMENTID_ISSET_ID);
    }

    /** Returns true if field paymentId is set (has been assigned a value) and false otherwise */
    public boolean isSetPaymentId() {
      return __isset_bit_vector.get(__PAYMENTID_ISSET_ID);
    }

    public void setPaymentIdIsSet(boolean value) {
      __isset_bit_vector.set(__PAYMENTID_ISSET_ID, value);
    }

    public long getUserId() {
      return this.userId;
    }

    public void setUserId(long userId) {
      this.userId = userId;
      setUserIdIsSet(true);
    }

    public void unsetUserId() {
      __isset_bit_vector.clear(__USERID_ISSET_ID);
    }

    /** Returns true if field userId is set (has been assigned a value) and false otherwise */
    public boolean isSetUserId() {
      return __isset_bit_vector.get(__USERID_ISSET_ID);
    }

    public void setUserIdIsSet(boolean value) {
      __isset_bit_vector.set(__USERID_ISSET_ID, value);
    }

    public long getCreditorId() {
      return this.creditorId;
    }

    public void setCreditorId(long creditorId) {
      this.creditorId = creditorId;
      setCreditorIdIsSet(true);
    }

    public void unsetCreditorId() {
      __isset_bit_vector.clear(__CREDITORID_ISSET_ID);
    }

    /** Returns true if field creditorId is set (has been assigned a value) and false otherwise */
    public boolean isSetCreditorId() {
      return __isset_bit_vector.get(__CREDITORID_ISSET_ID);
    }

    public void setCreditorIdIsSet(boolean value) {
      __isset_bit_vector.set(__CREDITORID_ISSET_ID, value);
    }

    public long getLimit() {
      return this.limit;
    }

    public void setLimit(long limit) {
      this.limit = limit;
      setLimitIsSet(true);
    }

    public void unsetLimit() {
      __isset_bit_vector.clear(__LIMIT_ISSET_ID);
    }

    /** Returns true if field limit is set (has been assigned a value) and false otherwise */
    public boolean isSetLimit() {
      return __isset_bit_vector.get(__LIMIT_ISSET_ID);
    }

    public void setLimitIsSet(boolean value) {
      __isset_bit_vector.set(__LIMIT_ISSET_ID, value);
    }

    public long getOffset() {
      return this.offset;
    }

    public void setOffset(long offset) {
      this.offset = offset;
      setOffsetIsSet(true);
    }

    public void unsetOffset() {
      __isset_bit_vector.clear(__OFFSET_ISSET_ID);
    }

    /** Returns true if field offset is set (has been assigned a value) and false otherwise */
    public boolean isSetOffset() {
      return __isset_bit_vector.get(__OFFSET_ISSET_ID);
    }

    public void setOffsetIsSet(boolean value) {
      __isset_bit_vector.set(__OFFSET_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case PAYMENT_ID:
        if (value == null) {
          unsetPaymentId();
        } else {
          setPaymentId((Long)value);
        }
        break;

      case USER_ID:
        if (value == null) {
          unsetUserId();
        } else {
          setUserId((Long)value);
        }
        break;

      case CREDITOR_ID:
        if (value == null) {
          unsetCreditorId();
        } else {
          setCreditorId((Long)value);
        }
        break;

      case LIMIT:
        if (value == null) {
          unsetLimit();
        } else {
          setLimit((Long)value);
        }
        break;

      case OFFSET:
        if (value == null) {
          unsetOffset();
        } else {
          setOffset((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case PAYMENT_ID:
        return Long.valueOf(getPaymentId());

      case USER_ID:
        return Long.valueOf(getUserId());

      case CREDITOR_ID:
        return Long.valueOf(getCreditorId());

      case LIMIT:
        return Long.valueOf(getLimit());

      case OFFSET:
        return Long.valueOf(getOffset());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case PAYMENT_ID:
        return isSetPaymentId();
      case USER_ID:
        return isSetUserId();
      case CREDITOR_ID:
        return isSetCreditorId();
      case LIMIT:
        return isSetLimit();
      case OFFSET:
        return isSetOffset();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getLimitedLoanHistoryRecords_args)
        return this.equals((getLimitedLoanHistoryRecords_args)that);
      return false;
    }

    public boolean equals(getLimitedLoanHistoryRecords_args that) {
      if (that == null)
        return false;

      boolean this_present_paymentId = true;
      boolean that_present_paymentId = true;
      if (this_present_paymentId || that_present_paymentId) {
        if (!(this_present_paymentId && that_present_paymentId))
          return false;
        if (this.paymentId != that.paymentId)
          return false;
      }

      boolean this_present_userId = true;
      boolean that_present_userId = true;
      if (this_present_userId || that_present_userId) {
        if (!(this_present_userId && that_present_userId))
          return false;
        if (this.userId != that.userId)
          return false;
      }

      boolean this_present_creditorId = true;
      boolean that_present_creditorId = true;
      if (this_present_creditorId || that_present_creditorId) {
        if (!(this_present_creditorId && that_present_creditorId))
          return false;
        if (this.creditorId != that.creditorId)
          return false;
      }

      boolean this_present_limit = true;
      boolean that_present_limit = true;
      if (this_present_limit || that_present_limit) {
        if (!(this_present_limit && that_present_limit))
          return false;
        if (this.limit != that.limit)
          return false;
      }

      boolean this_present_offset = true;
      boolean that_present_offset = true;
      if (this_present_offset || that_present_offset) {
        if (!(this_present_offset && that_present_offset))
          return false;
        if (this.offset != that.offset)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getLimitedLoanHistoryRecords_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getLimitedLoanHistoryRecords_args typedOther = (getLimitedLoanHistoryRecords_args)other;

      lastComparison = Boolean.valueOf(isSetPaymentId()).compareTo(typedOther.isSetPaymentId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetPaymentId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.paymentId, typedOther.paymentId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetUserId()).compareTo(typedOther.isSetUserId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetUserId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.userId, typedOther.userId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetCreditorId()).compareTo(typedOther.isSetCreditorId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetCreditorId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.creditorId, typedOther.creditorId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetLimit()).compareTo(typedOther.isSetLimit());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetLimit()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.limit, typedOther.limit);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetOffset()).compareTo(typedOther.isSetOffset());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOffset()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.offset, typedOther.offset);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // PAYMENT_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.paymentId = iprot.readI64();
              setPaymentIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // USER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.userId = iprot.readI64();
              setUserIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // CREDITOR_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.creditorId = iprot.readI64();
              setCreditorIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 4: // LIMIT
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.limit = iprot.readI64();
              setLimitIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 5: // OFFSET
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.offset = iprot.readI64();
              setOffsetIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(PAYMENT_ID_FIELD_DESC);
      oprot.writeI64(this.paymentId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(USER_ID_FIELD_DESC);
      oprot.writeI64(this.userId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(CREDITOR_ID_FIELD_DESC);
      oprot.writeI64(this.creditorId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(LIMIT_FIELD_DESC);
      oprot.writeI64(this.limit);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(OFFSET_FIELD_DESC);
      oprot.writeI64(this.offset);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getLimitedLoanHistoryRecords_args(");
      boolean first = true;

      sb.append("paymentId:");
      sb.append(this.paymentId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("userId:");
      sb.append(this.userId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("creditorId:");
      sb.append(this.creditorId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("limit:");
      sb.append(this.limit);
      first = false;
      if (!first) sb.append(", ");
      sb.append("offset:");
      sb.append(this.offset);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getLimitedLoanHistoryRecords_result implements org.apache.thrift.TBase<getLimitedLoanHistoryRecords_result, getLimitedLoanHistoryRecords_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getLimitedLoanHistoryRecords_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);

    private PaginatedLoanHistory success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, PaginatedLoanHistory.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getLimitedLoanHistoryRecords_result.class, metaDataMap);
    }

    public getLimitedLoanHistoryRecords_result() {
    }

    public getLimitedLoanHistoryRecords_result(
      PaginatedLoanHistory success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getLimitedLoanHistoryRecords_result(getLimitedLoanHistoryRecords_result other) {
      if (other.isSetSuccess()) {
        this.success = new PaginatedLoanHistory(other.success);
      }
    }

    public getLimitedLoanHistoryRecords_result deepCopy() {
      return new getLimitedLoanHistoryRecords_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public PaginatedLoanHistory getSuccess() {
      return this.success;
    }

    public void setSuccess(PaginatedLoanHistory success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((PaginatedLoanHistory)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getLimitedLoanHistoryRecords_result)
        return this.equals((getLimitedLoanHistoryRecords_result)that);
      return false;
    }

    public boolean equals(getLimitedLoanHistoryRecords_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getLimitedLoanHistoryRecords_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getLimitedLoanHistoryRecords_result typedOther = (getLimitedLoanHistoryRecords_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.success = new PaginatedLoanHistory();
              this.success.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        this.success.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getLimitedLoanHistoryRecords_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getUserSanctionsDetailsAsPerLimit_args implements org.apache.thrift.TBase<getUserSanctionsDetailsAsPerLimit_args, getUserSanctionsDetailsAsPerLimit_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getUserSanctionsDetailsAsPerLimit_args");

    private static final org.apache.thrift.protocol.TField USER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("userId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField CREDITOR_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("creditorId", org.apache.thrift.protocol.TType.I64, (short)2);
    private static final org.apache.thrift.protocol.TField LIMIT_FIELD_DESC = new org.apache.thrift.protocol.TField("limit", org.apache.thrift.protocol.TType.I64, (short)3);
    private static final org.apache.thrift.protocol.TField OFFSET_FIELD_DESC = new org.apache.thrift.protocol.TField("offset", org.apache.thrift.protocol.TType.I64, (short)4);
    private static final org.apache.thrift.protocol.TField SORT_FIELD_DESC = new org.apache.thrift.protocol.TField("sort", org.apache.thrift.protocol.TType.STRING, (short)5);

    private long userId; // required
    private long creditorId; // required
    private long limit; // required
    private long offset; // required
    private String sort; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      USER_ID((short)1, "userId"),
      CREDITOR_ID((short)2, "creditorId"),
      LIMIT((short)3, "limit"),
      OFFSET((short)4, "offset"),
      SORT((short)5, "sort");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // USER_ID
            return USER_ID;
          case 2: // CREDITOR_ID
            return CREDITOR_ID;
          case 3: // LIMIT
            return LIMIT;
          case 4: // OFFSET
            return OFFSET;
          case 5: // SORT
            return SORT;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __USERID_ISSET_ID = 0;
    private static final int __CREDITORID_ISSET_ID = 1;
    private static final int __LIMIT_ISSET_ID = 2;
    private static final int __OFFSET_ISSET_ID = 3;
    private BitSet __isset_bit_vector = new BitSet(4);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.USER_ID, new org.apache.thrift.meta_data.FieldMetaData("userId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.CREDITOR_ID, new org.apache.thrift.meta_data.FieldMetaData("creditorId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.LIMIT, new org.apache.thrift.meta_data.FieldMetaData("limit", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.OFFSET, new org.apache.thrift.meta_data.FieldMetaData("offset", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.SORT, new org.apache.thrift.meta_data.FieldMetaData("sort", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getUserSanctionsDetailsAsPerLimit_args.class, metaDataMap);
    }

    public getUserSanctionsDetailsAsPerLimit_args() {
    }

    public getUserSanctionsDetailsAsPerLimit_args(
      long userId,
      long creditorId,
      long limit,
      long offset,
      String sort)
    {
      this();
      this.userId = userId;
      setUserIdIsSet(true);
      this.creditorId = creditorId;
      setCreditorIdIsSet(true);
      this.limit = limit;
      setLimitIsSet(true);
      this.offset = offset;
      setOffsetIsSet(true);
      this.sort = sort;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getUserSanctionsDetailsAsPerLimit_args(getUserSanctionsDetailsAsPerLimit_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.userId = other.userId;
      this.creditorId = other.creditorId;
      this.limit = other.limit;
      this.offset = other.offset;
      if (other.isSetSort()) {
        this.sort = other.sort;
      }
    }

    public getUserSanctionsDetailsAsPerLimit_args deepCopy() {
      return new getUserSanctionsDetailsAsPerLimit_args(this);
    }

    @Override
    public void clear() {
      setUserIdIsSet(false);
      this.userId = 0;
      setCreditorIdIsSet(false);
      this.creditorId = 0;
      setLimitIsSet(false);
      this.limit = 0;
      setOffsetIsSet(false);
      this.offset = 0;
      this.sort = null;
    }

    public long getUserId() {
      return this.userId;
    }

    public void setUserId(long userId) {
      this.userId = userId;
      setUserIdIsSet(true);
    }

    public void unsetUserId() {
      __isset_bit_vector.clear(__USERID_ISSET_ID);
    }

    /** Returns true if field userId is set (has been assigned a value) and false otherwise */
    public boolean isSetUserId() {
      return __isset_bit_vector.get(__USERID_ISSET_ID);
    }

    public void setUserIdIsSet(boolean value) {
      __isset_bit_vector.set(__USERID_ISSET_ID, value);
    }

    public long getCreditorId() {
      return this.creditorId;
    }

    public void setCreditorId(long creditorId) {
      this.creditorId = creditorId;
      setCreditorIdIsSet(true);
    }

    public void unsetCreditorId() {
      __isset_bit_vector.clear(__CREDITORID_ISSET_ID);
    }

    /** Returns true if field creditorId is set (has been assigned a value) and false otherwise */
    public boolean isSetCreditorId() {
      return __isset_bit_vector.get(__CREDITORID_ISSET_ID);
    }

    public void setCreditorIdIsSet(boolean value) {
      __isset_bit_vector.set(__CREDITORID_ISSET_ID, value);
    }

    public long getLimit() {
      return this.limit;
    }

    public void setLimit(long limit) {
      this.limit = limit;
      setLimitIsSet(true);
    }

    public void unsetLimit() {
      __isset_bit_vector.clear(__LIMIT_ISSET_ID);
    }

    /** Returns true if field limit is set (has been assigned a value) and false otherwise */
    public boolean isSetLimit() {
      return __isset_bit_vector.get(__LIMIT_ISSET_ID);
    }

    public void setLimitIsSet(boolean value) {
      __isset_bit_vector.set(__LIMIT_ISSET_ID, value);
    }

    public long getOffset() {
      return this.offset;
    }

    public void setOffset(long offset) {
      this.offset = offset;
      setOffsetIsSet(true);
    }

    public void unsetOffset() {
      __isset_bit_vector.clear(__OFFSET_ISSET_ID);
    }

    /** Returns true if field offset is set (has been assigned a value) and false otherwise */
    public boolean isSetOffset() {
      return __isset_bit_vector.get(__OFFSET_ISSET_ID);
    }

    public void setOffsetIsSet(boolean value) {
      __isset_bit_vector.set(__OFFSET_ISSET_ID, value);
    }

    public String getSort() {
      return this.sort;
    }

    public void setSort(String sort) {
      this.sort = sort;
    }

    public void unsetSort() {
      this.sort = null;
    }

    /** Returns true if field sort is set (has been assigned a value) and false otherwise */
    public boolean isSetSort() {
      return this.sort != null;
    }

    public void setSortIsSet(boolean value) {
      if (!value) {
        this.sort = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case USER_ID:
        if (value == null) {
          unsetUserId();
        } else {
          setUserId((Long)value);
        }
        break;

      case CREDITOR_ID:
        if (value == null) {
          unsetCreditorId();
        } else {
          setCreditorId((Long)value);
        }
        break;

      case LIMIT:
        if (value == null) {
          unsetLimit();
        } else {
          setLimit((Long)value);
        }
        break;

      case OFFSET:
        if (value == null) {
          unsetOffset();
        } else {
          setOffset((Long)value);
        }
        break;

      case SORT:
        if (value == null) {
          unsetSort();
        } else {
          setSort((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case USER_ID:
        return Long.valueOf(getUserId());

      case CREDITOR_ID:
        return Long.valueOf(getCreditorId());

      case LIMIT:
        return Long.valueOf(getLimit());

      case OFFSET:
        return Long.valueOf(getOffset());

      case SORT:
        return getSort();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case USER_ID:
        return isSetUserId();
      case CREDITOR_ID:
        return isSetCreditorId();
      case LIMIT:
        return isSetLimit();
      case OFFSET:
        return isSetOffset();
      case SORT:
        return isSetSort();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getUserSanctionsDetailsAsPerLimit_args)
        return this.equals((getUserSanctionsDetailsAsPerLimit_args)that);
      return false;
    }

    public boolean equals(getUserSanctionsDetailsAsPerLimit_args that) {
      if (that == null)
        return false;

      boolean this_present_userId = true;
      boolean that_present_userId = true;
      if (this_present_userId || that_present_userId) {
        if (!(this_present_userId && that_present_userId))
          return false;
        if (this.userId != that.userId)
          return false;
      }

      boolean this_present_creditorId = true;
      boolean that_present_creditorId = true;
      if (this_present_creditorId || that_present_creditorId) {
        if (!(this_present_creditorId && that_present_creditorId))
          return false;
        if (this.creditorId != that.creditorId)
          return false;
      }

      boolean this_present_limit = true;
      boolean that_present_limit = true;
      if (this_present_limit || that_present_limit) {
        if (!(this_present_limit && that_present_limit))
          return false;
        if (this.limit != that.limit)
          return false;
      }

      boolean this_present_offset = true;
      boolean that_present_offset = true;
      if (this_present_offset || that_present_offset) {
        if (!(this_present_offset && that_present_offset))
          return false;
        if (this.offset != that.offset)
          return false;
      }

      boolean this_present_sort = true && this.isSetSort();
      boolean that_present_sort = true && that.isSetSort();
      if (this_present_sort || that_present_sort) {
        if (!(this_present_sort && that_present_sort))
          return false;
        if (!this.sort.equals(that.sort))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getUserSanctionsDetailsAsPerLimit_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getUserSanctionsDetailsAsPerLimit_args typedOther = (getUserSanctionsDetailsAsPerLimit_args)other;

      lastComparison = Boolean.valueOf(isSetUserId()).compareTo(typedOther.isSetUserId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetUserId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.userId, typedOther.userId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetCreditorId()).compareTo(typedOther.isSetCreditorId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetCreditorId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.creditorId, typedOther.creditorId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetLimit()).compareTo(typedOther.isSetLimit());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetLimit()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.limit, typedOther.limit);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetOffset()).compareTo(typedOther.isSetOffset());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOffset()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.offset, typedOther.offset);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetSort()).compareTo(typedOther.isSetSort());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSort()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.sort, typedOther.sort);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // USER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.userId = iprot.readI64();
              setUserIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // CREDITOR_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.creditorId = iprot.readI64();
              setCreditorIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // LIMIT
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.limit = iprot.readI64();
              setLimitIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 4: // OFFSET
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.offset = iprot.readI64();
              setOffsetIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 5: // SORT
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.sort = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(USER_ID_FIELD_DESC);
      oprot.writeI64(this.userId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(CREDITOR_ID_FIELD_DESC);
      oprot.writeI64(this.creditorId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(LIMIT_FIELD_DESC);
      oprot.writeI64(this.limit);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(OFFSET_FIELD_DESC);
      oprot.writeI64(this.offset);
      oprot.writeFieldEnd();
      if (this.sort != null) {
        oprot.writeFieldBegin(SORT_FIELD_DESC);
        oprot.writeString(this.sort);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getUserSanctionsDetailsAsPerLimit_args(");
      boolean first = true;

      sb.append("userId:");
      sb.append(this.userId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("creditorId:");
      sb.append(this.creditorId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("limit:");
      sb.append(this.limit);
      first = false;
      if (!first) sb.append(", ");
      sb.append("offset:");
      sb.append(this.offset);
      first = false;
      if (!first) sb.append(", ");
      sb.append("sort:");
      if (this.sort == null) {
        sb.append("null");
      } else {
        sb.append(this.sort);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getUserSanctionsDetailsAsPerLimit_result implements org.apache.thrift.TBase<getUserSanctionsDetailsAsPerLimit_result, getUserSanctionsDetailsAsPerLimit_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getUserSanctionsDetailsAsPerLimit_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);

    private PaginatedUserSanction success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, PaginatedUserSanction.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getUserSanctionsDetailsAsPerLimit_result.class, metaDataMap);
    }

    public getUserSanctionsDetailsAsPerLimit_result() {
    }

    public getUserSanctionsDetailsAsPerLimit_result(
      PaginatedUserSanction success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getUserSanctionsDetailsAsPerLimit_result(getUserSanctionsDetailsAsPerLimit_result other) {
      if (other.isSetSuccess()) {
        this.success = new PaginatedUserSanction(other.success);
      }
    }

    public getUserSanctionsDetailsAsPerLimit_result deepCopy() {
      return new getUserSanctionsDetailsAsPerLimit_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public PaginatedUserSanction getSuccess() {
      return this.success;
    }

    public void setSuccess(PaginatedUserSanction success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((PaginatedUserSanction)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getUserSanctionsDetailsAsPerLimit_result)
        return this.equals((getUserSanctionsDetailsAsPerLimit_result)that);
      return false;
    }

    public boolean equals(getUserSanctionsDetailsAsPerLimit_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getUserSanctionsDetailsAsPerLimit_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getUserSanctionsDetailsAsPerLimit_result typedOther = (getUserSanctionsDetailsAsPerLimit_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.success = new PaginatedUserSanction();
              this.success.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        this.success.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getUserSanctionsDetailsAsPerLimit_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getOutstandingPayments_args implements org.apache.thrift.TBase<getOutstandingPayments_args, getOutstandingPayments_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getOutstandingPayments_args");

    private static final org.apache.thrift.protocol.TField FETCH_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("fetchType", org.apache.thrift.protocol.TType.STRING, (short)1);
    private static final org.apache.thrift.protocol.TField USER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("userId", org.apache.thrift.protocol.TType.I64, (short)2);
    private static final org.apache.thrift.protocol.TField LIMIT_FIELD_DESC = new org.apache.thrift.protocol.TField("limit", org.apache.thrift.protocol.TType.I64, (short)3);

    private String fetchType; // required
    private long userId; // required
    private long limit; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      FETCH_TYPE((short)1, "fetchType"),
      USER_ID((short)2, "userId"),
      LIMIT((short)3, "limit");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // FETCH_TYPE
            return FETCH_TYPE;
          case 2: // USER_ID
            return USER_ID;
          case 3: // LIMIT
            return LIMIT;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __USERID_ISSET_ID = 0;
    private static final int __LIMIT_ISSET_ID = 1;
    private BitSet __isset_bit_vector = new BitSet(2);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.FETCH_TYPE, new org.apache.thrift.meta_data.FieldMetaData("fetchType", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.USER_ID, new org.apache.thrift.meta_data.FieldMetaData("userId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.LIMIT, new org.apache.thrift.meta_data.FieldMetaData("limit", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getOutstandingPayments_args.class, metaDataMap);
    }

    public getOutstandingPayments_args() {
    }

    public getOutstandingPayments_args(
      String fetchType,
      long userId,
      long limit)
    {
      this();
      this.fetchType = fetchType;
      this.userId = userId;
      setUserIdIsSet(true);
      this.limit = limit;
      setLimitIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getOutstandingPayments_args(getOutstandingPayments_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      if (other.isSetFetchType()) {
        this.fetchType = other.fetchType;
      }
      this.userId = other.userId;
      this.limit = other.limit;
    }

    public getOutstandingPayments_args deepCopy() {
      return new getOutstandingPayments_args(this);
    }

    @Override
    public void clear() {
      this.fetchType = null;
      setUserIdIsSet(false);
      this.userId = 0;
      setLimitIsSet(false);
      this.limit = 0;
    }

    public String getFetchType() {
      return this.fetchType;
    }

    public void setFetchType(String fetchType) {
      this.fetchType = fetchType;
    }

    public void unsetFetchType() {
      this.fetchType = null;
    }

    /** Returns true if field fetchType is set (has been assigned a value) and false otherwise */
    public boolean isSetFetchType() {
      return this.fetchType != null;
    }

    public void setFetchTypeIsSet(boolean value) {
      if (!value) {
        this.fetchType = null;
      }
    }

    public long getUserId() {
      return this.userId;
    }

    public void setUserId(long userId) {
      this.userId = userId;
      setUserIdIsSet(true);
    }

    public void unsetUserId() {
      __isset_bit_vector.clear(__USERID_ISSET_ID);
    }

    /** Returns true if field userId is set (has been assigned a value) and false otherwise */
    public boolean isSetUserId() {
      return __isset_bit_vector.get(__USERID_ISSET_ID);
    }

    public void setUserIdIsSet(boolean value) {
      __isset_bit_vector.set(__USERID_ISSET_ID, value);
    }

    public long getLimit() {
      return this.limit;
    }

    public void setLimit(long limit) {
      this.limit = limit;
      setLimitIsSet(true);
    }

    public void unsetLimit() {
      __isset_bit_vector.clear(__LIMIT_ISSET_ID);
    }

    /** Returns true if field limit is set (has been assigned a value) and false otherwise */
    public boolean isSetLimit() {
      return __isset_bit_vector.get(__LIMIT_ISSET_ID);
    }

    public void setLimitIsSet(boolean value) {
      __isset_bit_vector.set(__LIMIT_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case FETCH_TYPE:
        if (value == null) {
          unsetFetchType();
        } else {
          setFetchType((String)value);
        }
        break;

      case USER_ID:
        if (value == null) {
          unsetUserId();
        } else {
          setUserId((Long)value);
        }
        break;

      case LIMIT:
        if (value == null) {
          unsetLimit();
        } else {
          setLimit((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case FETCH_TYPE:
        return getFetchType();

      case USER_ID:
        return Long.valueOf(getUserId());

      case LIMIT:
        return Long.valueOf(getLimit());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case FETCH_TYPE:
        return isSetFetchType();
      case USER_ID:
        return isSetUserId();
      case LIMIT:
        return isSetLimit();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getOutstandingPayments_args)
        return this.equals((getOutstandingPayments_args)that);
      return false;
    }

    public boolean equals(getOutstandingPayments_args that) {
      if (that == null)
        return false;

      boolean this_present_fetchType = true && this.isSetFetchType();
      boolean that_present_fetchType = true && that.isSetFetchType();
      if (this_present_fetchType || that_present_fetchType) {
        if (!(this_present_fetchType && that_present_fetchType))
          return false;
        if (!this.fetchType.equals(that.fetchType))
          return false;
      }

      boolean this_present_userId = true;
      boolean that_present_userId = true;
      if (this_present_userId || that_present_userId) {
        if (!(this_present_userId && that_present_userId))
          return false;
        if (this.userId != that.userId)
          return false;
      }

      boolean this_present_limit = true;
      boolean that_present_limit = true;
      if (this_present_limit || that_present_limit) {
        if (!(this_present_limit && that_present_limit))
          return false;
        if (this.limit != that.limit)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getOutstandingPayments_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getOutstandingPayments_args typedOther = (getOutstandingPayments_args)other;

      lastComparison = Boolean.valueOf(isSetFetchType()).compareTo(typedOther.isSetFetchType());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetFetchType()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.fetchType, typedOther.fetchType);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetUserId()).compareTo(typedOther.isSetUserId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetUserId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.userId, typedOther.userId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetLimit()).compareTo(typedOther.isSetLimit());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetLimit()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.limit, typedOther.limit);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // FETCH_TYPE
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.fetchType = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // USER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.userId = iprot.readI64();
              setUserIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // LIMIT
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.limit = iprot.readI64();
              setLimitIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.fetchType != null) {
        oprot.writeFieldBegin(FETCH_TYPE_FIELD_DESC);
        oprot.writeString(this.fetchType);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldBegin(USER_ID_FIELD_DESC);
      oprot.writeI64(this.userId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(LIMIT_FIELD_DESC);
      oprot.writeI64(this.limit);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getOutstandingPayments_args(");
      boolean first = true;

      sb.append("fetchType:");
      if (this.fetchType == null) {
        sb.append("null");
      } else {
        sb.append(this.fetchType);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("userId:");
      sb.append(this.userId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("limit:");
      sb.append(this.limit);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getOutstandingPayments_result implements org.apache.thrift.TBase<getOutstandingPayments_result, getOutstandingPayments_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getOutstandingPayments_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);

    private List<OutstandingPayments> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, OutstandingPayments.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getOutstandingPayments_result.class, metaDataMap);
    }

    public getOutstandingPayments_result() {
    }

    public getOutstandingPayments_result(
      List<OutstandingPayments> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getOutstandingPayments_result(getOutstandingPayments_result other) {
      if (other.isSetSuccess()) {
        List<OutstandingPayments> __this__success = new ArrayList<OutstandingPayments>();
        for (OutstandingPayments other_element : other.success) {
          __this__success.add(new OutstandingPayments(other_element));
        }
        this.success = __this__success;
      }
    }

    public getOutstandingPayments_result deepCopy() {
      return new getOutstandingPayments_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<OutstandingPayments> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(OutstandingPayments elem) {
      if (this.success == null) {
        this.success = new ArrayList<OutstandingPayments>();
      }
      this.success.add(elem);
    }

    public List<OutstandingPayments> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<OutstandingPayments> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<OutstandingPayments>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getOutstandingPayments_result)
        return this.equals((getOutstandingPayments_result)that);
      return false;
    }

    public boolean equals(getOutstandingPayments_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getOutstandingPayments_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getOutstandingPayments_result typedOther = (getOutstandingPayments_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list696 = iprot.readListBegin();
                this.success = new ArrayList<OutstandingPayments>(_list696.size);
                for (int _i697 = 0; _i697 < _list696.size; ++_i697)
                {
                  OutstandingPayments _elem698; // required
                  _elem698 = new OutstandingPayments();
                  _elem698.read(iprot);
                  this.success.add(_elem698);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (OutstandingPayments _iter699 : this.success)
          {
            _iter699.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getOutstandingPayments_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class markPaymentSettled_args implements org.apache.thrift.TBase<markPaymentSettled_args, markPaymentSettled_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("markPaymentSettled_args");

    private static final org.apache.thrift.protocol.TField USER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("userId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField PAYMENT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("paymentId", org.apache.thrift.protocol.TType.I64, (short)2);
    private static final org.apache.thrift.protocol.TField TOTAL_AMOUNT_FIELD_DESC = new org.apache.thrift.protocol.TField("totalAmount", org.apache.thrift.protocol.TType.DOUBLE, (short)3);
    private static final org.apache.thrift.protocol.TField REPAYMENT_DATE_FIELD_DESC = new org.apache.thrift.protocol.TField("repaymentDate", org.apache.thrift.protocol.TType.I64, (short)4);

    private long userId; // required
    private long paymentId; // required
    private double totalAmount; // required
    private long repaymentDate; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      USER_ID((short)1, "userId"),
      PAYMENT_ID((short)2, "paymentId"),
      TOTAL_AMOUNT((short)3, "totalAmount"),
      REPAYMENT_DATE((short)4, "repaymentDate");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // USER_ID
            return USER_ID;
          case 2: // PAYMENT_ID
            return PAYMENT_ID;
          case 3: // TOTAL_AMOUNT
            return TOTAL_AMOUNT;
          case 4: // REPAYMENT_DATE
            return REPAYMENT_DATE;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __USERID_ISSET_ID = 0;
    private static final int __PAYMENTID_ISSET_ID = 1;
    private static final int __TOTALAMOUNT_ISSET_ID = 2;
    private static final int __REPAYMENTDATE_ISSET_ID = 3;
    private BitSet __isset_bit_vector = new BitSet(4);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.USER_ID, new org.apache.thrift.meta_data.FieldMetaData("userId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.PAYMENT_ID, new org.apache.thrift.meta_data.FieldMetaData("paymentId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.TOTAL_AMOUNT, new org.apache.thrift.meta_data.FieldMetaData("totalAmount", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE)));
      tmpMap.put(_Fields.REPAYMENT_DATE, new org.apache.thrift.meta_data.FieldMetaData("repaymentDate", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(markPaymentSettled_args.class, metaDataMap);
    }

    public markPaymentSettled_args() {
    }

    public markPaymentSettled_args(
      long userId,
      long paymentId,
      double totalAmount,
      long repaymentDate)
    {
      this();
      this.userId = userId;
      setUserIdIsSet(true);
      this.paymentId = paymentId;
      setPaymentIdIsSet(true);
      this.totalAmount = totalAmount;
      setTotalAmountIsSet(true);
      this.repaymentDate = repaymentDate;
      setRepaymentDateIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public markPaymentSettled_args(markPaymentSettled_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.userId = other.userId;
      this.paymentId = other.paymentId;
      this.totalAmount = other.totalAmount;
      this.repaymentDate = other.repaymentDate;
    }

    public markPaymentSettled_args deepCopy() {
      return new markPaymentSettled_args(this);
    }

    @Override
    public void clear() {
      setUserIdIsSet(false);
      this.userId = 0;
      setPaymentIdIsSet(false);
      this.paymentId = 0;
      setTotalAmountIsSet(false);
      this.totalAmount = 0.0;
      setRepaymentDateIsSet(false);
      this.repaymentDate = 0;
    }

    public long getUserId() {
      return this.userId;
    }

    public void setUserId(long userId) {
      this.userId = userId;
      setUserIdIsSet(true);
    }

    public void unsetUserId() {
      __isset_bit_vector.clear(__USERID_ISSET_ID);
    }

    /** Returns true if field userId is set (has been assigned a value) and false otherwise */
    public boolean isSetUserId() {
      return __isset_bit_vector.get(__USERID_ISSET_ID);
    }

    public void setUserIdIsSet(boolean value) {
      __isset_bit_vector.set(__USERID_ISSET_ID, value);
    }

    public long getPaymentId() {
      return this.paymentId;
    }

    public void setPaymentId(long paymentId) {
      this.paymentId = paymentId;
      setPaymentIdIsSet(true);
    }

    public void unsetPaymentId() {
      __isset_bit_vector.clear(__PAYMENTID_ISSET_ID);
    }

    /** Returns true if field paymentId is set (has been assigned a value) and false otherwise */
    public boolean isSetPaymentId() {
      return __isset_bit_vector.get(__PAYMENTID_ISSET_ID);
    }

    public void setPaymentIdIsSet(boolean value) {
      __isset_bit_vector.set(__PAYMENTID_ISSET_ID, value);
    }

    public double getTotalAmount() {
      return this.totalAmount;
    }

    public void setTotalAmount(double totalAmount) {
      this.totalAmount = totalAmount;
      setTotalAmountIsSet(true);
    }

    public void unsetTotalAmount() {
      __isset_bit_vector.clear(__TOTALAMOUNT_ISSET_ID);
    }

    /** Returns true if field totalAmount is set (has been assigned a value) and false otherwise */
    public boolean isSetTotalAmount() {
      return __isset_bit_vector.get(__TOTALAMOUNT_ISSET_ID);
    }

    public void setTotalAmountIsSet(boolean value) {
      __isset_bit_vector.set(__TOTALAMOUNT_ISSET_ID, value);
    }

    public long getRepaymentDate() {
      return this.repaymentDate;
    }

    public void setRepaymentDate(long repaymentDate) {
      this.repaymentDate = repaymentDate;
      setRepaymentDateIsSet(true);
    }

    public void unsetRepaymentDate() {
      __isset_bit_vector.clear(__REPAYMENTDATE_ISSET_ID);
    }

    /** Returns true if field repaymentDate is set (has been assigned a value) and false otherwise */
    public boolean isSetRepaymentDate() {
      return __isset_bit_vector.get(__REPAYMENTDATE_ISSET_ID);
    }

    public void setRepaymentDateIsSet(boolean value) {
      __isset_bit_vector.set(__REPAYMENTDATE_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case USER_ID:
        if (value == null) {
          unsetUserId();
        } else {
          setUserId((Long)value);
        }
        break;

      case PAYMENT_ID:
        if (value == null) {
          unsetPaymentId();
        } else {
          setPaymentId((Long)value);
        }
        break;

      case TOTAL_AMOUNT:
        if (value == null) {
          unsetTotalAmount();
        } else {
          setTotalAmount((Double)value);
        }
        break;

      case REPAYMENT_DATE:
        if (value == null) {
          unsetRepaymentDate();
        } else {
          setRepaymentDate((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case USER_ID:
        return Long.valueOf(getUserId());

      case PAYMENT_ID:
        return Long.valueOf(getPaymentId());

      case TOTAL_AMOUNT:
        return Double.valueOf(getTotalAmount());

      case REPAYMENT_DATE:
        return Long.valueOf(getRepaymentDate());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case USER_ID:
        return isSetUserId();
      case PAYMENT_ID:
        return isSetPaymentId();
      case TOTAL_AMOUNT:
        return isSetTotalAmount();
      case REPAYMENT_DATE:
        return isSetRepaymentDate();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof markPaymentSettled_args)
        return this.equals((markPaymentSettled_args)that);
      return false;
    }

    public boolean equals(markPaymentSettled_args that) {
      if (that == null)
        return false;

      boolean this_present_userId = true;
      boolean that_present_userId = true;
      if (this_present_userId || that_present_userId) {
        if (!(this_present_userId && that_present_userId))
          return false;
        if (this.userId != that.userId)
          return false;
      }

      boolean this_present_paymentId = true;
      boolean that_present_paymentId = true;
      if (this_present_paymentId || that_present_paymentId) {
        if (!(this_present_paymentId && that_present_paymentId))
          return false;
        if (this.paymentId != that.paymentId)
          return false;
      }

      boolean this_present_totalAmount = true;
      boolean that_present_totalAmount = true;
      if (this_present_totalAmount || that_present_totalAmount) {
        if (!(this_present_totalAmount && that_present_totalAmount))
          return false;
        if (this.totalAmount != that.totalAmount)
          return false;
      }

      boolean this_present_repaymentDate = true;
      boolean that_present_repaymentDate = true;
      if (this_present_repaymentDate || that_present_repaymentDate) {
        if (!(this_present_repaymentDate && that_present_repaymentDate))
          return false;
        if (this.repaymentDate != that.repaymentDate)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(markPaymentSettled_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      markPaymentSettled_args typedOther = (markPaymentSettled_args)other;

      lastComparison = Boolean.valueOf(isSetUserId()).compareTo(typedOther.isSetUserId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetUserId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.userId, typedOther.userId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetPaymentId()).compareTo(typedOther.isSetPaymentId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetPaymentId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.paymentId, typedOther.paymentId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetTotalAmount()).compareTo(typedOther.isSetTotalAmount());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetTotalAmount()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.totalAmount, typedOther.totalAmount);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetRepaymentDate()).compareTo(typedOther.isSetRepaymentDate());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetRepaymentDate()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.repaymentDate, typedOther.repaymentDate);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // USER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.userId = iprot.readI64();
              setUserIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // PAYMENT_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.paymentId = iprot.readI64();
              setPaymentIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // TOTAL_AMOUNT
            if (field.type == org.apache.thrift.protocol.TType.DOUBLE) {
              this.totalAmount = iprot.readDouble();
              setTotalAmountIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 4: // REPAYMENT_DATE
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.repaymentDate = iprot.readI64();
              setRepaymentDateIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(USER_ID_FIELD_DESC);
      oprot.writeI64(this.userId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(PAYMENT_ID_FIELD_DESC);
      oprot.writeI64(this.paymentId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(TOTAL_AMOUNT_FIELD_DESC);
      oprot.writeDouble(this.totalAmount);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(REPAYMENT_DATE_FIELD_DESC);
      oprot.writeI64(this.repaymentDate);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("markPaymentSettled_args(");
      boolean first = true;

      sb.append("userId:");
      sb.append(this.userId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("paymentId:");
      sb.append(this.paymentId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("totalAmount:");
      sb.append(this.totalAmount);
      first = false;
      if (!first) sb.append(", ");
      sb.append("repaymentDate:");
      sb.append(this.repaymentDate);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class markPaymentSettled_result implements org.apache.thrift.TBase<markPaymentSettled_result, markPaymentSettled_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("markPaymentSettled_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.MAP, (short)0);

    private Map<Boolean,String> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL), 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(markPaymentSettled_result.class, metaDataMap);
    }

    public markPaymentSettled_result() {
    }

    public markPaymentSettled_result(
      Map<Boolean,String> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public markPaymentSettled_result(markPaymentSettled_result other) {
      if (other.isSetSuccess()) {
        Map<Boolean,String> __this__success = new HashMap<Boolean,String>();
        for (Map.Entry<Boolean, String> other_element : other.success.entrySet()) {

          Boolean other_element_key = other_element.getKey();
          String other_element_value = other_element.getValue();

          Boolean __this__success_copy_key = other_element_key;

          String __this__success_copy_value = other_element_value;

          __this__success.put(__this__success_copy_key, __this__success_copy_value);
        }
        this.success = __this__success;
      }
    }

    public markPaymentSettled_result deepCopy() {
      return new markPaymentSettled_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public void putToSuccess(boolean key, String val) {
      if (this.success == null) {
        this.success = new HashMap<Boolean,String>();
      }
      this.success.put(key, val);
    }

    public Map<Boolean,String> getSuccess() {
      return this.success;
    }

    public void setSuccess(Map<Boolean,String> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Map<Boolean,String>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof markPaymentSettled_result)
        return this.equals((markPaymentSettled_result)that);
      return false;
    }

    public boolean equals(markPaymentSettled_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(markPaymentSettled_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      markPaymentSettled_result typedOther = (markPaymentSettled_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.MAP) {
              {
                org.apache.thrift.protocol.TMap _map700 = iprot.readMapBegin();
                this.success = new HashMap<Boolean,String>(2*_map700.size);
                for (int _i701 = 0; _i701 < _map700.size; ++_i701)
                {
                  boolean _key702; // required
                  String _val703; // required
                  _key702 = iprot.readBool();
                  _val703 = iprot.readString();
                  this.success.put(_key702, _val703);
                }
                iprot.readMapEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.BOOL, org.apache.thrift.protocol.TType.STRING, this.success.size()));
          for (Map.Entry<Boolean, String> _iter704 : this.success.entrySet())
          {
            oprot.writeBool(_iter704.getKey());
            oprot.writeString(_iter704.getValue());
          }
          oprot.writeMapEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("markPaymentSettled_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getReturnOrderInfo_args implements org.apache.thrift.TBase<getReturnOrderInfo_args, getReturnOrderInfo_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getReturnOrderInfo_args");

    private static final org.apache.thrift.protocol.TField ID_FIELD_DESC = new org.apache.thrift.protocol.TField("id", org.apache.thrift.protocol.TType.I64, (short)1);

    private long id; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ID((short)1, "id");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ID
            return ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ID, new org.apache.thrift.meta_data.FieldMetaData("id", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getReturnOrderInfo_args.class, metaDataMap);
    }

    public getReturnOrderInfo_args() {
    }

    public getReturnOrderInfo_args(
      long id)
    {
      this();
      this.id = id;
      setIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getReturnOrderInfo_args(getReturnOrderInfo_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.id = other.id;
    }

    public getReturnOrderInfo_args deepCopy() {
      return new getReturnOrderInfo_args(this);
    }

    @Override
    public void clear() {
      setIdIsSet(false);
      this.id = 0;
    }

    public long getId() {
      return this.id;
    }

    public void setId(long id) {
      this.id = id;
      setIdIsSet(true);
    }

    public void unsetId() {
      __isset_bit_vector.clear(__ID_ISSET_ID);
    }

    /** Returns true if field id is set (has been assigned a value) and false otherwise */
    public boolean isSetId() {
      return __isset_bit_vector.get(__ID_ISSET_ID);
    }

    public void setIdIsSet(boolean value) {
      __isset_bit_vector.set(__ID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ID:
        if (value == null) {
          unsetId();
        } else {
          setId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ID:
        return Long.valueOf(getId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ID:
        return isSetId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getReturnOrderInfo_args)
        return this.equals((getReturnOrderInfo_args)that);
      return false;
    }

    public boolean equals(getReturnOrderInfo_args that) {
      if (that == null)
        return false;

      boolean this_present_id = true;
      boolean that_present_id = true;
      if (this_present_id || that_present_id) {
        if (!(this_present_id && that_present_id))
          return false;
        if (this.id != that.id)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getReturnOrderInfo_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getReturnOrderInfo_args typedOther = (getReturnOrderInfo_args)other;

      lastComparison = Boolean.valueOf(isSetId()).compareTo(typedOther.isSetId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.id, typedOther.id);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.id = iprot.readI64();
              setIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ID_FIELD_DESC);
      oprot.writeI64(this.id);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getReturnOrderInfo_args(");
      boolean first = true;

      sb.append("id:");
      sb.append(this.id);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getReturnOrderInfo_result implements org.apache.thrift.TBase<getReturnOrderInfo_result, getReturnOrderInfo_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getReturnOrderInfo_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private ReturnOrderInfo success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, ReturnOrderInfo.class)));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getReturnOrderInfo_result.class, metaDataMap);
    }

    public getReturnOrderInfo_result() {
    }

    public getReturnOrderInfo_result(
      ReturnOrderInfo success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getReturnOrderInfo_result(getReturnOrderInfo_result other) {
      if (other.isSetSuccess()) {
        this.success = new ReturnOrderInfo(other.success);
      }
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public getReturnOrderInfo_result deepCopy() {
      return new getReturnOrderInfo_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.ex = null;
    }

    public ReturnOrderInfo getSuccess() {
      return this.success;
    }

    public void setSuccess(ReturnOrderInfo success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((ReturnOrderInfo)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getReturnOrderInfo_result)
        return this.equals((getReturnOrderInfo_result)that);
      return false;
    }

    public boolean equals(getReturnOrderInfo_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getReturnOrderInfo_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getReturnOrderInfo_result typedOther = (getReturnOrderInfo_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.success = new ReturnOrderInfo();
              this.success.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        this.success.write(oprot);
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getReturnOrderInfo_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getReturnOrderInfoList_args implements org.apache.thrift.TBase<getReturnOrderInfoList_args, getReturnOrderInfoList_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getReturnOrderInfoList_args");

    private static final org.apache.thrift.protocol.TField ORDER_IDS_FIELD_DESC = new org.apache.thrift.protocol.TField("order_ids", org.apache.thrift.protocol.TType.LIST, (short)1);

    private List<Long> order_ids; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ORDER_IDS((short)1, "order_ids");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ORDER_IDS
            return ORDER_IDS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ORDER_IDS, new org.apache.thrift.meta_data.FieldMetaData("order_ids", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getReturnOrderInfoList_args.class, metaDataMap);
    }

    public getReturnOrderInfoList_args() {
    }

    public getReturnOrderInfoList_args(
      List<Long> order_ids)
    {
      this();
      this.order_ids = order_ids;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getReturnOrderInfoList_args(getReturnOrderInfoList_args other) {
      if (other.isSetOrder_ids()) {
        List<Long> __this__order_ids = new ArrayList<Long>();
        for (Long other_element : other.order_ids) {
          __this__order_ids.add(other_element);
        }
        this.order_ids = __this__order_ids;
      }
    }

    public getReturnOrderInfoList_args deepCopy() {
      return new getReturnOrderInfoList_args(this);
    }

    @Override
    public void clear() {
      this.order_ids = null;
    }

    public int getOrder_idsSize() {
      return (this.order_ids == null) ? 0 : this.order_ids.size();
    }

    public java.util.Iterator<Long> getOrder_idsIterator() {
      return (this.order_ids == null) ? null : this.order_ids.iterator();
    }

    public void addToOrder_ids(long elem) {
      if (this.order_ids == null) {
        this.order_ids = new ArrayList<Long>();
      }
      this.order_ids.add(elem);
    }

    public List<Long> getOrder_ids() {
      return this.order_ids;
    }

    public void setOrder_ids(List<Long> order_ids) {
      this.order_ids = order_ids;
    }

    public void unsetOrder_ids() {
      this.order_ids = null;
    }

    /** Returns true if field order_ids is set (has been assigned a value) and false otherwise */
    public boolean isSetOrder_ids() {
      return this.order_ids != null;
    }

    public void setOrder_idsIsSet(boolean value) {
      if (!value) {
        this.order_ids = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ORDER_IDS:
        if (value == null) {
          unsetOrder_ids();
        } else {
          setOrder_ids((List<Long>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ORDER_IDS:
        return getOrder_ids();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ORDER_IDS:
        return isSetOrder_ids();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getReturnOrderInfoList_args)
        return this.equals((getReturnOrderInfoList_args)that);
      return false;
    }

    public boolean equals(getReturnOrderInfoList_args that) {
      if (that == null)
        return false;

      boolean this_present_order_ids = true && this.isSetOrder_ids();
      boolean that_present_order_ids = true && that.isSetOrder_ids();
      if (this_present_order_ids || that_present_order_ids) {
        if (!(this_present_order_ids && that_present_order_ids))
          return false;
        if (!this.order_ids.equals(that.order_ids))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getReturnOrderInfoList_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getReturnOrderInfoList_args typedOther = (getReturnOrderInfoList_args)other;

      lastComparison = Boolean.valueOf(isSetOrder_ids()).compareTo(typedOther.isSetOrder_ids());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrder_ids()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.order_ids, typedOther.order_ids);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ORDER_IDS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list705 = iprot.readListBegin();
                this.order_ids = new ArrayList<Long>(_list705.size);
                for (int _i706 = 0; _i706 < _list705.size; ++_i706)
                {
                  long _elem707; // required
                  _elem707 = iprot.readI64();
                  this.order_ids.add(_elem707);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.order_ids != null) {
        oprot.writeFieldBegin(ORDER_IDS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, this.order_ids.size()));
          for (long _iter708 : this.order_ids)
          {
            oprot.writeI64(_iter708);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getReturnOrderInfoList_args(");
      boolean first = true;

      sb.append("order_ids:");
      if (this.order_ids == null) {
        sb.append("null");
      } else {
        sb.append(this.order_ids);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getReturnOrderInfoList_result implements org.apache.thrift.TBase<getReturnOrderInfoList_result, getReturnOrderInfoList_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getReturnOrderInfoList_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.MAP, (short)0);

    private Map<Long,List<ReturnOrderInfo>> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64), 
              new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
                  new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, ReturnOrderInfo.class)))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getReturnOrderInfoList_result.class, metaDataMap);
    }

    public getReturnOrderInfoList_result() {
    }

    public getReturnOrderInfoList_result(
      Map<Long,List<ReturnOrderInfo>> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getReturnOrderInfoList_result(getReturnOrderInfoList_result other) {
      if (other.isSetSuccess()) {
        Map<Long,List<ReturnOrderInfo>> __this__success = new HashMap<Long,List<ReturnOrderInfo>>();
        for (Map.Entry<Long, List<ReturnOrderInfo>> other_element : other.success.entrySet()) {

          Long other_element_key = other_element.getKey();
          List<ReturnOrderInfo> other_element_value = other_element.getValue();

          Long __this__success_copy_key = other_element_key;

          List<ReturnOrderInfo> __this__success_copy_value = new ArrayList<ReturnOrderInfo>();
          for (ReturnOrderInfo other_element_value_element : other_element_value) {
            __this__success_copy_value.add(new ReturnOrderInfo(other_element_value_element));
          }

          __this__success.put(__this__success_copy_key, __this__success_copy_value);
        }
        this.success = __this__success;
      }
    }

    public getReturnOrderInfoList_result deepCopy() {
      return new getReturnOrderInfoList_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public void putToSuccess(long key, List<ReturnOrderInfo> val) {
      if (this.success == null) {
        this.success = new HashMap<Long,List<ReturnOrderInfo>>();
      }
      this.success.put(key, val);
    }

    public Map<Long,List<ReturnOrderInfo>> getSuccess() {
      return this.success;
    }

    public void setSuccess(Map<Long,List<ReturnOrderInfo>> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Map<Long,List<ReturnOrderInfo>>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getReturnOrderInfoList_result)
        return this.equals((getReturnOrderInfoList_result)that);
      return false;
    }

    public boolean equals(getReturnOrderInfoList_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getReturnOrderInfoList_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getReturnOrderInfoList_result typedOther = (getReturnOrderInfoList_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.MAP) {
              {
                org.apache.thrift.protocol.TMap _map709 = iprot.readMapBegin();
                this.success = new HashMap<Long,List<ReturnOrderInfo>>(2*_map709.size);
                for (int _i710 = 0; _i710 < _map709.size; ++_i710)
                {
                  long _key711; // required
                  List<ReturnOrderInfo> _val712; // required
                  _key711 = iprot.readI64();
                  {
                    org.apache.thrift.protocol.TList _list713 = iprot.readListBegin();
                    _val712 = new ArrayList<ReturnOrderInfo>(_list713.size);
                    for (int _i714 = 0; _i714 < _list713.size; ++_i714)
                    {
                      ReturnOrderInfo _elem715; // required
                      _elem715 = new ReturnOrderInfo();
                      _elem715.read(iprot);
                      _val712.add(_elem715);
                    }
                    iprot.readListEnd();
                  }
                  this.success.put(_key711, _val712);
                }
                iprot.readMapEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.I64, org.apache.thrift.protocol.TType.LIST, this.success.size()));
          for (Map.Entry<Long, List<ReturnOrderInfo>> _iter716 : this.success.entrySet())
          {
            oprot.writeI64(_iter716.getKey());
            {
              oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, _iter716.getValue().size()));
              for (ReturnOrderInfo _iter717 : _iter716.getValue())
              {
                _iter717.write(oprot);
              }
              oprot.writeListEnd();
            }
          }
          oprot.writeMapEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getReturnOrderInfoList_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getReturnOrderInfoListAsByStatus_args implements org.apache.thrift.TBase<getReturnOrderInfoListAsByStatus_args, getReturnOrderInfoListAsByStatus_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getReturnOrderInfoListAsByStatus_args");

    private static final org.apache.thrift.protocol.TField ORDER_IDS_FIELD_DESC = new org.apache.thrift.protocol.TField("order_ids", org.apache.thrift.protocol.TType.LIST, (short)1);
    private static final org.apache.thrift.protocol.TField STATUSES_FIELD_DESC = new org.apache.thrift.protocol.TField("statuses", org.apache.thrift.protocol.TType.LIST, (short)2);

    private List<Long> order_ids; // required
    private List<String> statuses; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ORDER_IDS((short)1, "order_ids"),
      STATUSES((short)2, "statuses");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ORDER_IDS
            return ORDER_IDS;
          case 2: // STATUSES
            return STATUSES;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ORDER_IDS, new org.apache.thrift.meta_data.FieldMetaData("order_ids", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64))));
      tmpMap.put(_Fields.STATUSES, new org.apache.thrift.meta_data.FieldMetaData("statuses", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getReturnOrderInfoListAsByStatus_args.class, metaDataMap);
    }

    public getReturnOrderInfoListAsByStatus_args() {
    }

    public getReturnOrderInfoListAsByStatus_args(
      List<Long> order_ids,
      List<String> statuses)
    {
      this();
      this.order_ids = order_ids;
      this.statuses = statuses;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getReturnOrderInfoListAsByStatus_args(getReturnOrderInfoListAsByStatus_args other) {
      if (other.isSetOrder_ids()) {
        List<Long> __this__order_ids = new ArrayList<Long>();
        for (Long other_element : other.order_ids) {
          __this__order_ids.add(other_element);
        }
        this.order_ids = __this__order_ids;
      }
      if (other.isSetStatuses()) {
        List<String> __this__statuses = new ArrayList<String>();
        for (String other_element : other.statuses) {
          __this__statuses.add(other_element);
        }
        this.statuses = __this__statuses;
      }
    }

    public getReturnOrderInfoListAsByStatus_args deepCopy() {
      return new getReturnOrderInfoListAsByStatus_args(this);
    }

    @Override
    public void clear() {
      this.order_ids = null;
      this.statuses = null;
    }

    public int getOrder_idsSize() {
      return (this.order_ids == null) ? 0 : this.order_ids.size();
    }

    public java.util.Iterator<Long> getOrder_idsIterator() {
      return (this.order_ids == null) ? null : this.order_ids.iterator();
    }

    public void addToOrder_ids(long elem) {
      if (this.order_ids == null) {
        this.order_ids = new ArrayList<Long>();
      }
      this.order_ids.add(elem);
    }

    public List<Long> getOrder_ids() {
      return this.order_ids;
    }

    public void setOrder_ids(List<Long> order_ids) {
      this.order_ids = order_ids;
    }

    public void unsetOrder_ids() {
      this.order_ids = null;
    }

    /** Returns true if field order_ids is set (has been assigned a value) and false otherwise */
    public boolean isSetOrder_ids() {
      return this.order_ids != null;
    }

    public void setOrder_idsIsSet(boolean value) {
      if (!value) {
        this.order_ids = null;
      }
    }

    public int getStatusesSize() {
      return (this.statuses == null) ? 0 : this.statuses.size();
    }

    public java.util.Iterator<String> getStatusesIterator() {
      return (this.statuses == null) ? null : this.statuses.iterator();
    }

    public void addToStatuses(String elem) {
      if (this.statuses == null) {
        this.statuses = new ArrayList<String>();
      }
      this.statuses.add(elem);
    }

    public List<String> getStatuses() {
      return this.statuses;
    }

    public void setStatuses(List<String> statuses) {
      this.statuses = statuses;
    }

    public void unsetStatuses() {
      this.statuses = null;
    }

    /** Returns true if field statuses is set (has been assigned a value) and false otherwise */
    public boolean isSetStatuses() {
      return this.statuses != null;
    }

    public void setStatusesIsSet(boolean value) {
      if (!value) {
        this.statuses = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ORDER_IDS:
        if (value == null) {
          unsetOrder_ids();
        } else {
          setOrder_ids((List<Long>)value);
        }
        break;

      case STATUSES:
        if (value == null) {
          unsetStatuses();
        } else {
          setStatuses((List<String>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ORDER_IDS:
        return getOrder_ids();

      case STATUSES:
        return getStatuses();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ORDER_IDS:
        return isSetOrder_ids();
      case STATUSES:
        return isSetStatuses();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getReturnOrderInfoListAsByStatus_args)
        return this.equals((getReturnOrderInfoListAsByStatus_args)that);
      return false;
    }

    public boolean equals(getReturnOrderInfoListAsByStatus_args that) {
      if (that == null)
        return false;

      boolean this_present_order_ids = true && this.isSetOrder_ids();
      boolean that_present_order_ids = true && that.isSetOrder_ids();
      if (this_present_order_ids || that_present_order_ids) {
        if (!(this_present_order_ids && that_present_order_ids))
          return false;
        if (!this.order_ids.equals(that.order_ids))
          return false;
      }

      boolean this_present_statuses = true && this.isSetStatuses();
      boolean that_present_statuses = true && that.isSetStatuses();
      if (this_present_statuses || that_present_statuses) {
        if (!(this_present_statuses && that_present_statuses))
          return false;
        if (!this.statuses.equals(that.statuses))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getReturnOrderInfoListAsByStatus_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getReturnOrderInfoListAsByStatus_args typedOther = (getReturnOrderInfoListAsByStatus_args)other;

      lastComparison = Boolean.valueOf(isSetOrder_ids()).compareTo(typedOther.isSetOrder_ids());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrder_ids()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.order_ids, typedOther.order_ids);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetStatuses()).compareTo(typedOther.isSetStatuses());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetStatuses()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.statuses, typedOther.statuses);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ORDER_IDS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list718 = iprot.readListBegin();
                this.order_ids = new ArrayList<Long>(_list718.size);
                for (int _i719 = 0; _i719 < _list718.size; ++_i719)
                {
                  long _elem720; // required
                  _elem720 = iprot.readI64();
                  this.order_ids.add(_elem720);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // STATUSES
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list721 = iprot.readListBegin();
                this.statuses = new ArrayList<String>(_list721.size);
                for (int _i722 = 0; _i722 < _list721.size; ++_i722)
                {
                  String _elem723; // required
                  _elem723 = iprot.readString();
                  this.statuses.add(_elem723);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.order_ids != null) {
        oprot.writeFieldBegin(ORDER_IDS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, this.order_ids.size()));
          for (long _iter724 : this.order_ids)
          {
            oprot.writeI64(_iter724);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      if (this.statuses != null) {
        oprot.writeFieldBegin(STATUSES_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, this.statuses.size()));
          for (String _iter725 : this.statuses)
          {
            oprot.writeString(_iter725);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getReturnOrderInfoListAsByStatus_args(");
      boolean first = true;

      sb.append("order_ids:");
      if (this.order_ids == null) {
        sb.append("null");
      } else {
        sb.append(this.order_ids);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("statuses:");
      if (this.statuses == null) {
        sb.append("null");
      } else {
        sb.append(this.statuses);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getReturnOrderInfoListAsByStatus_result implements org.apache.thrift.TBase<getReturnOrderInfoListAsByStatus_result, getReturnOrderInfoListAsByStatus_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getReturnOrderInfoListAsByStatus_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.MAP, (short)0);

    private Map<Long,List<ReturnOrderInfo>> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64), 
              new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
                  new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, ReturnOrderInfo.class)))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getReturnOrderInfoListAsByStatus_result.class, metaDataMap);
    }

    public getReturnOrderInfoListAsByStatus_result() {
    }

    public getReturnOrderInfoListAsByStatus_result(
      Map<Long,List<ReturnOrderInfo>> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getReturnOrderInfoListAsByStatus_result(getReturnOrderInfoListAsByStatus_result other) {
      if (other.isSetSuccess()) {
        Map<Long,List<ReturnOrderInfo>> __this__success = new HashMap<Long,List<ReturnOrderInfo>>();
        for (Map.Entry<Long, List<ReturnOrderInfo>> other_element : other.success.entrySet()) {

          Long other_element_key = other_element.getKey();
          List<ReturnOrderInfo> other_element_value = other_element.getValue();

          Long __this__success_copy_key = other_element_key;

          List<ReturnOrderInfo> __this__success_copy_value = new ArrayList<ReturnOrderInfo>();
          for (ReturnOrderInfo other_element_value_element : other_element_value) {
            __this__success_copy_value.add(new ReturnOrderInfo(other_element_value_element));
          }

          __this__success.put(__this__success_copy_key, __this__success_copy_value);
        }
        this.success = __this__success;
      }
    }

    public getReturnOrderInfoListAsByStatus_result deepCopy() {
      return new getReturnOrderInfoListAsByStatus_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public void putToSuccess(long key, List<ReturnOrderInfo> val) {
      if (this.success == null) {
        this.success = new HashMap<Long,List<ReturnOrderInfo>>();
      }
      this.success.put(key, val);
    }

    public Map<Long,List<ReturnOrderInfo>> getSuccess() {
      return this.success;
    }

    public void setSuccess(Map<Long,List<ReturnOrderInfo>> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Map<Long,List<ReturnOrderInfo>>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getReturnOrderInfoListAsByStatus_result)
        return this.equals((getReturnOrderInfoListAsByStatus_result)that);
      return false;
    }

    public boolean equals(getReturnOrderInfoListAsByStatus_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getReturnOrderInfoListAsByStatus_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getReturnOrderInfoListAsByStatus_result typedOther = (getReturnOrderInfoListAsByStatus_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.MAP) {
              {
                org.apache.thrift.protocol.TMap _map726 = iprot.readMapBegin();
                this.success = new HashMap<Long,List<ReturnOrderInfo>>(2*_map726.size);
                for (int _i727 = 0; _i727 < _map726.size; ++_i727)
                {
                  long _key728; // required
                  List<ReturnOrderInfo> _val729; // required
                  _key728 = iprot.readI64();
                  {
                    org.apache.thrift.protocol.TList _list730 = iprot.readListBegin();
                    _val729 = new ArrayList<ReturnOrderInfo>(_list730.size);
                    for (int _i731 = 0; _i731 < _list730.size; ++_i731)
                    {
                      ReturnOrderInfo _elem732; // required
                      _elem732 = new ReturnOrderInfo();
                      _elem732.read(iprot);
                      _val729.add(_elem732);
                    }
                    iprot.readListEnd();
                  }
                  this.success.put(_key728, _val729);
                }
                iprot.readMapEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.I64, org.apache.thrift.protocol.TType.LIST, this.success.size()));
          for (Map.Entry<Long, List<ReturnOrderInfo>> _iter733 : this.success.entrySet())
          {
            oprot.writeI64(_iter733.getKey());
            {
              oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, _iter733.getValue().size()));
              for (ReturnOrderInfo _iter734 : _iter733.getValue())
              {
                _iter734.write(oprot);
              }
              oprot.writeListEnd();
            }
          }
          oprot.writeMapEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getReturnOrderInfoListAsByStatus_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class updateReturnOrderInfo_args implements org.apache.thrift.TBase<updateReturnOrderInfo_args, updateReturnOrderInfo_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateReturnOrderInfo_args");

    private static final org.apache.thrift.protocol.TField RETURN_INFO_FIELD_DESC = new org.apache.thrift.protocol.TField("returnInfo", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private ReturnOrderInfo returnInfo; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      RETURN_INFO((short)1, "returnInfo");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // RETURN_INFO
            return RETURN_INFO;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.RETURN_INFO, new org.apache.thrift.meta_data.FieldMetaData("returnInfo", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, ReturnOrderInfo.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateReturnOrderInfo_args.class, metaDataMap);
    }

    public updateReturnOrderInfo_args() {
    }

    public updateReturnOrderInfo_args(
      ReturnOrderInfo returnInfo)
    {
      this();
      this.returnInfo = returnInfo;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public updateReturnOrderInfo_args(updateReturnOrderInfo_args other) {
      if (other.isSetReturnInfo()) {
        this.returnInfo = new ReturnOrderInfo(other.returnInfo);
      }
    }

    public updateReturnOrderInfo_args deepCopy() {
      return new updateReturnOrderInfo_args(this);
    }

    @Override
    public void clear() {
      this.returnInfo = null;
    }

    public ReturnOrderInfo getReturnInfo() {
      return this.returnInfo;
    }

    public void setReturnInfo(ReturnOrderInfo returnInfo) {
      this.returnInfo = returnInfo;
    }

    public void unsetReturnInfo() {
      this.returnInfo = null;
    }

    /** Returns true if field returnInfo is set (has been assigned a value) and false otherwise */
    public boolean isSetReturnInfo() {
      return this.returnInfo != null;
    }

    public void setReturnInfoIsSet(boolean value) {
      if (!value) {
        this.returnInfo = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case RETURN_INFO:
        if (value == null) {
          unsetReturnInfo();
        } else {
          setReturnInfo((ReturnOrderInfo)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case RETURN_INFO:
        return getReturnInfo();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case RETURN_INFO:
        return isSetReturnInfo();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof updateReturnOrderInfo_args)
        return this.equals((updateReturnOrderInfo_args)that);
      return false;
    }

    public boolean equals(updateReturnOrderInfo_args that) {
      if (that == null)
        return false;

      boolean this_present_returnInfo = true && this.isSetReturnInfo();
      boolean that_present_returnInfo = true && that.isSetReturnInfo();
      if (this_present_returnInfo || that_present_returnInfo) {
        if (!(this_present_returnInfo && that_present_returnInfo))
          return false;
        if (!this.returnInfo.equals(that.returnInfo))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(updateReturnOrderInfo_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      updateReturnOrderInfo_args typedOther = (updateReturnOrderInfo_args)other;

      lastComparison = Boolean.valueOf(isSetReturnInfo()).compareTo(typedOther.isSetReturnInfo());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetReturnInfo()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.returnInfo, typedOther.returnInfo);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // RETURN_INFO
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.returnInfo = new ReturnOrderInfo();
              this.returnInfo.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.returnInfo != null) {
        oprot.writeFieldBegin(RETURN_INFO_FIELD_DESC);
        this.returnInfo.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("updateReturnOrderInfo_args(");
      boolean first = true;

      sb.append("returnInfo:");
      if (this.returnInfo == null) {
        sb.append("null");
      } else {
        sb.append(this.returnInfo);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class updateReturnOrderInfo_result implements org.apache.thrift.TBase<updateReturnOrderInfo_result, updateReturnOrderInfo_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateReturnOrderInfo_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private boolean success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateReturnOrderInfo_result.class, metaDataMap);
    }

    public updateReturnOrderInfo_result() {
    }

    public updateReturnOrderInfo_result(
      boolean success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public updateReturnOrderInfo_result(updateReturnOrderInfo_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public updateReturnOrderInfo_result deepCopy() {
      return new updateReturnOrderInfo_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = false;
      this.ex = null;
    }

    public boolean isSuccess() {
      return this.success;
    }

    public void setSuccess(boolean success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Boolean.valueOf(isSuccess());

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof updateReturnOrderInfo_result)
        return this.equals((updateReturnOrderInfo_result)that);
      return false;
    }

    public boolean equals(updateReturnOrderInfo_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(updateReturnOrderInfo_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      updateReturnOrderInfo_result typedOther = (updateReturnOrderInfo_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.success = iprot.readBool();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBool(this.success);
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("updateReturnOrderInfo_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class bulkUpdateReturnOrderInfo_args implements org.apache.thrift.TBase<bulkUpdateReturnOrderInfo_args, bulkUpdateReturnOrderInfo_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("bulkUpdateReturnOrderInfo_args");

    private static final org.apache.thrift.protocol.TField ORDER_RETURN_INFOS_MAP_FIELD_DESC = new org.apache.thrift.protocol.TField("orderReturnInfosMap", org.apache.thrift.protocol.TType.MAP, (short)1);

    private Map<Long,List<ReturnOrderInfo>> orderReturnInfosMap; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ORDER_RETURN_INFOS_MAP((short)1, "orderReturnInfosMap");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ORDER_RETURN_INFOS_MAP
            return ORDER_RETURN_INFOS_MAP;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ORDER_RETURN_INFOS_MAP, new org.apache.thrift.meta_data.FieldMetaData("orderReturnInfosMap", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64), 
              new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
                  new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, ReturnOrderInfo.class)))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(bulkUpdateReturnOrderInfo_args.class, metaDataMap);
    }

    public bulkUpdateReturnOrderInfo_args() {
    }

    public bulkUpdateReturnOrderInfo_args(
      Map<Long,List<ReturnOrderInfo>> orderReturnInfosMap)
    {
      this();
      this.orderReturnInfosMap = orderReturnInfosMap;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public bulkUpdateReturnOrderInfo_args(bulkUpdateReturnOrderInfo_args other) {
      if (other.isSetOrderReturnInfosMap()) {
        Map<Long,List<ReturnOrderInfo>> __this__orderReturnInfosMap = new HashMap<Long,List<ReturnOrderInfo>>();
        for (Map.Entry<Long, List<ReturnOrderInfo>> other_element : other.orderReturnInfosMap.entrySet()) {

          Long other_element_key = other_element.getKey();
          List<ReturnOrderInfo> other_element_value = other_element.getValue();

          Long __this__orderReturnInfosMap_copy_key = other_element_key;

          List<ReturnOrderInfo> __this__orderReturnInfosMap_copy_value = new ArrayList<ReturnOrderInfo>();
          for (ReturnOrderInfo other_element_value_element : other_element_value) {
            __this__orderReturnInfosMap_copy_value.add(new ReturnOrderInfo(other_element_value_element));
          }

          __this__orderReturnInfosMap.put(__this__orderReturnInfosMap_copy_key, __this__orderReturnInfosMap_copy_value);
        }
        this.orderReturnInfosMap = __this__orderReturnInfosMap;
      }
    }

    public bulkUpdateReturnOrderInfo_args deepCopy() {
      return new bulkUpdateReturnOrderInfo_args(this);
    }

    @Override
    public void clear() {
      this.orderReturnInfosMap = null;
    }

    public int getOrderReturnInfosMapSize() {
      return (this.orderReturnInfosMap == null) ? 0 : this.orderReturnInfosMap.size();
    }

    public void putToOrderReturnInfosMap(long key, List<ReturnOrderInfo> val) {
      if (this.orderReturnInfosMap == null) {
        this.orderReturnInfosMap = new HashMap<Long,List<ReturnOrderInfo>>();
      }
      this.orderReturnInfosMap.put(key, val);
    }

    public Map<Long,List<ReturnOrderInfo>> getOrderReturnInfosMap() {
      return this.orderReturnInfosMap;
    }

    public void setOrderReturnInfosMap(Map<Long,List<ReturnOrderInfo>> orderReturnInfosMap) {
      this.orderReturnInfosMap = orderReturnInfosMap;
    }

    public void unsetOrderReturnInfosMap() {
      this.orderReturnInfosMap = null;
    }

    /** Returns true if field orderReturnInfosMap is set (has been assigned a value) and false otherwise */
    public boolean isSetOrderReturnInfosMap() {
      return this.orderReturnInfosMap != null;
    }

    public void setOrderReturnInfosMapIsSet(boolean value) {
      if (!value) {
        this.orderReturnInfosMap = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ORDER_RETURN_INFOS_MAP:
        if (value == null) {
          unsetOrderReturnInfosMap();
        } else {
          setOrderReturnInfosMap((Map<Long,List<ReturnOrderInfo>>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ORDER_RETURN_INFOS_MAP:
        return getOrderReturnInfosMap();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ORDER_RETURN_INFOS_MAP:
        return isSetOrderReturnInfosMap();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof bulkUpdateReturnOrderInfo_args)
        return this.equals((bulkUpdateReturnOrderInfo_args)that);
      return false;
    }

    public boolean equals(bulkUpdateReturnOrderInfo_args that) {
      if (that == null)
        return false;

      boolean this_present_orderReturnInfosMap = true && this.isSetOrderReturnInfosMap();
      boolean that_present_orderReturnInfosMap = true && that.isSetOrderReturnInfosMap();
      if (this_present_orderReturnInfosMap || that_present_orderReturnInfosMap) {
        if (!(this_present_orderReturnInfosMap && that_present_orderReturnInfosMap))
          return false;
        if (!this.orderReturnInfosMap.equals(that.orderReturnInfosMap))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(bulkUpdateReturnOrderInfo_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      bulkUpdateReturnOrderInfo_args typedOther = (bulkUpdateReturnOrderInfo_args)other;

      lastComparison = Boolean.valueOf(isSetOrderReturnInfosMap()).compareTo(typedOther.isSetOrderReturnInfosMap());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOrderReturnInfosMap()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.orderReturnInfosMap, typedOther.orderReturnInfosMap);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ORDER_RETURN_INFOS_MAP
            if (field.type == org.apache.thrift.protocol.TType.MAP) {
              {
                org.apache.thrift.protocol.TMap _map735 = iprot.readMapBegin();
                this.orderReturnInfosMap = new HashMap<Long,List<ReturnOrderInfo>>(2*_map735.size);
                for (int _i736 = 0; _i736 < _map735.size; ++_i736)
                {
                  long _key737; // required
                  List<ReturnOrderInfo> _val738; // required
                  _key737 = iprot.readI64();
                  {
                    org.apache.thrift.protocol.TList _list739 = iprot.readListBegin();
                    _val738 = new ArrayList<ReturnOrderInfo>(_list739.size);
                    for (int _i740 = 0; _i740 < _list739.size; ++_i740)
                    {
                      ReturnOrderInfo _elem741; // required
                      _elem741 = new ReturnOrderInfo();
                      _elem741.read(iprot);
                      _val738.add(_elem741);
                    }
                    iprot.readListEnd();
                  }
                  this.orderReturnInfosMap.put(_key737, _val738);
                }
                iprot.readMapEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.orderReturnInfosMap != null) {
        oprot.writeFieldBegin(ORDER_RETURN_INFOS_MAP_FIELD_DESC);
        {
          oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.I64, org.apache.thrift.protocol.TType.LIST, this.orderReturnInfosMap.size()));
          for (Map.Entry<Long, List<ReturnOrderInfo>> _iter742 : this.orderReturnInfosMap.entrySet())
          {
            oprot.writeI64(_iter742.getKey());
            {
              oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, _iter742.getValue().size()));
              for (ReturnOrderInfo _iter743 : _iter742.getValue())
              {
                _iter743.write(oprot);
              }
              oprot.writeListEnd();
            }
          }
          oprot.writeMapEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("bulkUpdateReturnOrderInfo_args(");
      boolean first = true;

      sb.append("orderReturnInfosMap:");
      if (this.orderReturnInfosMap == null) {
        sb.append("null");
      } else {
        sb.append(this.orderReturnInfosMap);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class bulkUpdateReturnOrderInfo_result implements org.apache.thrift.TBase<bulkUpdateReturnOrderInfo_result, bulkUpdateReturnOrderInfo_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("bulkUpdateReturnOrderInfo_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.MAP, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private Map<Long,Boolean> success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64), 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL))));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(bulkUpdateReturnOrderInfo_result.class, metaDataMap);
    }

    public bulkUpdateReturnOrderInfo_result() {
    }

    public bulkUpdateReturnOrderInfo_result(
      Map<Long,Boolean> success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public bulkUpdateReturnOrderInfo_result(bulkUpdateReturnOrderInfo_result other) {
      if (other.isSetSuccess()) {
        Map<Long,Boolean> __this__success = new HashMap<Long,Boolean>();
        for (Map.Entry<Long, Boolean> other_element : other.success.entrySet()) {

          Long other_element_key = other_element.getKey();
          Boolean other_element_value = other_element.getValue();

          Long __this__success_copy_key = other_element_key;

          Boolean __this__success_copy_value = other_element_value;

          __this__success.put(__this__success_copy_key, __this__success_copy_value);
        }
        this.success = __this__success;
      }
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public bulkUpdateReturnOrderInfo_result deepCopy() {
      return new bulkUpdateReturnOrderInfo_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.ex = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public void putToSuccess(long key, boolean val) {
      if (this.success == null) {
        this.success = new HashMap<Long,Boolean>();
      }
      this.success.put(key, val);
    }

    public Map<Long,Boolean> getSuccess() {
      return this.success;
    }

    public void setSuccess(Map<Long,Boolean> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Map<Long,Boolean>)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof bulkUpdateReturnOrderInfo_result)
        return this.equals((bulkUpdateReturnOrderInfo_result)that);
      return false;
    }

    public boolean equals(bulkUpdateReturnOrderInfo_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(bulkUpdateReturnOrderInfo_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      bulkUpdateReturnOrderInfo_result typedOther = (bulkUpdateReturnOrderInfo_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.MAP) {
              {
                org.apache.thrift.protocol.TMap _map744 = iprot.readMapBegin();
                this.success = new HashMap<Long,Boolean>(2*_map744.size);
                for (int _i745 = 0; _i745 < _map744.size; ++_i745)
                {
                  long _key746; // required
                  boolean _val747; // required
                  _key746 = iprot.readI64();
                  _val747 = iprot.readBool();
                  this.success.put(_key746, _val747);
                }
                iprot.readMapEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.I64, org.apache.thrift.protocol.TType.BOOL, this.success.size()));
          for (Map.Entry<Long, Boolean> _iter748 : this.success.entrySet())
          {
            oprot.writeI64(_iter748.getKey());
            oprot.writeBool(_iter748.getValue());
          }
          oprot.writeMapEnd();
        }
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("bulkUpdateReturnOrderInfo_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getReturnOrdersAsPerWarehouseId_args implements org.apache.thrift.TBase<getReturnOrdersAsPerWarehouseId_args, getReturnOrdersAsPerWarehouseId_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getReturnOrdersAsPerWarehouseId_args");

    private static final org.apache.thrift.protocol.TField WAREHOUSE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("warehouseId", org.apache.thrift.protocol.TType.I64, (short)1);

    private long warehouseId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      WAREHOUSE_ID((short)1, "warehouseId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // WAREHOUSE_ID
            return WAREHOUSE_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __WAREHOUSEID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.WAREHOUSE_ID, new org.apache.thrift.meta_data.FieldMetaData("warehouseId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getReturnOrdersAsPerWarehouseId_args.class, metaDataMap);
    }

    public getReturnOrdersAsPerWarehouseId_args() {
    }

    public getReturnOrdersAsPerWarehouseId_args(
      long warehouseId)
    {
      this();
      this.warehouseId = warehouseId;
      setWarehouseIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getReturnOrdersAsPerWarehouseId_args(getReturnOrdersAsPerWarehouseId_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.warehouseId = other.warehouseId;
    }

    public getReturnOrdersAsPerWarehouseId_args deepCopy() {
      return new getReturnOrdersAsPerWarehouseId_args(this);
    }

    @Override
    public void clear() {
      setWarehouseIdIsSet(false);
      this.warehouseId = 0;
    }

    public long getWarehouseId() {
      return this.warehouseId;
    }

    public void setWarehouseId(long warehouseId) {
      this.warehouseId = warehouseId;
      setWarehouseIdIsSet(true);
    }

    public void unsetWarehouseId() {
      __isset_bit_vector.clear(__WAREHOUSEID_ISSET_ID);
    }

    /** Returns true if field warehouseId is set (has been assigned a value) and false otherwise */
    public boolean isSetWarehouseId() {
      return __isset_bit_vector.get(__WAREHOUSEID_ISSET_ID);
    }

    public void setWarehouseIdIsSet(boolean value) {
      __isset_bit_vector.set(__WAREHOUSEID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case WAREHOUSE_ID:
        if (value == null) {
          unsetWarehouseId();
        } else {
          setWarehouseId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case WAREHOUSE_ID:
        return Long.valueOf(getWarehouseId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case WAREHOUSE_ID:
        return isSetWarehouseId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getReturnOrdersAsPerWarehouseId_args)
        return this.equals((getReturnOrdersAsPerWarehouseId_args)that);
      return false;
    }

    public boolean equals(getReturnOrdersAsPerWarehouseId_args that) {
      if (that == null)
        return false;

      boolean this_present_warehouseId = true;
      boolean that_present_warehouseId = true;
      if (this_present_warehouseId || that_present_warehouseId) {
        if (!(this_present_warehouseId && that_present_warehouseId))
          return false;
        if (this.warehouseId != that.warehouseId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getReturnOrdersAsPerWarehouseId_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getReturnOrdersAsPerWarehouseId_args typedOther = (getReturnOrdersAsPerWarehouseId_args)other;

      lastComparison = Boolean.valueOf(isSetWarehouseId()).compareTo(typedOther.isSetWarehouseId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetWarehouseId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.warehouseId, typedOther.warehouseId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // WAREHOUSE_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.warehouseId = iprot.readI64();
              setWarehouseIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(WAREHOUSE_ID_FIELD_DESC);
      oprot.writeI64(this.warehouseId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getReturnOrdersAsPerWarehouseId_args(");
      boolean first = true;

      sb.append("warehouseId:");
      sb.append(this.warehouseId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getReturnOrdersAsPerWarehouseId_result implements org.apache.thrift.TBase<getReturnOrdersAsPerWarehouseId_result, getReturnOrdersAsPerWarehouseId_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getReturnOrdersAsPerWarehouseId_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);

    private List<ReturnOrderInfo> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, ReturnOrderInfo.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getReturnOrdersAsPerWarehouseId_result.class, metaDataMap);
    }

    public getReturnOrdersAsPerWarehouseId_result() {
    }

    public getReturnOrdersAsPerWarehouseId_result(
      List<ReturnOrderInfo> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getReturnOrdersAsPerWarehouseId_result(getReturnOrdersAsPerWarehouseId_result other) {
      if (other.isSetSuccess()) {
        List<ReturnOrderInfo> __this__success = new ArrayList<ReturnOrderInfo>();
        for (ReturnOrderInfo other_element : other.success) {
          __this__success.add(new ReturnOrderInfo(other_element));
        }
        this.success = __this__success;
      }
    }

    public getReturnOrdersAsPerWarehouseId_result deepCopy() {
      return new getReturnOrdersAsPerWarehouseId_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<ReturnOrderInfo> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(ReturnOrderInfo elem) {
      if (this.success == null) {
        this.success = new ArrayList<ReturnOrderInfo>();
      }
      this.success.add(elem);
    }

    public List<ReturnOrderInfo> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<ReturnOrderInfo> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<ReturnOrderInfo>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getReturnOrdersAsPerWarehouseId_result)
        return this.equals((getReturnOrdersAsPerWarehouseId_result)that);
      return false;
    }

    public boolean equals(getReturnOrdersAsPerWarehouseId_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getReturnOrdersAsPerWarehouseId_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getReturnOrdersAsPerWarehouseId_result typedOther = (getReturnOrdersAsPerWarehouseId_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list749 = iprot.readListBegin();
                this.success = new ArrayList<ReturnOrderInfo>(_list749.size);
                for (int _i750 = 0; _i750 < _list749.size; ++_i750)
                {
                  ReturnOrderInfo _elem751; // required
                  _elem751 = new ReturnOrderInfo();
                  _elem751.read(iprot);
                  this.success.add(_elem751);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (ReturnOrderInfo _iter752 : this.success)
          {
            _iter752.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getReturnOrdersAsPerWarehouseId_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class createReturnTransaction_args implements org.apache.thrift.TBase<createReturnTransaction_args, createReturnTransaction_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("createReturnTransaction_args");

    private static final org.apache.thrift.protocol.TField RETURN_TRANSACTION_FIELD_DESC = new org.apache.thrift.protocol.TField("returnTransaction", org.apache.thrift.protocol.TType.STRUCT, (short)1);
    private static final org.apache.thrift.protocol.TField ITEM_CONDITION_FIELD_DESC = new org.apache.thrift.protocol.TField("itemCondition", org.apache.thrift.protocol.TType.STRING, (short)2);
    private static final org.apache.thrift.protocol.TField OVERRIDE_WARRANTY_FIELD_DESC = new org.apache.thrift.protocol.TField("overrideWarranty", org.apache.thrift.protocol.TType.BOOL, (short)3);

    private ReturnTransaction returnTransaction; // required
    private String itemCondition; // required
    private boolean overrideWarranty; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      RETURN_TRANSACTION((short)1, "returnTransaction"),
      ITEM_CONDITION((short)2, "itemCondition"),
      OVERRIDE_WARRANTY((short)3, "overrideWarranty");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // RETURN_TRANSACTION
            return RETURN_TRANSACTION;
          case 2: // ITEM_CONDITION
            return ITEM_CONDITION;
          case 3: // OVERRIDE_WARRANTY
            return OVERRIDE_WARRANTY;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __OVERRIDEWARRANTY_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.RETURN_TRANSACTION, new org.apache.thrift.meta_data.FieldMetaData("returnTransaction", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, ReturnTransaction.class)));
      tmpMap.put(_Fields.ITEM_CONDITION, new org.apache.thrift.meta_data.FieldMetaData("itemCondition", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.OVERRIDE_WARRANTY, new org.apache.thrift.meta_data.FieldMetaData("overrideWarranty", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(createReturnTransaction_args.class, metaDataMap);
    }

    public createReturnTransaction_args() {
    }

    public createReturnTransaction_args(
      ReturnTransaction returnTransaction,
      String itemCondition,
      boolean overrideWarranty)
    {
      this();
      this.returnTransaction = returnTransaction;
      this.itemCondition = itemCondition;
      this.overrideWarranty = overrideWarranty;
      setOverrideWarrantyIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public createReturnTransaction_args(createReturnTransaction_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      if (other.isSetReturnTransaction()) {
        this.returnTransaction = new ReturnTransaction(other.returnTransaction);
      }
      if (other.isSetItemCondition()) {
        this.itemCondition = other.itemCondition;
      }
      this.overrideWarranty = other.overrideWarranty;
    }

    public createReturnTransaction_args deepCopy() {
      return new createReturnTransaction_args(this);
    }

    @Override
    public void clear() {
      this.returnTransaction = null;
      this.itemCondition = null;
      setOverrideWarrantyIsSet(false);
      this.overrideWarranty = false;
    }

    public ReturnTransaction getReturnTransaction() {
      return this.returnTransaction;
    }

    public void setReturnTransaction(ReturnTransaction returnTransaction) {
      this.returnTransaction = returnTransaction;
    }

    public void unsetReturnTransaction() {
      this.returnTransaction = null;
    }

    /** Returns true if field returnTransaction is set (has been assigned a value) and false otherwise */
    public boolean isSetReturnTransaction() {
      return this.returnTransaction != null;
    }

    public void setReturnTransactionIsSet(boolean value) {
      if (!value) {
        this.returnTransaction = null;
      }
    }

    public String getItemCondition() {
      return this.itemCondition;
    }

    public void setItemCondition(String itemCondition) {
      this.itemCondition = itemCondition;
    }

    public void unsetItemCondition() {
      this.itemCondition = null;
    }

    /** Returns true if field itemCondition is set (has been assigned a value) and false otherwise */
    public boolean isSetItemCondition() {
      return this.itemCondition != null;
    }

    public void setItemConditionIsSet(boolean value) {
      if (!value) {
        this.itemCondition = null;
      }
    }

    public boolean isOverrideWarranty() {
      return this.overrideWarranty;
    }

    public void setOverrideWarranty(boolean overrideWarranty) {
      this.overrideWarranty = overrideWarranty;
      setOverrideWarrantyIsSet(true);
    }

    public void unsetOverrideWarranty() {
      __isset_bit_vector.clear(__OVERRIDEWARRANTY_ISSET_ID);
    }

    /** Returns true if field overrideWarranty is set (has been assigned a value) and false otherwise */
    public boolean isSetOverrideWarranty() {
      return __isset_bit_vector.get(__OVERRIDEWARRANTY_ISSET_ID);
    }

    public void setOverrideWarrantyIsSet(boolean value) {
      __isset_bit_vector.set(__OVERRIDEWARRANTY_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case RETURN_TRANSACTION:
        if (value == null) {
          unsetReturnTransaction();
        } else {
          setReturnTransaction((ReturnTransaction)value);
        }
        break;

      case ITEM_CONDITION:
        if (value == null) {
          unsetItemCondition();
        } else {
          setItemCondition((String)value);
        }
        break;

      case OVERRIDE_WARRANTY:
        if (value == null) {
          unsetOverrideWarranty();
        } else {
          setOverrideWarranty((Boolean)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case RETURN_TRANSACTION:
        return getReturnTransaction();

      case ITEM_CONDITION:
        return getItemCondition();

      case OVERRIDE_WARRANTY:
        return Boolean.valueOf(isOverrideWarranty());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case RETURN_TRANSACTION:
        return isSetReturnTransaction();
      case ITEM_CONDITION:
        return isSetItemCondition();
      case OVERRIDE_WARRANTY:
        return isSetOverrideWarranty();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof createReturnTransaction_args)
        return this.equals((createReturnTransaction_args)that);
      return false;
    }

    public boolean equals(createReturnTransaction_args that) {
      if (that == null)
        return false;

      boolean this_present_returnTransaction = true && this.isSetReturnTransaction();
      boolean that_present_returnTransaction = true && that.isSetReturnTransaction();
      if (this_present_returnTransaction || that_present_returnTransaction) {
        if (!(this_present_returnTransaction && that_present_returnTransaction))
          return false;
        if (!this.returnTransaction.equals(that.returnTransaction))
          return false;
      }

      boolean this_present_itemCondition = true && this.isSetItemCondition();
      boolean that_present_itemCondition = true && that.isSetItemCondition();
      if (this_present_itemCondition || that_present_itemCondition) {
        if (!(this_present_itemCondition && that_present_itemCondition))
          return false;
        if (!this.itemCondition.equals(that.itemCondition))
          return false;
      }

      boolean this_present_overrideWarranty = true;
      boolean that_present_overrideWarranty = true;
      if (this_present_overrideWarranty || that_present_overrideWarranty) {
        if (!(this_present_overrideWarranty && that_present_overrideWarranty))
          return false;
        if (this.overrideWarranty != that.overrideWarranty)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(createReturnTransaction_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      createReturnTransaction_args typedOther = (createReturnTransaction_args)other;

      lastComparison = Boolean.valueOf(isSetReturnTransaction()).compareTo(typedOther.isSetReturnTransaction());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetReturnTransaction()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.returnTransaction, typedOther.returnTransaction);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetItemCondition()).compareTo(typedOther.isSetItemCondition());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetItemCondition()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.itemCondition, typedOther.itemCondition);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetOverrideWarranty()).compareTo(typedOther.isSetOverrideWarranty());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOverrideWarranty()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.overrideWarranty, typedOther.overrideWarranty);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // RETURN_TRANSACTION
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.returnTransaction = new ReturnTransaction();
              this.returnTransaction.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // ITEM_CONDITION
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.itemCondition = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // OVERRIDE_WARRANTY
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.overrideWarranty = iprot.readBool();
              setOverrideWarrantyIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.returnTransaction != null) {
        oprot.writeFieldBegin(RETURN_TRANSACTION_FIELD_DESC);
        this.returnTransaction.write(oprot);
        oprot.writeFieldEnd();
      }
      if (this.itemCondition != null) {
        oprot.writeFieldBegin(ITEM_CONDITION_FIELD_DESC);
        oprot.writeString(this.itemCondition);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldBegin(OVERRIDE_WARRANTY_FIELD_DESC);
      oprot.writeBool(this.overrideWarranty);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("createReturnTransaction_args(");
      boolean first = true;

      sb.append("returnTransaction:");
      if (this.returnTransaction == null) {
        sb.append("null");
      } else {
        sb.append(this.returnTransaction);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("itemCondition:");
      if (this.itemCondition == null) {
        sb.append("null");
      } else {
        sb.append(this.itemCondition);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("overrideWarranty:");
      sb.append(this.overrideWarranty);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class createReturnTransaction_result implements org.apache.thrift.TBase<createReturnTransaction_result, createReturnTransaction_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("createReturnTransaction_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private ReturnTransaction success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, ReturnTransaction.class)));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(createReturnTransaction_result.class, metaDataMap);
    }

    public createReturnTransaction_result() {
    }

    public createReturnTransaction_result(
      ReturnTransaction success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public createReturnTransaction_result(createReturnTransaction_result other) {
      if (other.isSetSuccess()) {
        this.success = new ReturnTransaction(other.success);
      }
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public createReturnTransaction_result deepCopy() {
      return new createReturnTransaction_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.ex = null;
    }

    public ReturnTransaction getSuccess() {
      return this.success;
    }

    public void setSuccess(ReturnTransaction success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((ReturnTransaction)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof createReturnTransaction_result)
        return this.equals((createReturnTransaction_result)that);
      return false;
    }

    public boolean equals(createReturnTransaction_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(createReturnTransaction_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      createReturnTransaction_result typedOther = (createReturnTransaction_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.success = new ReturnTransaction();
              this.success.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        this.success.write(oprot);
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("createReturnTransaction_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getReturnTransaction_args implements org.apache.thrift.TBase<getReturnTransaction_args, getReturnTransaction_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getReturnTransaction_args");

    private static final org.apache.thrift.protocol.TField ID_FIELD_DESC = new org.apache.thrift.protocol.TField("id", org.apache.thrift.protocol.TType.I64, (short)1);

    private long id; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ID((short)1, "id");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ID
            return ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ID, new org.apache.thrift.meta_data.FieldMetaData("id", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getReturnTransaction_args.class, metaDataMap);
    }

    public getReturnTransaction_args() {
    }

    public getReturnTransaction_args(
      long id)
    {
      this();
      this.id = id;
      setIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getReturnTransaction_args(getReturnTransaction_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.id = other.id;
    }

    public getReturnTransaction_args deepCopy() {
      return new getReturnTransaction_args(this);
    }

    @Override
    public void clear() {
      setIdIsSet(false);
      this.id = 0;
    }

    public long getId() {
      return this.id;
    }

    public void setId(long id) {
      this.id = id;
      setIdIsSet(true);
    }

    public void unsetId() {
      __isset_bit_vector.clear(__ID_ISSET_ID);
    }

    /** Returns true if field id is set (has been assigned a value) and false otherwise */
    public boolean isSetId() {
      return __isset_bit_vector.get(__ID_ISSET_ID);
    }

    public void setIdIsSet(boolean value) {
      __isset_bit_vector.set(__ID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ID:
        if (value == null) {
          unsetId();
        } else {
          setId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ID:
        return Long.valueOf(getId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ID:
        return isSetId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getReturnTransaction_args)
        return this.equals((getReturnTransaction_args)that);
      return false;
    }

    public boolean equals(getReturnTransaction_args that) {
      if (that == null)
        return false;

      boolean this_present_id = true;
      boolean that_present_id = true;
      if (this_present_id || that_present_id) {
        if (!(this_present_id && that_present_id))
          return false;
        if (this.id != that.id)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getReturnTransaction_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getReturnTransaction_args typedOther = (getReturnTransaction_args)other;

      lastComparison = Boolean.valueOf(isSetId()).compareTo(typedOther.isSetId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.id, typedOther.id);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.id = iprot.readI64();
              setIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ID_FIELD_DESC);
      oprot.writeI64(this.id);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getReturnTransaction_args(");
      boolean first = true;

      sb.append("id:");
      sb.append(this.id);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getReturnTransaction_result implements org.apache.thrift.TBase<getReturnTransaction_result, getReturnTransaction_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getReturnTransaction_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private ReturnTransaction success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, ReturnTransaction.class)));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getReturnTransaction_result.class, metaDataMap);
    }

    public getReturnTransaction_result() {
    }

    public getReturnTransaction_result(
      ReturnTransaction success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getReturnTransaction_result(getReturnTransaction_result other) {
      if (other.isSetSuccess()) {
        this.success = new ReturnTransaction(other.success);
      }
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public getReturnTransaction_result deepCopy() {
      return new getReturnTransaction_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.ex = null;
    }

    public ReturnTransaction getSuccess() {
      return this.success;
    }

    public void setSuccess(ReturnTransaction success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((ReturnTransaction)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getReturnTransaction_result)
        return this.equals((getReturnTransaction_result)that);
      return false;
    }

    public boolean equals(getReturnTransaction_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getReturnTransaction_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getReturnTransaction_result typedOther = (getReturnTransaction_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.success = new ReturnTransaction();
              this.success.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        this.success.write(oprot);
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getReturnTransaction_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getReturnOrdersForReturnTransaction_args implements org.apache.thrift.TBase<getReturnOrdersForReturnTransaction_args, getReturnOrdersForReturnTransaction_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getReturnOrdersForReturnTransaction_args");

    private static final org.apache.thrift.protocol.TField RETURN_TRANSACTION_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("returnTransactionId", org.apache.thrift.protocol.TType.I64, (short)1);

    private long returnTransactionId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      RETURN_TRANSACTION_ID((short)1, "returnTransactionId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // RETURN_TRANSACTION_ID
            return RETURN_TRANSACTION_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __RETURNTRANSACTIONID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.RETURN_TRANSACTION_ID, new org.apache.thrift.meta_data.FieldMetaData("returnTransactionId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getReturnOrdersForReturnTransaction_args.class, metaDataMap);
    }

    public getReturnOrdersForReturnTransaction_args() {
    }

    public getReturnOrdersForReturnTransaction_args(
      long returnTransactionId)
    {
      this();
      this.returnTransactionId = returnTransactionId;
      setReturnTransactionIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getReturnOrdersForReturnTransaction_args(getReturnOrdersForReturnTransaction_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.returnTransactionId = other.returnTransactionId;
    }

    public getReturnOrdersForReturnTransaction_args deepCopy() {
      return new getReturnOrdersForReturnTransaction_args(this);
    }

    @Override
    public void clear() {
      setReturnTransactionIdIsSet(false);
      this.returnTransactionId = 0;
    }

    public long getReturnTransactionId() {
      return this.returnTransactionId;
    }

    public void setReturnTransactionId(long returnTransactionId) {
      this.returnTransactionId = returnTransactionId;
      setReturnTransactionIdIsSet(true);
    }

    public void unsetReturnTransactionId() {
      __isset_bit_vector.clear(__RETURNTRANSACTIONID_ISSET_ID);
    }

    /** Returns true if field returnTransactionId is set (has been assigned a value) and false otherwise */
    public boolean isSetReturnTransactionId() {
      return __isset_bit_vector.get(__RETURNTRANSACTIONID_ISSET_ID);
    }

    public void setReturnTransactionIdIsSet(boolean value) {
      __isset_bit_vector.set(__RETURNTRANSACTIONID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case RETURN_TRANSACTION_ID:
        if (value == null) {
          unsetReturnTransactionId();
        } else {
          setReturnTransactionId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case RETURN_TRANSACTION_ID:
        return Long.valueOf(getReturnTransactionId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case RETURN_TRANSACTION_ID:
        return isSetReturnTransactionId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getReturnOrdersForReturnTransaction_args)
        return this.equals((getReturnOrdersForReturnTransaction_args)that);
      return false;
    }

    public boolean equals(getReturnOrdersForReturnTransaction_args that) {
      if (that == null)
        return false;

      boolean this_present_returnTransactionId = true;
      boolean that_present_returnTransactionId = true;
      if (this_present_returnTransactionId || that_present_returnTransactionId) {
        if (!(this_present_returnTransactionId && that_present_returnTransactionId))
          return false;
        if (this.returnTransactionId != that.returnTransactionId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getReturnOrdersForReturnTransaction_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getReturnOrdersForReturnTransaction_args typedOther = (getReturnOrdersForReturnTransaction_args)other;

      lastComparison = Boolean.valueOf(isSetReturnTransactionId()).compareTo(typedOther.isSetReturnTransactionId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetReturnTransactionId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.returnTransactionId, typedOther.returnTransactionId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // RETURN_TRANSACTION_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.returnTransactionId = iprot.readI64();
              setReturnTransactionIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(RETURN_TRANSACTION_ID_FIELD_DESC);
      oprot.writeI64(this.returnTransactionId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getReturnOrdersForReturnTransaction_args(");
      boolean first = true;

      sb.append("returnTransactionId:");
      sb.append(this.returnTransactionId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getReturnOrdersForReturnTransaction_result implements org.apache.thrift.TBase<getReturnOrdersForReturnTransaction_result, getReturnOrdersForReturnTransaction_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getReturnOrdersForReturnTransaction_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private List<ReturnOrderInfo> success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, ReturnOrderInfo.class))));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getReturnOrdersForReturnTransaction_result.class, metaDataMap);
    }

    public getReturnOrdersForReturnTransaction_result() {
    }

    public getReturnOrdersForReturnTransaction_result(
      List<ReturnOrderInfo> success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getReturnOrdersForReturnTransaction_result(getReturnOrdersForReturnTransaction_result other) {
      if (other.isSetSuccess()) {
        List<ReturnOrderInfo> __this__success = new ArrayList<ReturnOrderInfo>();
        for (ReturnOrderInfo other_element : other.success) {
          __this__success.add(new ReturnOrderInfo(other_element));
        }
        this.success = __this__success;
      }
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public getReturnOrdersForReturnTransaction_result deepCopy() {
      return new getReturnOrdersForReturnTransaction_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.ex = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<ReturnOrderInfo> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(ReturnOrderInfo elem) {
      if (this.success == null) {
        this.success = new ArrayList<ReturnOrderInfo>();
      }
      this.success.add(elem);
    }

    public List<ReturnOrderInfo> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<ReturnOrderInfo> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<ReturnOrderInfo>)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getReturnOrdersForReturnTransaction_result)
        return this.equals((getReturnOrdersForReturnTransaction_result)that);
      return false;
    }

    public boolean equals(getReturnOrdersForReturnTransaction_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getReturnOrdersForReturnTransaction_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getReturnOrdersForReturnTransaction_result typedOther = (getReturnOrdersForReturnTransaction_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list753 = iprot.readListBegin();
                this.success = new ArrayList<ReturnOrderInfo>(_list753.size);
                for (int _i754 = 0; _i754 < _list753.size; ++_i754)
                {
                  ReturnOrderInfo _elem755; // required
                  _elem755 = new ReturnOrderInfo();
                  _elem755.read(iprot);
                  this.success.add(_elem755);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (ReturnOrderInfo _iter756 : this.success)
          {
            _iter756.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getReturnOrdersForReturnTransaction_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class changeReturnTransactionStatus_args implements org.apache.thrift.TBase<changeReturnTransactionStatus_args, changeReturnTransactionStatus_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("changeReturnTransactionStatus_args");

    private static final org.apache.thrift.protocol.TField RETURN_TRANSACTION_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("returnTransactionId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField STATUS_FIELD_DESC = new org.apache.thrift.protocol.TField("status", org.apache.thrift.protocol.TType.I32, (short)2);
    private static final org.apache.thrift.protocol.TField RETURN_ORDER_IDS_FIELD_DESC = new org.apache.thrift.protocol.TField("returnOrderIds", org.apache.thrift.protocol.TType.LIST, (short)3);

    private long returnTransactionId; // required
    private ReturnTransactionStatus status; // required
    private List<Long> returnOrderIds; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      RETURN_TRANSACTION_ID((short)1, "returnTransactionId"),
      /**
       * 
       * @see ReturnTransactionStatus
       */
      STATUS((short)2, "status"),
      RETURN_ORDER_IDS((short)3, "returnOrderIds");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // RETURN_TRANSACTION_ID
            return RETURN_TRANSACTION_ID;
          case 2: // STATUS
            return STATUS;
          case 3: // RETURN_ORDER_IDS
            return RETURN_ORDER_IDS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __RETURNTRANSACTIONID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.RETURN_TRANSACTION_ID, new org.apache.thrift.meta_data.FieldMetaData("returnTransactionId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.STATUS, new org.apache.thrift.meta_data.FieldMetaData("status", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, ReturnTransactionStatus.class)));
      tmpMap.put(_Fields.RETURN_ORDER_IDS, new org.apache.thrift.meta_data.FieldMetaData("returnOrderIds", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(changeReturnTransactionStatus_args.class, metaDataMap);
    }

    public changeReturnTransactionStatus_args() {
    }

    public changeReturnTransactionStatus_args(
      long returnTransactionId,
      ReturnTransactionStatus status,
      List<Long> returnOrderIds)
    {
      this();
      this.returnTransactionId = returnTransactionId;
      setReturnTransactionIdIsSet(true);
      this.status = status;
      this.returnOrderIds = returnOrderIds;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public changeReturnTransactionStatus_args(changeReturnTransactionStatus_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.returnTransactionId = other.returnTransactionId;
      if (other.isSetStatus()) {
        this.status = other.status;
      }
      if (other.isSetReturnOrderIds()) {
        List<Long> __this__returnOrderIds = new ArrayList<Long>();
        for (Long other_element : other.returnOrderIds) {
          __this__returnOrderIds.add(other_element);
        }
        this.returnOrderIds = __this__returnOrderIds;
      }
    }

    public changeReturnTransactionStatus_args deepCopy() {
      return new changeReturnTransactionStatus_args(this);
    }

    @Override
    public void clear() {
      setReturnTransactionIdIsSet(false);
      this.returnTransactionId = 0;
      this.status = null;
      this.returnOrderIds = null;
    }

    public long getReturnTransactionId() {
      return this.returnTransactionId;
    }

    public void setReturnTransactionId(long returnTransactionId) {
      this.returnTransactionId = returnTransactionId;
      setReturnTransactionIdIsSet(true);
    }

    public void unsetReturnTransactionId() {
      __isset_bit_vector.clear(__RETURNTRANSACTIONID_ISSET_ID);
    }

    /** Returns true if field returnTransactionId is set (has been assigned a value) and false otherwise */
    public boolean isSetReturnTransactionId() {
      return __isset_bit_vector.get(__RETURNTRANSACTIONID_ISSET_ID);
    }

    public void setReturnTransactionIdIsSet(boolean value) {
      __isset_bit_vector.set(__RETURNTRANSACTIONID_ISSET_ID, value);
    }

    /**
     * 
     * @see ReturnTransactionStatus
     */
    public ReturnTransactionStatus getStatus() {
      return this.status;
    }

    /**
     * 
     * @see ReturnTransactionStatus
     */
    public void setStatus(ReturnTransactionStatus status) {
      this.status = status;
    }

    public void unsetStatus() {
      this.status = null;
    }

    /** Returns true if field status is set (has been assigned a value) and false otherwise */
    public boolean isSetStatus() {
      return this.status != null;
    }

    public void setStatusIsSet(boolean value) {
      if (!value) {
        this.status = null;
      }
    }

    public int getReturnOrderIdsSize() {
      return (this.returnOrderIds == null) ? 0 : this.returnOrderIds.size();
    }

    public java.util.Iterator<Long> getReturnOrderIdsIterator() {
      return (this.returnOrderIds == null) ? null : this.returnOrderIds.iterator();
    }

    public void addToReturnOrderIds(long elem) {
      if (this.returnOrderIds == null) {
        this.returnOrderIds = new ArrayList<Long>();
      }
      this.returnOrderIds.add(elem);
    }

    public List<Long> getReturnOrderIds() {
      return this.returnOrderIds;
    }

    public void setReturnOrderIds(List<Long> returnOrderIds) {
      this.returnOrderIds = returnOrderIds;
    }

    public void unsetReturnOrderIds() {
      this.returnOrderIds = null;
    }

    /** Returns true if field returnOrderIds is set (has been assigned a value) and false otherwise */
    public boolean isSetReturnOrderIds() {
      return this.returnOrderIds != null;
    }

    public void setReturnOrderIdsIsSet(boolean value) {
      if (!value) {
        this.returnOrderIds = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case RETURN_TRANSACTION_ID:
        if (value == null) {
          unsetReturnTransactionId();
        } else {
          setReturnTransactionId((Long)value);
        }
        break;

      case STATUS:
        if (value == null) {
          unsetStatus();
        } else {
          setStatus((ReturnTransactionStatus)value);
        }
        break;

      case RETURN_ORDER_IDS:
        if (value == null) {
          unsetReturnOrderIds();
        } else {
          setReturnOrderIds((List<Long>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case RETURN_TRANSACTION_ID:
        return Long.valueOf(getReturnTransactionId());

      case STATUS:
        return getStatus();

      case RETURN_ORDER_IDS:
        return getReturnOrderIds();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case RETURN_TRANSACTION_ID:
        return isSetReturnTransactionId();
      case STATUS:
        return isSetStatus();
      case RETURN_ORDER_IDS:
        return isSetReturnOrderIds();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof changeReturnTransactionStatus_args)
        return this.equals((changeReturnTransactionStatus_args)that);
      return false;
    }

    public boolean equals(changeReturnTransactionStatus_args that) {
      if (that == null)
        return false;

      boolean this_present_returnTransactionId = true;
      boolean that_present_returnTransactionId = true;
      if (this_present_returnTransactionId || that_present_returnTransactionId) {
        if (!(this_present_returnTransactionId && that_present_returnTransactionId))
          return false;
        if (this.returnTransactionId != that.returnTransactionId)
          return false;
      }

      boolean this_present_status = true && this.isSetStatus();
      boolean that_present_status = true && that.isSetStatus();
      if (this_present_status || that_present_status) {
        if (!(this_present_status && that_present_status))
          return false;
        if (!this.status.equals(that.status))
          return false;
      }

      boolean this_present_returnOrderIds = true && this.isSetReturnOrderIds();
      boolean that_present_returnOrderIds = true && that.isSetReturnOrderIds();
      if (this_present_returnOrderIds || that_present_returnOrderIds) {
        if (!(this_present_returnOrderIds && that_present_returnOrderIds))
          return false;
        if (!this.returnOrderIds.equals(that.returnOrderIds))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(changeReturnTransactionStatus_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      changeReturnTransactionStatus_args typedOther = (changeReturnTransactionStatus_args)other;

      lastComparison = Boolean.valueOf(isSetReturnTransactionId()).compareTo(typedOther.isSetReturnTransactionId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetReturnTransactionId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.returnTransactionId, typedOther.returnTransactionId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetStatus()).compareTo(typedOther.isSetStatus());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetStatus()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.status, typedOther.status);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetReturnOrderIds()).compareTo(typedOther.isSetReturnOrderIds());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetReturnOrderIds()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.returnOrderIds, typedOther.returnOrderIds);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // RETURN_TRANSACTION_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.returnTransactionId = iprot.readI64();
              setReturnTransactionIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // STATUS
            if (field.type == org.apache.thrift.protocol.TType.I32) {
              this.status = ReturnTransactionStatus.findByValue(iprot.readI32());
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // RETURN_ORDER_IDS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list757 = iprot.readListBegin();
                this.returnOrderIds = new ArrayList<Long>(_list757.size);
                for (int _i758 = 0; _i758 < _list757.size; ++_i758)
                {
                  long _elem759; // required
                  _elem759 = iprot.readI64();
                  this.returnOrderIds.add(_elem759);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(RETURN_TRANSACTION_ID_FIELD_DESC);
      oprot.writeI64(this.returnTransactionId);
      oprot.writeFieldEnd();
      if (this.status != null) {
        oprot.writeFieldBegin(STATUS_FIELD_DESC);
        oprot.writeI32(this.status.getValue());
        oprot.writeFieldEnd();
      }
      if (this.returnOrderIds != null) {
        oprot.writeFieldBegin(RETURN_ORDER_IDS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, this.returnOrderIds.size()));
          for (long _iter760 : this.returnOrderIds)
          {
            oprot.writeI64(_iter760);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("changeReturnTransactionStatus_args(");
      boolean first = true;

      sb.append("returnTransactionId:");
      sb.append(this.returnTransactionId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("status:");
      if (this.status == null) {
        sb.append("null");
      } else {
        sb.append(this.status);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("returnOrderIds:");
      if (this.returnOrderIds == null) {
        sb.append("null");
      } else {
        sb.append(this.returnOrderIds);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class changeReturnTransactionStatus_result implements org.apache.thrift.TBase<changeReturnTransactionStatus_result, changeReturnTransactionStatus_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("changeReturnTransactionStatus_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private boolean success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(changeReturnTransactionStatus_result.class, metaDataMap);
    }

    public changeReturnTransactionStatus_result() {
    }

    public changeReturnTransactionStatus_result(
      boolean success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public changeReturnTransactionStatus_result(changeReturnTransactionStatus_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public changeReturnTransactionStatus_result deepCopy() {
      return new changeReturnTransactionStatus_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = false;
      this.ex = null;
    }

    public boolean isSuccess() {
      return this.success;
    }

    public void setSuccess(boolean success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Boolean.valueOf(isSuccess());

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof changeReturnTransactionStatus_result)
        return this.equals((changeReturnTransactionStatus_result)that);
      return false;
    }

    public boolean equals(changeReturnTransactionStatus_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(changeReturnTransactionStatus_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      changeReturnTransactionStatus_result typedOther = (changeReturnTransactionStatus_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.success = iprot.readBool();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBool(this.success);
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("changeReturnTransactionStatus_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class createReturnPickupRequest_args implements org.apache.thrift.TBase<createReturnPickupRequest_args, createReturnPickupRequest_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("createReturnPickupRequest_args");

    private static final org.apache.thrift.protocol.TField RETURN_ORDER_IDS_FIELD_DESC = new org.apache.thrift.protocol.TField("returnOrderIds", org.apache.thrift.protocol.TType.LIST, (short)1);

    private List<Long> returnOrderIds; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      RETURN_ORDER_IDS((short)1, "returnOrderIds");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // RETURN_ORDER_IDS
            return RETURN_ORDER_IDS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.RETURN_ORDER_IDS, new org.apache.thrift.meta_data.FieldMetaData("returnOrderIds", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(createReturnPickupRequest_args.class, metaDataMap);
    }

    public createReturnPickupRequest_args() {
    }

    public createReturnPickupRequest_args(
      List<Long> returnOrderIds)
    {
      this();
      this.returnOrderIds = returnOrderIds;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public createReturnPickupRequest_args(createReturnPickupRequest_args other) {
      if (other.isSetReturnOrderIds()) {
        List<Long> __this__returnOrderIds = new ArrayList<Long>();
        for (Long other_element : other.returnOrderIds) {
          __this__returnOrderIds.add(other_element);
        }
        this.returnOrderIds = __this__returnOrderIds;
      }
    }

    public createReturnPickupRequest_args deepCopy() {
      return new createReturnPickupRequest_args(this);
    }

    @Override
    public void clear() {
      this.returnOrderIds = null;
    }

    public int getReturnOrderIdsSize() {
      return (this.returnOrderIds == null) ? 0 : this.returnOrderIds.size();
    }

    public java.util.Iterator<Long> getReturnOrderIdsIterator() {
      return (this.returnOrderIds == null) ? null : this.returnOrderIds.iterator();
    }

    public void addToReturnOrderIds(long elem) {
      if (this.returnOrderIds == null) {
        this.returnOrderIds = new ArrayList<Long>();
      }
      this.returnOrderIds.add(elem);
    }

    public List<Long> getReturnOrderIds() {
      return this.returnOrderIds;
    }

    public void setReturnOrderIds(List<Long> returnOrderIds) {
      this.returnOrderIds = returnOrderIds;
    }

    public void unsetReturnOrderIds() {
      this.returnOrderIds = null;
    }

    /** Returns true if field returnOrderIds is set (has been assigned a value) and false otherwise */
    public boolean isSetReturnOrderIds() {
      return this.returnOrderIds != null;
    }

    public void setReturnOrderIdsIsSet(boolean value) {
      if (!value) {
        this.returnOrderIds = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case RETURN_ORDER_IDS:
        if (value == null) {
          unsetReturnOrderIds();
        } else {
          setReturnOrderIds((List<Long>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case RETURN_ORDER_IDS:
        return getReturnOrderIds();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case RETURN_ORDER_IDS:
        return isSetReturnOrderIds();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof createReturnPickupRequest_args)
        return this.equals((createReturnPickupRequest_args)that);
      return false;
    }

    public boolean equals(createReturnPickupRequest_args that) {
      if (that == null)
        return false;

      boolean this_present_returnOrderIds = true && this.isSetReturnOrderIds();
      boolean that_present_returnOrderIds = true && that.isSetReturnOrderIds();
      if (this_present_returnOrderIds || that_present_returnOrderIds) {
        if (!(this_present_returnOrderIds && that_present_returnOrderIds))
          return false;
        if (!this.returnOrderIds.equals(that.returnOrderIds))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(createReturnPickupRequest_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      createReturnPickupRequest_args typedOther = (createReturnPickupRequest_args)other;

      lastComparison = Boolean.valueOf(isSetReturnOrderIds()).compareTo(typedOther.isSetReturnOrderIds());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetReturnOrderIds()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.returnOrderIds, typedOther.returnOrderIds);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // RETURN_ORDER_IDS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list761 = iprot.readListBegin();
                this.returnOrderIds = new ArrayList<Long>(_list761.size);
                for (int _i762 = 0; _i762 < _list761.size; ++_i762)
                {
                  long _elem763; // required
                  _elem763 = iprot.readI64();
                  this.returnOrderIds.add(_elem763);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.returnOrderIds != null) {
        oprot.writeFieldBegin(RETURN_ORDER_IDS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, this.returnOrderIds.size()));
          for (long _iter764 : this.returnOrderIds)
          {
            oprot.writeI64(_iter764);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("createReturnPickupRequest_args(");
      boolean first = true;

      sb.append("returnOrderIds:");
      if (this.returnOrderIds == null) {
        sb.append("null");
      } else {
        sb.append(this.returnOrderIds);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class createReturnPickupRequest_result implements org.apache.thrift.TBase<createReturnPickupRequest_result, createReturnPickupRequest_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("createReturnPickupRequest_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.I64, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private long success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(createReturnPickupRequest_result.class, metaDataMap);
    }

    public createReturnPickupRequest_result() {
    }

    public createReturnPickupRequest_result(
      long success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public createReturnPickupRequest_result(createReturnPickupRequest_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public createReturnPickupRequest_result deepCopy() {
      return new createReturnPickupRequest_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = 0;
      this.ex = null;
    }

    public long getSuccess() {
      return this.success;
    }

    public void setSuccess(long success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Long)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Long.valueOf(getSuccess());

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof createReturnPickupRequest_result)
        return this.equals((createReturnPickupRequest_result)that);
      return false;
    }

    public boolean equals(createReturnPickupRequest_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(createReturnPickupRequest_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      createReturnPickupRequest_result typedOther = (createReturnPickupRequest_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.success = iprot.readI64();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeI64(this.success);
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("createReturnPickupRequest_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class updateReturnPickupRequest_args implements org.apache.thrift.TBase<updateReturnPickupRequest_args, updateReturnPickupRequest_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateReturnPickupRequest_args");

    private static final org.apache.thrift.protocol.TField RETURN_PICKUP_REQUEST_FIELD_DESC = new org.apache.thrift.protocol.TField("returnPickupRequest", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private ReturnPickupRequest returnPickupRequest; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      RETURN_PICKUP_REQUEST((short)1, "returnPickupRequest");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // RETURN_PICKUP_REQUEST
            return RETURN_PICKUP_REQUEST;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.RETURN_PICKUP_REQUEST, new org.apache.thrift.meta_data.FieldMetaData("returnPickupRequest", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, ReturnPickupRequest.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateReturnPickupRequest_args.class, metaDataMap);
    }

    public updateReturnPickupRequest_args() {
    }

    public updateReturnPickupRequest_args(
      ReturnPickupRequest returnPickupRequest)
    {
      this();
      this.returnPickupRequest = returnPickupRequest;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public updateReturnPickupRequest_args(updateReturnPickupRequest_args other) {
      if (other.isSetReturnPickupRequest()) {
        this.returnPickupRequest = new ReturnPickupRequest(other.returnPickupRequest);
      }
    }

    public updateReturnPickupRequest_args deepCopy() {
      return new updateReturnPickupRequest_args(this);
    }

    @Override
    public void clear() {
      this.returnPickupRequest = null;
    }

    public ReturnPickupRequest getReturnPickupRequest() {
      return this.returnPickupRequest;
    }

    public void setReturnPickupRequest(ReturnPickupRequest returnPickupRequest) {
      this.returnPickupRequest = returnPickupRequest;
    }

    public void unsetReturnPickupRequest() {
      this.returnPickupRequest = null;
    }

    /** Returns true if field returnPickupRequest is set (has been assigned a value) and false otherwise */
    public boolean isSetReturnPickupRequest() {
      return this.returnPickupRequest != null;
    }

    public void setReturnPickupRequestIsSet(boolean value) {
      if (!value) {
        this.returnPickupRequest = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case RETURN_PICKUP_REQUEST:
        if (value == null) {
          unsetReturnPickupRequest();
        } else {
          setReturnPickupRequest((ReturnPickupRequest)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case RETURN_PICKUP_REQUEST:
        return getReturnPickupRequest();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case RETURN_PICKUP_REQUEST:
        return isSetReturnPickupRequest();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof updateReturnPickupRequest_args)
        return this.equals((updateReturnPickupRequest_args)that);
      return false;
    }

    public boolean equals(updateReturnPickupRequest_args that) {
      if (that == null)
        return false;

      boolean this_present_returnPickupRequest = true && this.isSetReturnPickupRequest();
      boolean that_present_returnPickupRequest = true && that.isSetReturnPickupRequest();
      if (this_present_returnPickupRequest || that_present_returnPickupRequest) {
        if (!(this_present_returnPickupRequest && that_present_returnPickupRequest))
          return false;
        if (!this.returnPickupRequest.equals(that.returnPickupRequest))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(updateReturnPickupRequest_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      updateReturnPickupRequest_args typedOther = (updateReturnPickupRequest_args)other;

      lastComparison = Boolean.valueOf(isSetReturnPickupRequest()).compareTo(typedOther.isSetReturnPickupRequest());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetReturnPickupRequest()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.returnPickupRequest, typedOther.returnPickupRequest);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // RETURN_PICKUP_REQUEST
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.returnPickupRequest = new ReturnPickupRequest();
              this.returnPickupRequest.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.returnPickupRequest != null) {
        oprot.writeFieldBegin(RETURN_PICKUP_REQUEST_FIELD_DESC);
        this.returnPickupRequest.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("updateReturnPickupRequest_args(");
      boolean first = true;

      sb.append("returnPickupRequest:");
      if (this.returnPickupRequest == null) {
        sb.append("null");
      } else {
        sb.append(this.returnPickupRequest);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class updateReturnPickupRequest_result implements org.apache.thrift.TBase<updateReturnPickupRequest_result, updateReturnPickupRequest_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateReturnPickupRequest_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private boolean success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateReturnPickupRequest_result.class, metaDataMap);
    }

    public updateReturnPickupRequest_result() {
    }

    public updateReturnPickupRequest_result(
      boolean success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public updateReturnPickupRequest_result(updateReturnPickupRequest_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public updateReturnPickupRequest_result deepCopy() {
      return new updateReturnPickupRequest_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = false;
      this.ex = null;
    }

    public boolean isSuccess() {
      return this.success;
    }

    public void setSuccess(boolean success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Boolean.valueOf(isSuccess());

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof updateReturnPickupRequest_result)
        return this.equals((updateReturnPickupRequest_result)that);
      return false;
    }

    public boolean equals(updateReturnPickupRequest_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(updateReturnPickupRequest_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      updateReturnPickupRequest_result typedOther = (updateReturnPickupRequest_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.success = iprot.readBool();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBool(this.success);
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("updateReturnPickupRequest_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getAllReturnOrdersForReturnPickupRequest_args implements org.apache.thrift.TBase<getAllReturnOrdersForReturnPickupRequest_args, getAllReturnOrdersForReturnPickupRequest_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllReturnOrdersForReturnPickupRequest_args");

    private static final org.apache.thrift.protocol.TField LOGISTICS_REQUEST_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("logisticsRequestId", org.apache.thrift.protocol.TType.I64, (short)1);

    private long logisticsRequestId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      LOGISTICS_REQUEST_ID((short)1, "logisticsRequestId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // LOGISTICS_REQUEST_ID
            return LOGISTICS_REQUEST_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __LOGISTICSREQUESTID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.LOGISTICS_REQUEST_ID, new org.apache.thrift.meta_data.FieldMetaData("logisticsRequestId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAllReturnOrdersForReturnPickupRequest_args.class, metaDataMap);
    }

    public getAllReturnOrdersForReturnPickupRequest_args() {
    }

    public getAllReturnOrdersForReturnPickupRequest_args(
      long logisticsRequestId)
    {
      this();
      this.logisticsRequestId = logisticsRequestId;
      setLogisticsRequestIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getAllReturnOrdersForReturnPickupRequest_args(getAllReturnOrdersForReturnPickupRequest_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.logisticsRequestId = other.logisticsRequestId;
    }

    public getAllReturnOrdersForReturnPickupRequest_args deepCopy() {
      return new getAllReturnOrdersForReturnPickupRequest_args(this);
    }

    @Override
    public void clear() {
      setLogisticsRequestIdIsSet(false);
      this.logisticsRequestId = 0;
    }

    public long getLogisticsRequestId() {
      return this.logisticsRequestId;
    }

    public void setLogisticsRequestId(long logisticsRequestId) {
      this.logisticsRequestId = logisticsRequestId;
      setLogisticsRequestIdIsSet(true);
    }

    public void unsetLogisticsRequestId() {
      __isset_bit_vector.clear(__LOGISTICSREQUESTID_ISSET_ID);
    }

    /** Returns true if field logisticsRequestId is set (has been assigned a value) and false otherwise */
    public boolean isSetLogisticsRequestId() {
      return __isset_bit_vector.get(__LOGISTICSREQUESTID_ISSET_ID);
    }

    public void setLogisticsRequestIdIsSet(boolean value) {
      __isset_bit_vector.set(__LOGISTICSREQUESTID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case LOGISTICS_REQUEST_ID:
        if (value == null) {
          unsetLogisticsRequestId();
        } else {
          setLogisticsRequestId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case LOGISTICS_REQUEST_ID:
        return Long.valueOf(getLogisticsRequestId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case LOGISTICS_REQUEST_ID:
        return isSetLogisticsRequestId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getAllReturnOrdersForReturnPickupRequest_args)
        return this.equals((getAllReturnOrdersForReturnPickupRequest_args)that);
      return false;
    }

    public boolean equals(getAllReturnOrdersForReturnPickupRequest_args that) {
      if (that == null)
        return false;

      boolean this_present_logisticsRequestId = true;
      boolean that_present_logisticsRequestId = true;
      if (this_present_logisticsRequestId || that_present_logisticsRequestId) {
        if (!(this_present_logisticsRequestId && that_present_logisticsRequestId))
          return false;
        if (this.logisticsRequestId != that.logisticsRequestId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getAllReturnOrdersForReturnPickupRequest_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getAllReturnOrdersForReturnPickupRequest_args typedOther = (getAllReturnOrdersForReturnPickupRequest_args)other;

      lastComparison = Boolean.valueOf(isSetLogisticsRequestId()).compareTo(typedOther.isSetLogisticsRequestId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetLogisticsRequestId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.logisticsRequestId, typedOther.logisticsRequestId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // LOGISTICS_REQUEST_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.logisticsRequestId = iprot.readI64();
              setLogisticsRequestIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(LOGISTICS_REQUEST_ID_FIELD_DESC);
      oprot.writeI64(this.logisticsRequestId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getAllReturnOrdersForReturnPickupRequest_args(");
      boolean first = true;

      sb.append("logisticsRequestId:");
      sb.append(this.logisticsRequestId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getAllReturnOrdersForReturnPickupRequest_result implements org.apache.thrift.TBase<getAllReturnOrdersForReturnPickupRequest_result, getAllReturnOrdersForReturnPickupRequest_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllReturnOrdersForReturnPickupRequest_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private List<ReturnOrderInfo> success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, ReturnOrderInfo.class))));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAllReturnOrdersForReturnPickupRequest_result.class, metaDataMap);
    }

    public getAllReturnOrdersForReturnPickupRequest_result() {
    }

    public getAllReturnOrdersForReturnPickupRequest_result(
      List<ReturnOrderInfo> success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getAllReturnOrdersForReturnPickupRequest_result(getAllReturnOrdersForReturnPickupRequest_result other) {
      if (other.isSetSuccess()) {
        List<ReturnOrderInfo> __this__success = new ArrayList<ReturnOrderInfo>();
        for (ReturnOrderInfo other_element : other.success) {
          __this__success.add(new ReturnOrderInfo(other_element));
        }
        this.success = __this__success;
      }
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public getAllReturnOrdersForReturnPickupRequest_result deepCopy() {
      return new getAllReturnOrdersForReturnPickupRequest_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.ex = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<ReturnOrderInfo> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(ReturnOrderInfo elem) {
      if (this.success == null) {
        this.success = new ArrayList<ReturnOrderInfo>();
      }
      this.success.add(elem);
    }

    public List<ReturnOrderInfo> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<ReturnOrderInfo> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<ReturnOrderInfo>)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getAllReturnOrdersForReturnPickupRequest_result)
        return this.equals((getAllReturnOrdersForReturnPickupRequest_result)that);
      return false;
    }

    public boolean equals(getAllReturnOrdersForReturnPickupRequest_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getAllReturnOrdersForReturnPickupRequest_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getAllReturnOrdersForReturnPickupRequest_result typedOther = (getAllReturnOrdersForReturnPickupRequest_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list765 = iprot.readListBegin();
                this.success = new ArrayList<ReturnOrderInfo>(_list765.size);
                for (int _i766 = 0; _i766 < _list765.size; ++_i766)
                {
                  ReturnOrderInfo _elem767; // required
                  _elem767 = new ReturnOrderInfo();
                  _elem767.read(iprot);
                  this.success.add(_elem767);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (ReturnOrderInfo _iter768 : this.success)
          {
            _iter768.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getAllReturnOrdersForReturnPickupRequest_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class receiveReturnPickup_args implements org.apache.thrift.TBase<receiveReturnPickup_args, receiveReturnPickup_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("receiveReturnPickup_args");

    private static final org.apache.thrift.protocol.TField RETURN_ORDERS_MAP_FIELD_DESC = new org.apache.thrift.protocol.TField("returnOrdersMap", org.apache.thrift.protocol.TType.MAP, (short)1);
    private static final org.apache.thrift.protocol.TField ID_FIELD_DESC = new org.apache.thrift.protocol.TField("id", org.apache.thrift.protocol.TType.I64, (short)2);

    private Map<Long,Map<String,String>> returnOrdersMap; // required
    private long id; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      RETURN_ORDERS_MAP((short)1, "returnOrdersMap"),
      ID((short)2, "id");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // RETURN_ORDERS_MAP
            return RETURN_ORDERS_MAP;
          case 2: // ID
            return ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.RETURN_ORDERS_MAP, new org.apache.thrift.meta_data.FieldMetaData("returnOrdersMap", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64), 
              new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
                  new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING), 
                  new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)))));
      tmpMap.put(_Fields.ID, new org.apache.thrift.meta_data.FieldMetaData("id", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(receiveReturnPickup_args.class, metaDataMap);
    }

    public receiveReturnPickup_args() {
    }

    public receiveReturnPickup_args(
      Map<Long,Map<String,String>> returnOrdersMap,
      long id)
    {
      this();
      this.returnOrdersMap = returnOrdersMap;
      this.id = id;
      setIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public receiveReturnPickup_args(receiveReturnPickup_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      if (other.isSetReturnOrdersMap()) {
        Map<Long,Map<String,String>> __this__returnOrdersMap = new HashMap<Long,Map<String,String>>();
        for (Map.Entry<Long, Map<String,String>> other_element : other.returnOrdersMap.entrySet()) {

          Long other_element_key = other_element.getKey();
          Map<String,String> other_element_value = other_element.getValue();

          Long __this__returnOrdersMap_copy_key = other_element_key;

          Map<String,String> __this__returnOrdersMap_copy_value = new HashMap<String,String>();
          for (Map.Entry<String, String> other_element_value_element : other_element_value.entrySet()) {

            String other_element_value_element_key = other_element_value_element.getKey();
            String other_element_value_element_value = other_element_value_element.getValue();

            String __this__returnOrdersMap_copy_value_copy_key = other_element_value_element_key;

            String __this__returnOrdersMap_copy_value_copy_value = other_element_value_element_value;

            __this__returnOrdersMap_copy_value.put(__this__returnOrdersMap_copy_value_copy_key, __this__returnOrdersMap_copy_value_copy_value);
          }

          __this__returnOrdersMap.put(__this__returnOrdersMap_copy_key, __this__returnOrdersMap_copy_value);
        }
        this.returnOrdersMap = __this__returnOrdersMap;
      }
      this.id = other.id;
    }

    public receiveReturnPickup_args deepCopy() {
      return new receiveReturnPickup_args(this);
    }

    @Override
    public void clear() {
      this.returnOrdersMap = null;
      setIdIsSet(false);
      this.id = 0;
    }

    public int getReturnOrdersMapSize() {
      return (this.returnOrdersMap == null) ? 0 : this.returnOrdersMap.size();
    }

    public void putToReturnOrdersMap(long key, Map<String,String> val) {
      if (this.returnOrdersMap == null) {
        this.returnOrdersMap = new HashMap<Long,Map<String,String>>();
      }
      this.returnOrdersMap.put(key, val);
    }

    public Map<Long,Map<String,String>> getReturnOrdersMap() {
      return this.returnOrdersMap;
    }

    public void setReturnOrdersMap(Map<Long,Map<String,String>> returnOrdersMap) {
      this.returnOrdersMap = returnOrdersMap;
    }

    public void unsetReturnOrdersMap() {
      this.returnOrdersMap = null;
    }

    /** Returns true if field returnOrdersMap is set (has been assigned a value) and false otherwise */
    public boolean isSetReturnOrdersMap() {
      return this.returnOrdersMap != null;
    }

    public void setReturnOrdersMapIsSet(boolean value) {
      if (!value) {
        this.returnOrdersMap = null;
      }
    }

    public long getId() {
      return this.id;
    }

    public void setId(long id) {
      this.id = id;
      setIdIsSet(true);
    }

    public void unsetId() {
      __isset_bit_vector.clear(__ID_ISSET_ID);
    }

    /** Returns true if field id is set (has been assigned a value) and false otherwise */
    public boolean isSetId() {
      return __isset_bit_vector.get(__ID_ISSET_ID);
    }

    public void setIdIsSet(boolean value) {
      __isset_bit_vector.set(__ID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case RETURN_ORDERS_MAP:
        if (value == null) {
          unsetReturnOrdersMap();
        } else {
          setReturnOrdersMap((Map<Long,Map<String,String>>)value);
        }
        break;

      case ID:
        if (value == null) {
          unsetId();
        } else {
          setId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case RETURN_ORDERS_MAP:
        return getReturnOrdersMap();

      case ID:
        return Long.valueOf(getId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case RETURN_ORDERS_MAP:
        return isSetReturnOrdersMap();
      case ID:
        return isSetId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof receiveReturnPickup_args)
        return this.equals((receiveReturnPickup_args)that);
      return false;
    }

    public boolean equals(receiveReturnPickup_args that) {
      if (that == null)
        return false;

      boolean this_present_returnOrdersMap = true && this.isSetReturnOrdersMap();
      boolean that_present_returnOrdersMap = true && that.isSetReturnOrdersMap();
      if (this_present_returnOrdersMap || that_present_returnOrdersMap) {
        if (!(this_present_returnOrdersMap && that_present_returnOrdersMap))
          return false;
        if (!this.returnOrdersMap.equals(that.returnOrdersMap))
          return false;
      }

      boolean this_present_id = true;
      boolean that_present_id = true;
      if (this_present_id || that_present_id) {
        if (!(this_present_id && that_present_id))
          return false;
        if (this.id != that.id)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(receiveReturnPickup_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      receiveReturnPickup_args typedOther = (receiveReturnPickup_args)other;

      lastComparison = Boolean.valueOf(isSetReturnOrdersMap()).compareTo(typedOther.isSetReturnOrdersMap());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetReturnOrdersMap()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.returnOrdersMap, typedOther.returnOrdersMap);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetId()).compareTo(typedOther.isSetId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.id, typedOther.id);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // RETURN_ORDERS_MAP
            if (field.type == org.apache.thrift.protocol.TType.MAP) {
              {
                org.apache.thrift.protocol.TMap _map769 = iprot.readMapBegin();
                this.returnOrdersMap = new HashMap<Long,Map<String,String>>(2*_map769.size);
                for (int _i770 = 0; _i770 < _map769.size; ++_i770)
                {
                  long _key771; // required
                  Map<String,String> _val772; // required
                  _key771 = iprot.readI64();
                  {
                    org.apache.thrift.protocol.TMap _map773 = iprot.readMapBegin();
                    _val772 = new HashMap<String,String>(2*_map773.size);
                    for (int _i774 = 0; _i774 < _map773.size; ++_i774)
                    {
                      String _key775; // required
                      String _val776; // required
                      _key775 = iprot.readString();
                      _val776 = iprot.readString();
                      _val772.put(_key775, _val776);
                    }
                    iprot.readMapEnd();
                  }
                  this.returnOrdersMap.put(_key771, _val772);
                }
                iprot.readMapEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.id = iprot.readI64();
              setIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.returnOrdersMap != null) {
        oprot.writeFieldBegin(RETURN_ORDERS_MAP_FIELD_DESC);
        {
          oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.I64, org.apache.thrift.protocol.TType.MAP, this.returnOrdersMap.size()));
          for (Map.Entry<Long, Map<String,String>> _iter777 : this.returnOrdersMap.entrySet())
          {
            oprot.writeI64(_iter777.getKey());
            {
              oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, _iter777.getValue().size()));
              for (Map.Entry<String, String> _iter778 : _iter777.getValue().entrySet())
              {
                oprot.writeString(_iter778.getKey());
                oprot.writeString(_iter778.getValue());
              }
              oprot.writeMapEnd();
            }
          }
          oprot.writeMapEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldBegin(ID_FIELD_DESC);
      oprot.writeI64(this.id);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("receiveReturnPickup_args(");
      boolean first = true;

      sb.append("returnOrdersMap:");
      if (this.returnOrdersMap == null) {
        sb.append("null");
      } else {
        sb.append(this.returnOrdersMap);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("id:");
      sb.append(this.id);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class receiveReturnPickup_result implements org.apache.thrift.TBase<receiveReturnPickup_result, receiveReturnPickup_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("receiveReturnPickup_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private boolean success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(receiveReturnPickup_result.class, metaDataMap);
    }

    public receiveReturnPickup_result() {
    }

    public receiveReturnPickup_result(
      boolean success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public receiveReturnPickup_result(receiveReturnPickup_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public receiveReturnPickup_result deepCopy() {
      return new receiveReturnPickup_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = false;
      this.ex = null;
    }

    public boolean isSuccess() {
      return this.success;
    }

    public void setSuccess(boolean success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Boolean.valueOf(isSuccess());

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof receiveReturnPickup_result)
        return this.equals((receiveReturnPickup_result)that);
      return false;
    }

    public boolean equals(receiveReturnPickup_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(receiveReturnPickup_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      receiveReturnPickup_result typedOther = (receiveReturnPickup_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.success = iprot.readBool();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBool(this.success);
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("receiveReturnPickup_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class validateReturnPickup_args implements org.apache.thrift.TBase<validateReturnPickup_args, validateReturnPickup_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("validateReturnPickup_args");

    private static final org.apache.thrift.protocol.TField RETURN_PICKUP_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("returnPickupId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField RETURN_ORDERS_MAP_FIELD_DESC = new org.apache.thrift.protocol.TField("returnOrdersMap", org.apache.thrift.protocol.TType.MAP, (short)2);

    private long returnPickupId; // required
    private Map<Long,Boolean> returnOrdersMap; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      RETURN_PICKUP_ID((short)1, "returnPickupId"),
      RETURN_ORDERS_MAP((short)2, "returnOrdersMap");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // RETURN_PICKUP_ID
            return RETURN_PICKUP_ID;
          case 2: // RETURN_ORDERS_MAP
            return RETURN_ORDERS_MAP;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __RETURNPICKUPID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.RETURN_PICKUP_ID, new org.apache.thrift.meta_data.FieldMetaData("returnPickupId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.RETURN_ORDERS_MAP, new org.apache.thrift.meta_data.FieldMetaData("returnOrdersMap", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64), 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(validateReturnPickup_args.class, metaDataMap);
    }

    public validateReturnPickup_args() {
    }

    public validateReturnPickup_args(
      long returnPickupId,
      Map<Long,Boolean> returnOrdersMap)
    {
      this();
      this.returnPickupId = returnPickupId;
      setReturnPickupIdIsSet(true);
      this.returnOrdersMap = returnOrdersMap;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public validateReturnPickup_args(validateReturnPickup_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.returnPickupId = other.returnPickupId;
      if (other.isSetReturnOrdersMap()) {
        Map<Long,Boolean> __this__returnOrdersMap = new HashMap<Long,Boolean>();
        for (Map.Entry<Long, Boolean> other_element : other.returnOrdersMap.entrySet()) {

          Long other_element_key = other_element.getKey();
          Boolean other_element_value = other_element.getValue();

          Long __this__returnOrdersMap_copy_key = other_element_key;

          Boolean __this__returnOrdersMap_copy_value = other_element_value;

          __this__returnOrdersMap.put(__this__returnOrdersMap_copy_key, __this__returnOrdersMap_copy_value);
        }
        this.returnOrdersMap = __this__returnOrdersMap;
      }
    }

    public validateReturnPickup_args deepCopy() {
      return new validateReturnPickup_args(this);
    }

    @Override
    public void clear() {
      setReturnPickupIdIsSet(false);
      this.returnPickupId = 0;
      this.returnOrdersMap = null;
    }

    public long getReturnPickupId() {
      return this.returnPickupId;
    }

    public void setReturnPickupId(long returnPickupId) {
      this.returnPickupId = returnPickupId;
      setReturnPickupIdIsSet(true);
    }

    public void unsetReturnPickupId() {
      __isset_bit_vector.clear(__RETURNPICKUPID_ISSET_ID);
    }

    /** Returns true if field returnPickupId is set (has been assigned a value) and false otherwise */
    public boolean isSetReturnPickupId() {
      return __isset_bit_vector.get(__RETURNPICKUPID_ISSET_ID);
    }

    public void setReturnPickupIdIsSet(boolean value) {
      __isset_bit_vector.set(__RETURNPICKUPID_ISSET_ID, value);
    }

    public int getReturnOrdersMapSize() {
      return (this.returnOrdersMap == null) ? 0 : this.returnOrdersMap.size();
    }

    public void putToReturnOrdersMap(long key, boolean val) {
      if (this.returnOrdersMap == null) {
        this.returnOrdersMap = new HashMap<Long,Boolean>();
      }
      this.returnOrdersMap.put(key, val);
    }

    public Map<Long,Boolean> getReturnOrdersMap() {
      return this.returnOrdersMap;
    }

    public void setReturnOrdersMap(Map<Long,Boolean> returnOrdersMap) {
      this.returnOrdersMap = returnOrdersMap;
    }

    public void unsetReturnOrdersMap() {
      this.returnOrdersMap = null;
    }

    /** Returns true if field returnOrdersMap is set (has been assigned a value) and false otherwise */
    public boolean isSetReturnOrdersMap() {
      return this.returnOrdersMap != null;
    }

    public void setReturnOrdersMapIsSet(boolean value) {
      if (!value) {
        this.returnOrdersMap = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case RETURN_PICKUP_ID:
        if (value == null) {
          unsetReturnPickupId();
        } else {
          setReturnPickupId((Long)value);
        }
        break;

      case RETURN_ORDERS_MAP:
        if (value == null) {
          unsetReturnOrdersMap();
        } else {
          setReturnOrdersMap((Map<Long,Boolean>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case RETURN_PICKUP_ID:
        return Long.valueOf(getReturnPickupId());

      case RETURN_ORDERS_MAP:
        return getReturnOrdersMap();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case RETURN_PICKUP_ID:
        return isSetReturnPickupId();
      case RETURN_ORDERS_MAP:
        return isSetReturnOrdersMap();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof validateReturnPickup_args)
        return this.equals((validateReturnPickup_args)that);
      return false;
    }

    public boolean equals(validateReturnPickup_args that) {
      if (that == null)
        return false;

      boolean this_present_returnPickupId = true;
      boolean that_present_returnPickupId = true;
      if (this_present_returnPickupId || that_present_returnPickupId) {
        if (!(this_present_returnPickupId && that_present_returnPickupId))
          return false;
        if (this.returnPickupId != that.returnPickupId)
          return false;
      }

      boolean this_present_returnOrdersMap = true && this.isSetReturnOrdersMap();
      boolean that_present_returnOrdersMap = true && that.isSetReturnOrdersMap();
      if (this_present_returnOrdersMap || that_present_returnOrdersMap) {
        if (!(this_present_returnOrdersMap && that_present_returnOrdersMap))
          return false;
        if (!this.returnOrdersMap.equals(that.returnOrdersMap))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(validateReturnPickup_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      validateReturnPickup_args typedOther = (validateReturnPickup_args)other;

      lastComparison = Boolean.valueOf(isSetReturnPickupId()).compareTo(typedOther.isSetReturnPickupId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetReturnPickupId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.returnPickupId, typedOther.returnPickupId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetReturnOrdersMap()).compareTo(typedOther.isSetReturnOrdersMap());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetReturnOrdersMap()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.returnOrdersMap, typedOther.returnOrdersMap);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // RETURN_PICKUP_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.returnPickupId = iprot.readI64();
              setReturnPickupIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // RETURN_ORDERS_MAP
            if (field.type == org.apache.thrift.protocol.TType.MAP) {
              {
                org.apache.thrift.protocol.TMap _map779 = iprot.readMapBegin();
                this.returnOrdersMap = new HashMap<Long,Boolean>(2*_map779.size);
                for (int _i780 = 0; _i780 < _map779.size; ++_i780)
                {
                  long _key781; // required
                  boolean _val782; // required
                  _key781 = iprot.readI64();
                  _val782 = iprot.readBool();
                  this.returnOrdersMap.put(_key781, _val782);
                }
                iprot.readMapEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(RETURN_PICKUP_ID_FIELD_DESC);
      oprot.writeI64(this.returnPickupId);
      oprot.writeFieldEnd();
      if (this.returnOrdersMap != null) {
        oprot.writeFieldBegin(RETURN_ORDERS_MAP_FIELD_DESC);
        {
          oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.I64, org.apache.thrift.protocol.TType.BOOL, this.returnOrdersMap.size()));
          for (Map.Entry<Long, Boolean> _iter783 : this.returnOrdersMap.entrySet())
          {
            oprot.writeI64(_iter783.getKey());
            oprot.writeBool(_iter783.getValue());
          }
          oprot.writeMapEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("validateReturnPickup_args(");
      boolean first = true;

      sb.append("returnPickupId:");
      sb.append(this.returnPickupId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("returnOrdersMap:");
      if (this.returnOrdersMap == null) {
        sb.append("null");
      } else {
        sb.append(this.returnOrdersMap);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class validateReturnPickup_result implements org.apache.thrift.TBase<validateReturnPickup_result, validateReturnPickup_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("validateReturnPickup_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private boolean success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(validateReturnPickup_result.class, metaDataMap);
    }

    public validateReturnPickup_result() {
    }

    public validateReturnPickup_result(
      boolean success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public validateReturnPickup_result(validateReturnPickup_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public validateReturnPickup_result deepCopy() {
      return new validateReturnPickup_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = false;
      this.ex = null;
    }

    public boolean isSuccess() {
      return this.success;
    }

    public void setSuccess(boolean success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Boolean.valueOf(isSuccess());

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof validateReturnPickup_result)
        return this.equals((validateReturnPickup_result)that);
      return false;
    }

    public boolean equals(validateReturnPickup_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(validateReturnPickup_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      validateReturnPickup_result typedOther = (validateReturnPickup_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.success = iprot.readBool();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBool(this.success);
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("validateReturnPickup_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class processReturnPickup_args implements org.apache.thrift.TBase<processReturnPickup_args, processReturnPickup_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("processReturnPickup_args");

    private static final org.apache.thrift.protocol.TField RETURN_PICKUP_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("returnPickupId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField RETURN_ORDERS_MAP_FIELD_DESC = new org.apache.thrift.protocol.TField("returnOrdersMap", org.apache.thrift.protocol.TType.MAP, (short)2);

    private long returnPickupId; // required
    private Map<Long,Map<String,String>> returnOrdersMap; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      RETURN_PICKUP_ID((short)1, "returnPickupId"),
      RETURN_ORDERS_MAP((short)2, "returnOrdersMap");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // RETURN_PICKUP_ID
            return RETURN_PICKUP_ID;
          case 2: // RETURN_ORDERS_MAP
            return RETURN_ORDERS_MAP;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __RETURNPICKUPID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.RETURN_PICKUP_ID, new org.apache.thrift.meta_data.FieldMetaData("returnPickupId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.RETURN_ORDERS_MAP, new org.apache.thrift.meta_data.FieldMetaData("returnOrdersMap", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64), 
              new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
                  new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING), 
                  new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(processReturnPickup_args.class, metaDataMap);
    }

    public processReturnPickup_args() {
    }

    public processReturnPickup_args(
      long returnPickupId,
      Map<Long,Map<String,String>> returnOrdersMap)
    {
      this();
      this.returnPickupId = returnPickupId;
      setReturnPickupIdIsSet(true);
      this.returnOrdersMap = returnOrdersMap;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public processReturnPickup_args(processReturnPickup_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.returnPickupId = other.returnPickupId;
      if (other.isSetReturnOrdersMap()) {
        Map<Long,Map<String,String>> __this__returnOrdersMap = new HashMap<Long,Map<String,String>>();
        for (Map.Entry<Long, Map<String,String>> other_element : other.returnOrdersMap.entrySet()) {

          Long other_element_key = other_element.getKey();
          Map<String,String> other_element_value = other_element.getValue();

          Long __this__returnOrdersMap_copy_key = other_element_key;

          Map<String,String> __this__returnOrdersMap_copy_value = new HashMap<String,String>();
          for (Map.Entry<String, String> other_element_value_element : other_element_value.entrySet()) {

            String other_element_value_element_key = other_element_value_element.getKey();
            String other_element_value_element_value = other_element_value_element.getValue();

            String __this__returnOrdersMap_copy_value_copy_key = other_element_value_element_key;

            String __this__returnOrdersMap_copy_value_copy_value = other_element_value_element_value;

            __this__returnOrdersMap_copy_value.put(__this__returnOrdersMap_copy_value_copy_key, __this__returnOrdersMap_copy_value_copy_value);
          }

          __this__returnOrdersMap.put(__this__returnOrdersMap_copy_key, __this__returnOrdersMap_copy_value);
        }
        this.returnOrdersMap = __this__returnOrdersMap;
      }
    }

    public processReturnPickup_args deepCopy() {
      return new processReturnPickup_args(this);
    }

    @Override
    public void clear() {
      setReturnPickupIdIsSet(false);
      this.returnPickupId = 0;
      this.returnOrdersMap = null;
    }

    public long getReturnPickupId() {
      return this.returnPickupId;
    }

    public void setReturnPickupId(long returnPickupId) {
      this.returnPickupId = returnPickupId;
      setReturnPickupIdIsSet(true);
    }

    public void unsetReturnPickupId() {
      __isset_bit_vector.clear(__RETURNPICKUPID_ISSET_ID);
    }

    /** Returns true if field returnPickupId is set (has been assigned a value) and false otherwise */
    public boolean isSetReturnPickupId() {
      return __isset_bit_vector.get(__RETURNPICKUPID_ISSET_ID);
    }

    public void setReturnPickupIdIsSet(boolean value) {
      __isset_bit_vector.set(__RETURNPICKUPID_ISSET_ID, value);
    }

    public int getReturnOrdersMapSize() {
      return (this.returnOrdersMap == null) ? 0 : this.returnOrdersMap.size();
    }

    public void putToReturnOrdersMap(long key, Map<String,String> val) {
      if (this.returnOrdersMap == null) {
        this.returnOrdersMap = new HashMap<Long,Map<String,String>>();
      }
      this.returnOrdersMap.put(key, val);
    }

    public Map<Long,Map<String,String>> getReturnOrdersMap() {
      return this.returnOrdersMap;
    }

    public void setReturnOrdersMap(Map<Long,Map<String,String>> returnOrdersMap) {
      this.returnOrdersMap = returnOrdersMap;
    }

    public void unsetReturnOrdersMap() {
      this.returnOrdersMap = null;
    }

    /** Returns true if field returnOrdersMap is set (has been assigned a value) and false otherwise */
    public boolean isSetReturnOrdersMap() {
      return this.returnOrdersMap != null;
    }

    public void setReturnOrdersMapIsSet(boolean value) {
      if (!value) {
        this.returnOrdersMap = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case RETURN_PICKUP_ID:
        if (value == null) {
          unsetReturnPickupId();
        } else {
          setReturnPickupId((Long)value);
        }
        break;

      case RETURN_ORDERS_MAP:
        if (value == null) {
          unsetReturnOrdersMap();
        } else {
          setReturnOrdersMap((Map<Long,Map<String,String>>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case RETURN_PICKUP_ID:
        return Long.valueOf(getReturnPickupId());

      case RETURN_ORDERS_MAP:
        return getReturnOrdersMap();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case RETURN_PICKUP_ID:
        return isSetReturnPickupId();
      case RETURN_ORDERS_MAP:
        return isSetReturnOrdersMap();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof processReturnPickup_args)
        return this.equals((processReturnPickup_args)that);
      return false;
    }

    public boolean equals(processReturnPickup_args that) {
      if (that == null)
        return false;

      boolean this_present_returnPickupId = true;
      boolean that_present_returnPickupId = true;
      if (this_present_returnPickupId || that_present_returnPickupId) {
        if (!(this_present_returnPickupId && that_present_returnPickupId))
          return false;
        if (this.returnPickupId != that.returnPickupId)
          return false;
      }

      boolean this_present_returnOrdersMap = true && this.isSetReturnOrdersMap();
      boolean that_present_returnOrdersMap = true && that.isSetReturnOrdersMap();
      if (this_present_returnOrdersMap || that_present_returnOrdersMap) {
        if (!(this_present_returnOrdersMap && that_present_returnOrdersMap))
          return false;
        if (!this.returnOrdersMap.equals(that.returnOrdersMap))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(processReturnPickup_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      processReturnPickup_args typedOther = (processReturnPickup_args)other;

      lastComparison = Boolean.valueOf(isSetReturnPickupId()).compareTo(typedOther.isSetReturnPickupId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetReturnPickupId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.returnPickupId, typedOther.returnPickupId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetReturnOrdersMap()).compareTo(typedOther.isSetReturnOrdersMap());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetReturnOrdersMap()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.returnOrdersMap, typedOther.returnOrdersMap);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // RETURN_PICKUP_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.returnPickupId = iprot.readI64();
              setReturnPickupIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // RETURN_ORDERS_MAP
            if (field.type == org.apache.thrift.protocol.TType.MAP) {
              {
                org.apache.thrift.protocol.TMap _map784 = iprot.readMapBegin();
                this.returnOrdersMap = new HashMap<Long,Map<String,String>>(2*_map784.size);
                for (int _i785 = 0; _i785 < _map784.size; ++_i785)
                {
                  long _key786; // required
                  Map<String,String> _val787; // required
                  _key786 = iprot.readI64();
                  {
                    org.apache.thrift.protocol.TMap _map788 = iprot.readMapBegin();
                    _val787 = new HashMap<String,String>(2*_map788.size);
                    for (int _i789 = 0; _i789 < _map788.size; ++_i789)
                    {
                      String _key790; // required
                      String _val791; // required
                      _key790 = iprot.readString();
                      _val791 = iprot.readString();
                      _val787.put(_key790, _val791);
                    }
                    iprot.readMapEnd();
                  }
                  this.returnOrdersMap.put(_key786, _val787);
                }
                iprot.readMapEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(RETURN_PICKUP_ID_FIELD_DESC);
      oprot.writeI64(this.returnPickupId);
      oprot.writeFieldEnd();
      if (this.returnOrdersMap != null) {
        oprot.writeFieldBegin(RETURN_ORDERS_MAP_FIELD_DESC);
        {
          oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.I64, org.apache.thrift.protocol.TType.MAP, this.returnOrdersMap.size()));
          for (Map.Entry<Long, Map<String,String>> _iter792 : this.returnOrdersMap.entrySet())
          {
            oprot.writeI64(_iter792.getKey());
            {
              oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, _iter792.getValue().size()));
              for (Map.Entry<String, String> _iter793 : _iter792.getValue().entrySet())
              {
                oprot.writeString(_iter793.getKey());
                oprot.writeString(_iter793.getValue());
              }
              oprot.writeMapEnd();
            }
          }
          oprot.writeMapEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("processReturnPickup_args(");
      boolean first = true;

      sb.append("returnPickupId:");
      sb.append(this.returnPickupId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("returnOrdersMap:");
      if (this.returnOrdersMap == null) {
        sb.append("null");
      } else {
        sb.append(this.returnOrdersMap);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class processReturnPickup_result implements org.apache.thrift.TBase<processReturnPickup_result, processReturnPickup_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("processReturnPickup_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private boolean success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(processReturnPickup_result.class, metaDataMap);
    }

    public processReturnPickup_result() {
    }

    public processReturnPickup_result(
      boolean success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public processReturnPickup_result(processReturnPickup_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public processReturnPickup_result deepCopy() {
      return new processReturnPickup_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = false;
      this.ex = null;
    }

    public boolean isSuccess() {
      return this.success;
    }

    public void setSuccess(boolean success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Boolean.valueOf(isSuccess());

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof processReturnPickup_result)
        return this.equals((processReturnPickup_result)that);
      return false;
    }

    public boolean equals(processReturnPickup_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(processReturnPickup_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      processReturnPickup_result typedOther = (processReturnPickup_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.success = iprot.readBool();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBool(this.success);
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("processReturnPickup_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class markReturnTransactionComplete_args implements org.apache.thrift.TBase<markReturnTransactionComplete_args, markReturnTransactionComplete_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("markReturnTransactionComplete_args");

    private static final org.apache.thrift.protocol.TField RETURN_TRANSACTION_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("returnTransactionId", org.apache.thrift.protocol.TType.I64, (short)1);

    private long returnTransactionId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      RETURN_TRANSACTION_ID((short)1, "returnTransactionId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // RETURN_TRANSACTION_ID
            return RETURN_TRANSACTION_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __RETURNTRANSACTIONID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.RETURN_TRANSACTION_ID, new org.apache.thrift.meta_data.FieldMetaData("returnTransactionId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(markReturnTransactionComplete_args.class, metaDataMap);
    }

    public markReturnTransactionComplete_args() {
    }

    public markReturnTransactionComplete_args(
      long returnTransactionId)
    {
      this();
      this.returnTransactionId = returnTransactionId;
      setReturnTransactionIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public markReturnTransactionComplete_args(markReturnTransactionComplete_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.returnTransactionId = other.returnTransactionId;
    }

    public markReturnTransactionComplete_args deepCopy() {
      return new markReturnTransactionComplete_args(this);
    }

    @Override
    public void clear() {
      setReturnTransactionIdIsSet(false);
      this.returnTransactionId = 0;
    }

    public long getReturnTransactionId() {
      return this.returnTransactionId;
    }

    public void setReturnTransactionId(long returnTransactionId) {
      this.returnTransactionId = returnTransactionId;
      setReturnTransactionIdIsSet(true);
    }

    public void unsetReturnTransactionId() {
      __isset_bit_vector.clear(__RETURNTRANSACTIONID_ISSET_ID);
    }

    /** Returns true if field returnTransactionId is set (has been assigned a value) and false otherwise */
    public boolean isSetReturnTransactionId() {
      return __isset_bit_vector.get(__RETURNTRANSACTIONID_ISSET_ID);
    }

    public void setReturnTransactionIdIsSet(boolean value) {
      __isset_bit_vector.set(__RETURNTRANSACTIONID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case RETURN_TRANSACTION_ID:
        if (value == null) {
          unsetReturnTransactionId();
        } else {
          setReturnTransactionId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case RETURN_TRANSACTION_ID:
        return Long.valueOf(getReturnTransactionId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case RETURN_TRANSACTION_ID:
        return isSetReturnTransactionId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof markReturnTransactionComplete_args)
        return this.equals((markReturnTransactionComplete_args)that);
      return false;
    }

    public boolean equals(markReturnTransactionComplete_args that) {
      if (that == null)
        return false;

      boolean this_present_returnTransactionId = true;
      boolean that_present_returnTransactionId = true;
      if (this_present_returnTransactionId || that_present_returnTransactionId) {
        if (!(this_present_returnTransactionId && that_present_returnTransactionId))
          return false;
        if (this.returnTransactionId != that.returnTransactionId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(markReturnTransactionComplete_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      markReturnTransactionComplete_args typedOther = (markReturnTransactionComplete_args)other;

      lastComparison = Boolean.valueOf(isSetReturnTransactionId()).compareTo(typedOther.isSetReturnTransactionId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetReturnTransactionId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.returnTransactionId, typedOther.returnTransactionId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // RETURN_TRANSACTION_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.returnTransactionId = iprot.readI64();
              setReturnTransactionIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(RETURN_TRANSACTION_ID_FIELD_DESC);
      oprot.writeI64(this.returnTransactionId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("markReturnTransactionComplete_args(");
      boolean first = true;

      sb.append("returnTransactionId:");
      sb.append(this.returnTransactionId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class markReturnTransactionComplete_result implements org.apache.thrift.TBase<markReturnTransactionComplete_result, markReturnTransactionComplete_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("markReturnTransactionComplete_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private boolean success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(markReturnTransactionComplete_result.class, metaDataMap);
    }

    public markReturnTransactionComplete_result() {
    }

    public markReturnTransactionComplete_result(
      boolean success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public markReturnTransactionComplete_result(markReturnTransactionComplete_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public markReturnTransactionComplete_result deepCopy() {
      return new markReturnTransactionComplete_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = false;
      this.ex = null;
    }

    public boolean isSuccess() {
      return this.success;
    }

    public void setSuccess(boolean success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Boolean.valueOf(isSuccess());

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof markReturnTransactionComplete_result)
        return this.equals((markReturnTransactionComplete_result)that);
      return false;
    }

    public boolean equals(markReturnTransactionComplete_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(markReturnTransactionComplete_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      markReturnTransactionComplete_result typedOther = (markReturnTransactionComplete_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.success = iprot.readBool();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBool(this.success);
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("markReturnTransactionComplete_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class refundReturnTransactionPayment_args implements org.apache.thrift.TBase<refundReturnTransactionPayment_args, refundReturnTransactionPayment_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("refundReturnTransactionPayment_args");

    private static final org.apache.thrift.protocol.TField REFUND_ORDERS_MAP_FIELD_DESC = new org.apache.thrift.protocol.TField("refundOrdersMap", org.apache.thrift.protocol.TType.MAP, (short)1);
    private static final org.apache.thrift.protocol.TField RETURNTRANSACTION_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("returntransactionId", org.apache.thrift.protocol.TType.I64, (short)2);

    private Map<Long,Map<String,String>> refundOrdersMap; // required
    private long returntransactionId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      REFUND_ORDERS_MAP((short)1, "refundOrdersMap"),
      RETURNTRANSACTION_ID((short)2, "returntransactionId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // REFUND_ORDERS_MAP
            return REFUND_ORDERS_MAP;
          case 2: // RETURNTRANSACTION_ID
            return RETURNTRANSACTION_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __RETURNTRANSACTIONID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.REFUND_ORDERS_MAP, new org.apache.thrift.meta_data.FieldMetaData("refundOrdersMap", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64), 
              new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
                  new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING), 
                  new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)))));
      tmpMap.put(_Fields.RETURNTRANSACTION_ID, new org.apache.thrift.meta_data.FieldMetaData("returntransactionId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(refundReturnTransactionPayment_args.class, metaDataMap);
    }

    public refundReturnTransactionPayment_args() {
    }

    public refundReturnTransactionPayment_args(
      Map<Long,Map<String,String>> refundOrdersMap,
      long returntransactionId)
    {
      this();
      this.refundOrdersMap = refundOrdersMap;
      this.returntransactionId = returntransactionId;
      setReturntransactionIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public refundReturnTransactionPayment_args(refundReturnTransactionPayment_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      if (other.isSetRefundOrdersMap()) {
        Map<Long,Map<String,String>> __this__refundOrdersMap = new HashMap<Long,Map<String,String>>();
        for (Map.Entry<Long, Map<String,String>> other_element : other.refundOrdersMap.entrySet()) {

          Long other_element_key = other_element.getKey();
          Map<String,String> other_element_value = other_element.getValue();

          Long __this__refundOrdersMap_copy_key = other_element_key;

          Map<String,String> __this__refundOrdersMap_copy_value = new HashMap<String,String>();
          for (Map.Entry<String, String> other_element_value_element : other_element_value.entrySet()) {

            String other_element_value_element_key = other_element_value_element.getKey();
            String other_element_value_element_value = other_element_value_element.getValue();

            String __this__refundOrdersMap_copy_value_copy_key = other_element_value_element_key;

            String __this__refundOrdersMap_copy_value_copy_value = other_element_value_element_value;

            __this__refundOrdersMap_copy_value.put(__this__refundOrdersMap_copy_value_copy_key, __this__refundOrdersMap_copy_value_copy_value);
          }

          __this__refundOrdersMap.put(__this__refundOrdersMap_copy_key, __this__refundOrdersMap_copy_value);
        }
        this.refundOrdersMap = __this__refundOrdersMap;
      }
      this.returntransactionId = other.returntransactionId;
    }

    public refundReturnTransactionPayment_args deepCopy() {
      return new refundReturnTransactionPayment_args(this);
    }

    @Override
    public void clear() {
      this.refundOrdersMap = null;
      setReturntransactionIdIsSet(false);
      this.returntransactionId = 0;
    }

    public int getRefundOrdersMapSize() {
      return (this.refundOrdersMap == null) ? 0 : this.refundOrdersMap.size();
    }

    public void putToRefundOrdersMap(long key, Map<String,String> val) {
      if (this.refundOrdersMap == null) {
        this.refundOrdersMap = new HashMap<Long,Map<String,String>>();
      }
      this.refundOrdersMap.put(key, val);
    }

    public Map<Long,Map<String,String>> getRefundOrdersMap() {
      return this.refundOrdersMap;
    }

    public void setRefundOrdersMap(Map<Long,Map<String,String>> refundOrdersMap) {
      this.refundOrdersMap = refundOrdersMap;
    }

    public void unsetRefundOrdersMap() {
      this.refundOrdersMap = null;
    }

    /** Returns true if field refundOrdersMap is set (has been assigned a value) and false otherwise */
    public boolean isSetRefundOrdersMap() {
      return this.refundOrdersMap != null;
    }

    public void setRefundOrdersMapIsSet(boolean value) {
      if (!value) {
        this.refundOrdersMap = null;
      }
    }

    public long getReturntransactionId() {
      return this.returntransactionId;
    }

    public void setReturntransactionId(long returntransactionId) {
      this.returntransactionId = returntransactionId;
      setReturntransactionIdIsSet(true);
    }

    public void unsetReturntransactionId() {
      __isset_bit_vector.clear(__RETURNTRANSACTIONID_ISSET_ID);
    }

    /** Returns true if field returntransactionId is set (has been assigned a value) and false otherwise */
    public boolean isSetReturntransactionId() {
      return __isset_bit_vector.get(__RETURNTRANSACTIONID_ISSET_ID);
    }

    public void setReturntransactionIdIsSet(boolean value) {
      __isset_bit_vector.set(__RETURNTRANSACTIONID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case REFUND_ORDERS_MAP:
        if (value == null) {
          unsetRefundOrdersMap();
        } else {
          setRefundOrdersMap((Map<Long,Map<String,String>>)value);
        }
        break;

      case RETURNTRANSACTION_ID:
        if (value == null) {
          unsetReturntransactionId();
        } else {
          setReturntransactionId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case REFUND_ORDERS_MAP:
        return getRefundOrdersMap();

      case RETURNTRANSACTION_ID:
        return Long.valueOf(getReturntransactionId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case REFUND_ORDERS_MAP:
        return isSetRefundOrdersMap();
      case RETURNTRANSACTION_ID:
        return isSetReturntransactionId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof refundReturnTransactionPayment_args)
        return this.equals((refundReturnTransactionPayment_args)that);
      return false;
    }

    public boolean equals(refundReturnTransactionPayment_args that) {
      if (that == null)
        return false;

      boolean this_present_refundOrdersMap = true && this.isSetRefundOrdersMap();
      boolean that_present_refundOrdersMap = true && that.isSetRefundOrdersMap();
      if (this_present_refundOrdersMap || that_present_refundOrdersMap) {
        if (!(this_present_refundOrdersMap && that_present_refundOrdersMap))
          return false;
        if (!this.refundOrdersMap.equals(that.refundOrdersMap))
          return false;
      }

      boolean this_present_returntransactionId = true;
      boolean that_present_returntransactionId = true;
      if (this_present_returntransactionId || that_present_returntransactionId) {
        if (!(this_present_returntransactionId && that_present_returntransactionId))
          return false;
        if (this.returntransactionId != that.returntransactionId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(refundReturnTransactionPayment_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      refundReturnTransactionPayment_args typedOther = (refundReturnTransactionPayment_args)other;

      lastComparison = Boolean.valueOf(isSetRefundOrdersMap()).compareTo(typedOther.isSetRefundOrdersMap());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetRefundOrdersMap()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.refundOrdersMap, typedOther.refundOrdersMap);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetReturntransactionId()).compareTo(typedOther.isSetReturntransactionId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetReturntransactionId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.returntransactionId, typedOther.returntransactionId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // REFUND_ORDERS_MAP
            if (field.type == org.apache.thrift.protocol.TType.MAP) {
              {
                org.apache.thrift.protocol.TMap _map794 = iprot.readMapBegin();
                this.refundOrdersMap = new HashMap<Long,Map<String,String>>(2*_map794.size);
                for (int _i795 = 0; _i795 < _map794.size; ++_i795)
                {
                  long _key796; // required
                  Map<String,String> _val797; // required
                  _key796 = iprot.readI64();
                  {
                    org.apache.thrift.protocol.TMap _map798 = iprot.readMapBegin();
                    _val797 = new HashMap<String,String>(2*_map798.size);
                    for (int _i799 = 0; _i799 < _map798.size; ++_i799)
                    {
                      String _key800; // required
                      String _val801; // required
                      _key800 = iprot.readString();
                      _val801 = iprot.readString();
                      _val797.put(_key800, _val801);
                    }
                    iprot.readMapEnd();
                  }
                  this.refundOrdersMap.put(_key796, _val797);
                }
                iprot.readMapEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // RETURNTRANSACTION_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.returntransactionId = iprot.readI64();
              setReturntransactionIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.refundOrdersMap != null) {
        oprot.writeFieldBegin(REFUND_ORDERS_MAP_FIELD_DESC);
        {
          oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.I64, org.apache.thrift.protocol.TType.MAP, this.refundOrdersMap.size()));
          for (Map.Entry<Long, Map<String,String>> _iter802 : this.refundOrdersMap.entrySet())
          {
            oprot.writeI64(_iter802.getKey());
            {
              oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, _iter802.getValue().size()));
              for (Map.Entry<String, String> _iter803 : _iter802.getValue().entrySet())
              {
                oprot.writeString(_iter803.getKey());
                oprot.writeString(_iter803.getValue());
              }
              oprot.writeMapEnd();
            }
          }
          oprot.writeMapEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldBegin(RETURNTRANSACTION_ID_FIELD_DESC);
      oprot.writeI64(this.returntransactionId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("refundReturnTransactionPayment_args(");
      boolean first = true;

      sb.append("refundOrdersMap:");
      if (this.refundOrdersMap == null) {
        sb.append("null");
      } else {
        sb.append(this.refundOrdersMap);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("returntransactionId:");
      sb.append(this.returntransactionId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class refundReturnTransactionPayment_result implements org.apache.thrift.TBase<refundReturnTransactionPayment_result, refundReturnTransactionPayment_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("refundReturnTransactionPayment_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private boolean success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(refundReturnTransactionPayment_result.class, metaDataMap);
    }

    public refundReturnTransactionPayment_result() {
    }

    public refundReturnTransactionPayment_result(
      boolean success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public refundReturnTransactionPayment_result(refundReturnTransactionPayment_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public refundReturnTransactionPayment_result deepCopy() {
      return new refundReturnTransactionPayment_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = false;
      this.ex = null;
    }

    public boolean isSuccess() {
      return this.success;
    }

    public void setSuccess(boolean success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Boolean.valueOf(isSuccess());

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof refundReturnTransactionPayment_result)
        return this.equals((refundReturnTransactionPayment_result)that);
      return false;
    }

    public boolean equals(refundReturnTransactionPayment_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(refundReturnTransactionPayment_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      refundReturnTransactionPayment_result typedOther = (refundReturnTransactionPayment_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.success = iprot.readBool();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBool(this.success);
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("refundReturnTransactionPayment_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getReturnTransactionsForCustomer_args implements org.apache.thrift.TBase<getReturnTransactionsForCustomer_args, getReturnTransactionsForCustomer_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getReturnTransactionsForCustomer_args");

    private static final org.apache.thrift.protocol.TField STATUS_LIST_FIELD_DESC = new org.apache.thrift.protocol.TField("statusList", org.apache.thrift.protocol.TType.LIST, (short)1);
    private static final org.apache.thrift.protocol.TField CUSTOMER_MOBILE_FIELD_DESC = new org.apache.thrift.protocol.TField("customerMobile", org.apache.thrift.protocol.TType.STRING, (short)2);
    private static final org.apache.thrift.protocol.TField CUSTOMER_EMAIL_FIELD_DESC = new org.apache.thrift.protocol.TField("customerEmail", org.apache.thrift.protocol.TType.STRING, (short)3);
    private static final org.apache.thrift.protocol.TField RETURN_TRANSACTION_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("returnTransactionId", org.apache.thrift.protocol.TType.I64, (short)4);
    private static final org.apache.thrift.protocol.TField CUSTOMER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("customerId", org.apache.thrift.protocol.TType.I64, (short)5);

    private List<ReturnTransactionStatus> statusList; // required
    private String customerMobile; // required
    private String customerEmail; // required
    private long returnTransactionId; // required
    private long customerId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      STATUS_LIST((short)1, "statusList"),
      CUSTOMER_MOBILE((short)2, "customerMobile"),
      CUSTOMER_EMAIL((short)3, "customerEmail"),
      RETURN_TRANSACTION_ID((short)4, "returnTransactionId"),
      CUSTOMER_ID((short)5, "customerId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // STATUS_LIST
            return STATUS_LIST;
          case 2: // CUSTOMER_MOBILE
            return CUSTOMER_MOBILE;
          case 3: // CUSTOMER_EMAIL
            return CUSTOMER_EMAIL;
          case 4: // RETURN_TRANSACTION_ID
            return RETURN_TRANSACTION_ID;
          case 5: // CUSTOMER_ID
            return CUSTOMER_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __RETURNTRANSACTIONID_ISSET_ID = 0;
    private static final int __CUSTOMERID_ISSET_ID = 1;
    private BitSet __isset_bit_vector = new BitSet(2);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.STATUS_LIST, new org.apache.thrift.meta_data.FieldMetaData("statusList", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, ReturnTransactionStatus.class))));
      tmpMap.put(_Fields.CUSTOMER_MOBILE, new org.apache.thrift.meta_data.FieldMetaData("customerMobile", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.CUSTOMER_EMAIL, new org.apache.thrift.meta_data.FieldMetaData("customerEmail", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.RETURN_TRANSACTION_ID, new org.apache.thrift.meta_data.FieldMetaData("returnTransactionId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.CUSTOMER_ID, new org.apache.thrift.meta_data.FieldMetaData("customerId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getReturnTransactionsForCustomer_args.class, metaDataMap);
    }

    public getReturnTransactionsForCustomer_args() {
    }

    public getReturnTransactionsForCustomer_args(
      List<ReturnTransactionStatus> statusList,
      String customerMobile,
      String customerEmail,
      long returnTransactionId,
      long customerId)
    {
      this();
      this.statusList = statusList;
      this.customerMobile = customerMobile;
      this.customerEmail = customerEmail;
      this.returnTransactionId = returnTransactionId;
      setReturnTransactionIdIsSet(true);
      this.customerId = customerId;
      setCustomerIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getReturnTransactionsForCustomer_args(getReturnTransactionsForCustomer_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      if (other.isSetStatusList()) {
        List<ReturnTransactionStatus> __this__statusList = new ArrayList<ReturnTransactionStatus>();
        for (ReturnTransactionStatus other_element : other.statusList) {
          __this__statusList.add(other_element);
        }
        this.statusList = __this__statusList;
      }
      if (other.isSetCustomerMobile()) {
        this.customerMobile = other.customerMobile;
      }
      if (other.isSetCustomerEmail()) {
        this.customerEmail = other.customerEmail;
      }
      this.returnTransactionId = other.returnTransactionId;
      this.customerId = other.customerId;
    }

    public getReturnTransactionsForCustomer_args deepCopy() {
      return new getReturnTransactionsForCustomer_args(this);
    }

    @Override
    public void clear() {
      this.statusList = null;
      this.customerMobile = null;
      this.customerEmail = null;
      setReturnTransactionIdIsSet(false);
      this.returnTransactionId = 0;
      setCustomerIdIsSet(false);
      this.customerId = 0;
    }

    public int getStatusListSize() {
      return (this.statusList == null) ? 0 : this.statusList.size();
    }

    public java.util.Iterator<ReturnTransactionStatus> getStatusListIterator() {
      return (this.statusList == null) ? null : this.statusList.iterator();
    }

    public void addToStatusList(ReturnTransactionStatus elem) {
      if (this.statusList == null) {
        this.statusList = new ArrayList<ReturnTransactionStatus>();
      }
      this.statusList.add(elem);
    }

    public List<ReturnTransactionStatus> getStatusList() {
      return this.statusList;
    }

    public void setStatusList(List<ReturnTransactionStatus> statusList) {
      this.statusList = statusList;
    }

    public void unsetStatusList() {
      this.statusList = null;
    }

    /** Returns true if field statusList is set (has been assigned a value) and false otherwise */
    public boolean isSetStatusList() {
      return this.statusList != null;
    }

    public void setStatusListIsSet(boolean value) {
      if (!value) {
        this.statusList = null;
      }
    }

    public String getCustomerMobile() {
      return this.customerMobile;
    }

    public void setCustomerMobile(String customerMobile) {
      this.customerMobile = customerMobile;
    }

    public void unsetCustomerMobile() {
      this.customerMobile = null;
    }

    /** Returns true if field customerMobile is set (has been assigned a value) and false otherwise */
    public boolean isSetCustomerMobile() {
      return this.customerMobile != null;
    }

    public void setCustomerMobileIsSet(boolean value) {
      if (!value) {
        this.customerMobile = null;
      }
    }

    public String getCustomerEmail() {
      return this.customerEmail;
    }

    public void setCustomerEmail(String customerEmail) {
      this.customerEmail = customerEmail;
    }

    public void unsetCustomerEmail() {
      this.customerEmail = null;
    }

    /** Returns true if field customerEmail is set (has been assigned a value) and false otherwise */
    public boolean isSetCustomerEmail() {
      return this.customerEmail != null;
    }

    public void setCustomerEmailIsSet(boolean value) {
      if (!value) {
        this.customerEmail = null;
      }
    }

    public long getReturnTransactionId() {
      return this.returnTransactionId;
    }

    public void setReturnTransactionId(long returnTransactionId) {
      this.returnTransactionId = returnTransactionId;
      setReturnTransactionIdIsSet(true);
    }

    public void unsetReturnTransactionId() {
      __isset_bit_vector.clear(__RETURNTRANSACTIONID_ISSET_ID);
    }

    /** Returns true if field returnTransactionId is set (has been assigned a value) and false otherwise */
    public boolean isSetReturnTransactionId() {
      return __isset_bit_vector.get(__RETURNTRANSACTIONID_ISSET_ID);
    }

    public void setReturnTransactionIdIsSet(boolean value) {
      __isset_bit_vector.set(__RETURNTRANSACTIONID_ISSET_ID, value);
    }

    public long getCustomerId() {
      return this.customerId;
    }

    public void setCustomerId(long customerId) {
      this.customerId = customerId;
      setCustomerIdIsSet(true);
    }

    public void unsetCustomerId() {
      __isset_bit_vector.clear(__CUSTOMERID_ISSET_ID);
    }

    /** Returns true if field customerId is set (has been assigned a value) and false otherwise */
    public boolean isSetCustomerId() {
      return __isset_bit_vector.get(__CUSTOMERID_ISSET_ID);
    }

    public void setCustomerIdIsSet(boolean value) {
      __isset_bit_vector.set(__CUSTOMERID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case STATUS_LIST:
        if (value == null) {
          unsetStatusList();
        } else {
          setStatusList((List<ReturnTransactionStatus>)value);
        }
        break;

      case CUSTOMER_MOBILE:
        if (value == null) {
          unsetCustomerMobile();
        } else {
          setCustomerMobile((String)value);
        }
        break;

      case CUSTOMER_EMAIL:
        if (value == null) {
          unsetCustomerEmail();
        } else {
          setCustomerEmail((String)value);
        }
        break;

      case RETURN_TRANSACTION_ID:
        if (value == null) {
          unsetReturnTransactionId();
        } else {
          setReturnTransactionId((Long)value);
        }
        break;

      case CUSTOMER_ID:
        if (value == null) {
          unsetCustomerId();
        } else {
          setCustomerId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case STATUS_LIST:
        return getStatusList();

      case CUSTOMER_MOBILE:
        return getCustomerMobile();

      case CUSTOMER_EMAIL:
        return getCustomerEmail();

      case RETURN_TRANSACTION_ID:
        return Long.valueOf(getReturnTransactionId());

      case CUSTOMER_ID:
        return Long.valueOf(getCustomerId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case STATUS_LIST:
        return isSetStatusList();
      case CUSTOMER_MOBILE:
        return isSetCustomerMobile();
      case CUSTOMER_EMAIL:
        return isSetCustomerEmail();
      case RETURN_TRANSACTION_ID:
        return isSetReturnTransactionId();
      case CUSTOMER_ID:
        return isSetCustomerId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getReturnTransactionsForCustomer_args)
        return this.equals((getReturnTransactionsForCustomer_args)that);
      return false;
    }

    public boolean equals(getReturnTransactionsForCustomer_args that) {
      if (that == null)
        return false;

      boolean this_present_statusList = true && this.isSetStatusList();
      boolean that_present_statusList = true && that.isSetStatusList();
      if (this_present_statusList || that_present_statusList) {
        if (!(this_present_statusList && that_present_statusList))
          return false;
        if (!this.statusList.equals(that.statusList))
          return false;
      }

      boolean this_present_customerMobile = true && this.isSetCustomerMobile();
      boolean that_present_customerMobile = true && that.isSetCustomerMobile();
      if (this_present_customerMobile || that_present_customerMobile) {
        if (!(this_present_customerMobile && that_present_customerMobile))
          return false;
        if (!this.customerMobile.equals(that.customerMobile))
          return false;
      }

      boolean this_present_customerEmail = true && this.isSetCustomerEmail();
      boolean that_present_customerEmail = true && that.isSetCustomerEmail();
      if (this_present_customerEmail || that_present_customerEmail) {
        if (!(this_present_customerEmail && that_present_customerEmail))
          return false;
        if (!this.customerEmail.equals(that.customerEmail))
          return false;
      }

      boolean this_present_returnTransactionId = true;
      boolean that_present_returnTransactionId = true;
      if (this_present_returnTransactionId || that_present_returnTransactionId) {
        if (!(this_present_returnTransactionId && that_present_returnTransactionId))
          return false;
        if (this.returnTransactionId != that.returnTransactionId)
          return false;
      }

      boolean this_present_customerId = true;
      boolean that_present_customerId = true;
      if (this_present_customerId || that_present_customerId) {
        if (!(this_present_customerId && that_present_customerId))
          return false;
        if (this.customerId != that.customerId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getReturnTransactionsForCustomer_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getReturnTransactionsForCustomer_args typedOther = (getReturnTransactionsForCustomer_args)other;

      lastComparison = Boolean.valueOf(isSetStatusList()).compareTo(typedOther.isSetStatusList());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetStatusList()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.statusList, typedOther.statusList);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetCustomerMobile()).compareTo(typedOther.isSetCustomerMobile());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetCustomerMobile()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.customerMobile, typedOther.customerMobile);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetCustomerEmail()).compareTo(typedOther.isSetCustomerEmail());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetCustomerEmail()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.customerEmail, typedOther.customerEmail);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetReturnTransactionId()).compareTo(typedOther.isSetReturnTransactionId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetReturnTransactionId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.returnTransactionId, typedOther.returnTransactionId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetCustomerId()).compareTo(typedOther.isSetCustomerId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetCustomerId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.customerId, typedOther.customerId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // STATUS_LIST
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list804 = iprot.readListBegin();
                this.statusList = new ArrayList<ReturnTransactionStatus>(_list804.size);
                for (int _i805 = 0; _i805 < _list804.size; ++_i805)
                {
                  ReturnTransactionStatus _elem806; // required
                  _elem806 = ReturnTransactionStatus.findByValue(iprot.readI32());
                  this.statusList.add(_elem806);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // CUSTOMER_MOBILE
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.customerMobile = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // CUSTOMER_EMAIL
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.customerEmail = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 4: // RETURN_TRANSACTION_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.returnTransactionId = iprot.readI64();
              setReturnTransactionIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 5: // CUSTOMER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.customerId = iprot.readI64();
              setCustomerIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.statusList != null) {
        oprot.writeFieldBegin(STATUS_LIST_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I32, this.statusList.size()));
          for (ReturnTransactionStatus _iter807 : this.statusList)
          {
            oprot.writeI32(_iter807.getValue());
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      if (this.customerMobile != null) {
        oprot.writeFieldBegin(CUSTOMER_MOBILE_FIELD_DESC);
        oprot.writeString(this.customerMobile);
        oprot.writeFieldEnd();
      }
      if (this.customerEmail != null) {
        oprot.writeFieldBegin(CUSTOMER_EMAIL_FIELD_DESC);
        oprot.writeString(this.customerEmail);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldBegin(RETURN_TRANSACTION_ID_FIELD_DESC);
      oprot.writeI64(this.returnTransactionId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(CUSTOMER_ID_FIELD_DESC);
      oprot.writeI64(this.customerId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getReturnTransactionsForCustomer_args(");
      boolean first = true;

      sb.append("statusList:");
      if (this.statusList == null) {
        sb.append("null");
      } else {
        sb.append(this.statusList);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("customerMobile:");
      if (this.customerMobile == null) {
        sb.append("null");
      } else {
        sb.append(this.customerMobile);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("customerEmail:");
      if (this.customerEmail == null) {
        sb.append("null");
      } else {
        sb.append(this.customerEmail);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("returnTransactionId:");
      sb.append(this.returnTransactionId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("customerId:");
      sb.append(this.customerId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getReturnTransactionsForCustomer_result implements org.apache.thrift.TBase<getReturnTransactionsForCustomer_result, getReturnTransactionsForCustomer_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getReturnTransactionsForCustomer_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private List<ReturnTransaction> success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, ReturnTransaction.class))));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getReturnTransactionsForCustomer_result.class, metaDataMap);
    }

    public getReturnTransactionsForCustomer_result() {
    }

    public getReturnTransactionsForCustomer_result(
      List<ReturnTransaction> success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getReturnTransactionsForCustomer_result(getReturnTransactionsForCustomer_result other) {
      if (other.isSetSuccess()) {
        List<ReturnTransaction> __this__success = new ArrayList<ReturnTransaction>();
        for (ReturnTransaction other_element : other.success) {
          __this__success.add(new ReturnTransaction(other_element));
        }
        this.success = __this__success;
      }
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public getReturnTransactionsForCustomer_result deepCopy() {
      return new getReturnTransactionsForCustomer_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.ex = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<ReturnTransaction> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(ReturnTransaction elem) {
      if (this.success == null) {
        this.success = new ArrayList<ReturnTransaction>();
      }
      this.success.add(elem);
    }

    public List<ReturnTransaction> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<ReturnTransaction> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<ReturnTransaction>)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getReturnTransactionsForCustomer_result)
        return this.equals((getReturnTransactionsForCustomer_result)that);
      return false;
    }

    public boolean equals(getReturnTransactionsForCustomer_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getReturnTransactionsForCustomer_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getReturnTransactionsForCustomer_result typedOther = (getReturnTransactionsForCustomer_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list808 = iprot.readListBegin();
                this.success = new ArrayList<ReturnTransaction>(_list808.size);
                for (int _i809 = 0; _i809 < _list808.size; ++_i809)
                {
                  ReturnTransaction _elem810; // required
                  _elem810 = new ReturnTransaction();
                  _elem810.read(iprot);
                  this.success.add(_elem810);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (ReturnTransaction _iter811 : this.success)
          {
            _iter811.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getReturnTransactionsForCustomer_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class verifyOrderForTransaction_args implements org.apache.thrift.TBase<verifyOrderForTransaction_args, verifyOrderForTransaction_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("verifyOrderForTransaction_args");

    private static final org.apache.thrift.protocol.TField TRANSACTION_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("transactionId", org.apache.thrift.protocol.TType.I64, (short)1);

    private long transactionId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      TRANSACTION_ID((short)1, "transactionId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // TRANSACTION_ID
            return TRANSACTION_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __TRANSACTIONID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.TRANSACTION_ID, new org.apache.thrift.meta_data.FieldMetaData("transactionId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(verifyOrderForTransaction_args.class, metaDataMap);
    }

    public verifyOrderForTransaction_args() {
    }

    public verifyOrderForTransaction_args(
      long transactionId)
    {
      this();
      this.transactionId = transactionId;
      setTransactionIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public verifyOrderForTransaction_args(verifyOrderForTransaction_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.transactionId = other.transactionId;
    }

    public verifyOrderForTransaction_args deepCopy() {
      return new verifyOrderForTransaction_args(this);
    }

    @Override
    public void clear() {
      setTransactionIdIsSet(false);
      this.transactionId = 0;
    }

    public long getTransactionId() {
      return this.transactionId;
    }

    public void setTransactionId(long transactionId) {
      this.transactionId = transactionId;
      setTransactionIdIsSet(true);
    }

    public void unsetTransactionId() {
      __isset_bit_vector.clear(__TRANSACTIONID_ISSET_ID);
    }

    /** Returns true if field transactionId is set (has been assigned a value) and false otherwise */
    public boolean isSetTransactionId() {
      return __isset_bit_vector.get(__TRANSACTIONID_ISSET_ID);
    }

    public void setTransactionIdIsSet(boolean value) {
      __isset_bit_vector.set(__TRANSACTIONID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case TRANSACTION_ID:
        if (value == null) {
          unsetTransactionId();
        } else {
          setTransactionId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case TRANSACTION_ID:
        return Long.valueOf(getTransactionId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case TRANSACTION_ID:
        return isSetTransactionId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof verifyOrderForTransaction_args)
        return this.equals((verifyOrderForTransaction_args)that);
      return false;
    }

    public boolean equals(verifyOrderForTransaction_args that) {
      if (that == null)
        return false;

      boolean this_present_transactionId = true;
      boolean that_present_transactionId = true;
      if (this_present_transactionId || that_present_transactionId) {
        if (!(this_present_transactionId && that_present_transactionId))
          return false;
        if (this.transactionId != that.transactionId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(verifyOrderForTransaction_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      verifyOrderForTransaction_args typedOther = (verifyOrderForTransaction_args)other;

      lastComparison = Boolean.valueOf(isSetTransactionId()).compareTo(typedOther.isSetTransactionId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetTransactionId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.transactionId, typedOther.transactionId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // TRANSACTION_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.transactionId = iprot.readI64();
              setTransactionIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(TRANSACTION_ID_FIELD_DESC);
      oprot.writeI64(this.transactionId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("verifyOrderForTransaction_args(");
      boolean first = true;

      sb.append("transactionId:");
      sb.append(this.transactionId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class verifyOrderForTransaction_result implements org.apache.thrift.TBase<verifyOrderForTransaction_result, verifyOrderForTransaction_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("verifyOrderForTransaction_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private boolean success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(verifyOrderForTransaction_result.class, metaDataMap);
    }

    public verifyOrderForTransaction_result() {
    }

    public verifyOrderForTransaction_result(
      boolean success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public verifyOrderForTransaction_result(verifyOrderForTransaction_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public verifyOrderForTransaction_result deepCopy() {
      return new verifyOrderForTransaction_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = false;
      this.ex = null;
    }

    public boolean isSuccess() {
      return this.success;
    }

    public void setSuccess(boolean success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Boolean.valueOf(isSuccess());

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof verifyOrderForTransaction_result)
        return this.equals((verifyOrderForTransaction_result)that);
      return false;
    }

    public boolean equals(verifyOrderForTransaction_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(verifyOrderForTransaction_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      verifyOrderForTransaction_result typedOther = (verifyOrderForTransaction_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.success = iprot.readBool();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBool(this.success);
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("verifyOrderForTransaction_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getOrdersInBatchAsPromisedShipping_args implements org.apache.thrift.TBase<getOrdersInBatchAsPromisedShipping_args, getOrdersInBatchAsPromisedShipping_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getOrdersInBatchAsPromisedShipping_args");

    private static final org.apache.thrift.protocol.TField STATUSES_FIELD_DESC = new org.apache.thrift.protocol.TField("statuses", org.apache.thrift.protocol.TType.LIST, (short)1);
    private static final org.apache.thrift.protocol.TField OFFSET_FIELD_DESC = new org.apache.thrift.protocol.TField("offset", org.apache.thrift.protocol.TType.I64, (short)2);
    private static final org.apache.thrift.protocol.TField LIMIT_FIELD_DESC = new org.apache.thrift.protocol.TField("limit", org.apache.thrift.protocol.TType.I64, (short)3);
    private static final org.apache.thrift.protocol.TField WAREHOUSE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("warehouse_id", org.apache.thrift.protocol.TType.I64, (short)4);
    private static final org.apache.thrift.protocol.TField SOURCE_FIELD_DESC = new org.apache.thrift.protocol.TField("source", org.apache.thrift.protocol.TType.I64, (short)5);

    private List<OrderStatus> statuses; // required
    private long offset; // required
    private long limit; // required
    private long warehouse_id; // required
    private long source; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      STATUSES((short)1, "statuses"),
      OFFSET((short)2, "offset"),
      LIMIT((short)3, "limit"),
      WAREHOUSE_ID((short)4, "warehouse_id"),
      SOURCE((short)5, "source");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // STATUSES
            return STATUSES;
          case 2: // OFFSET
            return OFFSET;
          case 3: // LIMIT
            return LIMIT;
          case 4: // WAREHOUSE_ID
            return WAREHOUSE_ID;
          case 5: // SOURCE
            return SOURCE;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __OFFSET_ISSET_ID = 0;
    private static final int __LIMIT_ISSET_ID = 1;
    private static final int __WAREHOUSE_ID_ISSET_ID = 2;
    private static final int __SOURCE_ISSET_ID = 3;
    private BitSet __isset_bit_vector = new BitSet(4);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.STATUSES, new org.apache.thrift.meta_data.FieldMetaData("statuses", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, OrderStatus.class))));
      tmpMap.put(_Fields.OFFSET, new org.apache.thrift.meta_data.FieldMetaData("offset", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.LIMIT, new org.apache.thrift.meta_data.FieldMetaData("limit", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.WAREHOUSE_ID, new org.apache.thrift.meta_data.FieldMetaData("warehouse_id", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.SOURCE, new org.apache.thrift.meta_data.FieldMetaData("source", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getOrdersInBatchAsPromisedShipping_args.class, metaDataMap);
    }

    public getOrdersInBatchAsPromisedShipping_args() {
    }

    public getOrdersInBatchAsPromisedShipping_args(
      List<OrderStatus> statuses,
      long offset,
      long limit,
      long warehouse_id,
      long source)
    {
      this();
      this.statuses = statuses;
      this.offset = offset;
      setOffsetIsSet(true);
      this.limit = limit;
      setLimitIsSet(true);
      this.warehouse_id = warehouse_id;
      setWarehouse_idIsSet(true);
      this.source = source;
      setSourceIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getOrdersInBatchAsPromisedShipping_args(getOrdersInBatchAsPromisedShipping_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      if (other.isSetStatuses()) {
        List<OrderStatus> __this__statuses = new ArrayList<OrderStatus>();
        for (OrderStatus other_element : other.statuses) {
          __this__statuses.add(other_element);
        }
        this.statuses = __this__statuses;
      }
      this.offset = other.offset;
      this.limit = other.limit;
      this.warehouse_id = other.warehouse_id;
      this.source = other.source;
    }

    public getOrdersInBatchAsPromisedShipping_args deepCopy() {
      return new getOrdersInBatchAsPromisedShipping_args(this);
    }

    @Override
    public void clear() {
      this.statuses = null;
      setOffsetIsSet(false);
      this.offset = 0;
      setLimitIsSet(false);
      this.limit = 0;
      setWarehouse_idIsSet(false);
      this.warehouse_id = 0;
      setSourceIsSet(false);
      this.source = 0;
    }

    public int getStatusesSize() {
      return (this.statuses == null) ? 0 : this.statuses.size();
    }

    public java.util.Iterator<OrderStatus> getStatusesIterator() {
      return (this.statuses == null) ? null : this.statuses.iterator();
    }

    public void addToStatuses(OrderStatus elem) {
      if (this.statuses == null) {
        this.statuses = new ArrayList<OrderStatus>();
      }
      this.statuses.add(elem);
    }

    public List<OrderStatus> getStatuses() {
      return this.statuses;
    }

    public void setStatuses(List<OrderStatus> statuses) {
      this.statuses = statuses;
    }

    public void unsetStatuses() {
      this.statuses = null;
    }

    /** Returns true if field statuses is set (has been assigned a value) and false otherwise */
    public boolean isSetStatuses() {
      return this.statuses != null;
    }

    public void setStatusesIsSet(boolean value) {
      if (!value) {
        this.statuses = null;
      }
    }

    public long getOffset() {
      return this.offset;
    }

    public void setOffset(long offset) {
      this.offset = offset;
      setOffsetIsSet(true);
    }

    public void unsetOffset() {
      __isset_bit_vector.clear(__OFFSET_ISSET_ID);
    }

    /** Returns true if field offset is set (has been assigned a value) and false otherwise */
    public boolean isSetOffset() {
      return __isset_bit_vector.get(__OFFSET_ISSET_ID);
    }

    public void setOffsetIsSet(boolean value) {
      __isset_bit_vector.set(__OFFSET_ISSET_ID, value);
    }

    public long getLimit() {
      return this.limit;
    }

    public void setLimit(long limit) {
      this.limit = limit;
      setLimitIsSet(true);
    }

    public void unsetLimit() {
      __isset_bit_vector.clear(__LIMIT_ISSET_ID);
    }

    /** Returns true if field limit is set (has been assigned a value) and false otherwise */
    public boolean isSetLimit() {
      return __isset_bit_vector.get(__LIMIT_ISSET_ID);
    }

    public void setLimitIsSet(boolean value) {
      __isset_bit_vector.set(__LIMIT_ISSET_ID, value);
    }

    public long getWarehouse_id() {
      return this.warehouse_id;
    }

    public void setWarehouse_id(long warehouse_id) {
      this.warehouse_id = warehouse_id;
      setWarehouse_idIsSet(true);
    }

    public void unsetWarehouse_id() {
      __isset_bit_vector.clear(__WAREHOUSE_ID_ISSET_ID);
    }

    /** Returns true if field warehouse_id is set (has been assigned a value) and false otherwise */
    public boolean isSetWarehouse_id() {
      return __isset_bit_vector.get(__WAREHOUSE_ID_ISSET_ID);
    }

    public void setWarehouse_idIsSet(boolean value) {
      __isset_bit_vector.set(__WAREHOUSE_ID_ISSET_ID, value);
    }

    public long getSource() {
      return this.source;
    }

    public void setSource(long source) {
      this.source = source;
      setSourceIsSet(true);
    }

    public void unsetSource() {
      __isset_bit_vector.clear(__SOURCE_ISSET_ID);
    }

    /** Returns true if field source is set (has been assigned a value) and false otherwise */
    public boolean isSetSource() {
      return __isset_bit_vector.get(__SOURCE_ISSET_ID);
    }

    public void setSourceIsSet(boolean value) {
      __isset_bit_vector.set(__SOURCE_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case STATUSES:
        if (value == null) {
          unsetStatuses();
        } else {
          setStatuses((List<OrderStatus>)value);
        }
        break;

      case OFFSET:
        if (value == null) {
          unsetOffset();
        } else {
          setOffset((Long)value);
        }
        break;

      case LIMIT:
        if (value == null) {
          unsetLimit();
        } else {
          setLimit((Long)value);
        }
        break;

      case WAREHOUSE_ID:
        if (value == null) {
          unsetWarehouse_id();
        } else {
          setWarehouse_id((Long)value);
        }
        break;

      case SOURCE:
        if (value == null) {
          unsetSource();
        } else {
          setSource((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case STATUSES:
        return getStatuses();

      case OFFSET:
        return Long.valueOf(getOffset());

      case LIMIT:
        return Long.valueOf(getLimit());

      case WAREHOUSE_ID:
        return Long.valueOf(getWarehouse_id());

      case SOURCE:
        return Long.valueOf(getSource());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case STATUSES:
        return isSetStatuses();
      case OFFSET:
        return isSetOffset();
      case LIMIT:
        return isSetLimit();
      case WAREHOUSE_ID:
        return isSetWarehouse_id();
      case SOURCE:
        return isSetSource();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getOrdersInBatchAsPromisedShipping_args)
        return this.equals((getOrdersInBatchAsPromisedShipping_args)that);
      return false;
    }

    public boolean equals(getOrdersInBatchAsPromisedShipping_args that) {
      if (that == null)
        return false;

      boolean this_present_statuses = true && this.isSetStatuses();
      boolean that_present_statuses = true && that.isSetStatuses();
      if (this_present_statuses || that_present_statuses) {
        if (!(this_present_statuses && that_present_statuses))
          return false;
        if (!this.statuses.equals(that.statuses))
          return false;
      }

      boolean this_present_offset = true;
      boolean that_present_offset = true;
      if (this_present_offset || that_present_offset) {
        if (!(this_present_offset && that_present_offset))
          return false;
        if (this.offset != that.offset)
          return false;
      }

      boolean this_present_limit = true;
      boolean that_present_limit = true;
      if (this_present_limit || that_present_limit) {
        if (!(this_present_limit && that_present_limit))
          return false;
        if (this.limit != that.limit)
          return false;
      }

      boolean this_present_warehouse_id = true;
      boolean that_present_warehouse_id = true;
      if (this_present_warehouse_id || that_present_warehouse_id) {
        if (!(this_present_warehouse_id && that_present_warehouse_id))
          return false;
        if (this.warehouse_id != that.warehouse_id)
          return false;
      }

      boolean this_present_source = true;
      boolean that_present_source = true;
      if (this_present_source || that_present_source) {
        if (!(this_present_source && that_present_source))
          return false;
        if (this.source != that.source)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getOrdersInBatchAsPromisedShipping_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getOrdersInBatchAsPromisedShipping_args typedOther = (getOrdersInBatchAsPromisedShipping_args)other;

      lastComparison = Boolean.valueOf(isSetStatuses()).compareTo(typedOther.isSetStatuses());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetStatuses()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.statuses, typedOther.statuses);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetOffset()).compareTo(typedOther.isSetOffset());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOffset()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.offset, typedOther.offset);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetLimit()).compareTo(typedOther.isSetLimit());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetLimit()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.limit, typedOther.limit);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetWarehouse_id()).compareTo(typedOther.isSetWarehouse_id());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetWarehouse_id()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.warehouse_id, typedOther.warehouse_id);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetSource()).compareTo(typedOther.isSetSource());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSource()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.source, typedOther.source);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // STATUSES
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list812 = iprot.readListBegin();
                this.statuses = new ArrayList<OrderStatus>(_list812.size);
                for (int _i813 = 0; _i813 < _list812.size; ++_i813)
                {
                  OrderStatus _elem814; // required
                  _elem814 = OrderStatus.findByValue(iprot.readI32());
                  this.statuses.add(_elem814);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // OFFSET
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.offset = iprot.readI64();
              setOffsetIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // LIMIT
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.limit = iprot.readI64();
              setLimitIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 4: // WAREHOUSE_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.warehouse_id = iprot.readI64();
              setWarehouse_idIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 5: // SOURCE
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.source = iprot.readI64();
              setSourceIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.statuses != null) {
        oprot.writeFieldBegin(STATUSES_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I32, this.statuses.size()));
          for (OrderStatus _iter815 : this.statuses)
          {
            oprot.writeI32(_iter815.getValue());
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldBegin(OFFSET_FIELD_DESC);
      oprot.writeI64(this.offset);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(LIMIT_FIELD_DESC);
      oprot.writeI64(this.limit);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(WAREHOUSE_ID_FIELD_DESC);
      oprot.writeI64(this.warehouse_id);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(SOURCE_FIELD_DESC);
      oprot.writeI64(this.source);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getOrdersInBatchAsPromisedShipping_args(");
      boolean first = true;

      sb.append("statuses:");
      if (this.statuses == null) {
        sb.append("null");
      } else {
        sb.append(this.statuses);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("offset:");
      sb.append(this.offset);
      first = false;
      if (!first) sb.append(", ");
      sb.append("limit:");
      sb.append(this.limit);
      first = false;
      if (!first) sb.append(", ");
      sb.append("warehouse_id:");
      sb.append(this.warehouse_id);
      first = false;
      if (!first) sb.append(", ");
      sb.append("source:");
      sb.append(this.source);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getOrdersInBatchAsPromisedShipping_result implements org.apache.thrift.TBase<getOrdersInBatchAsPromisedShipping_result, getOrdersInBatchAsPromisedShipping_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getOrdersInBatchAsPromisedShipping_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private List<Order> success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Order.class))));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getOrdersInBatchAsPromisedShipping_result.class, metaDataMap);
    }

    public getOrdersInBatchAsPromisedShipping_result() {
    }

    public getOrdersInBatchAsPromisedShipping_result(
      List<Order> success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getOrdersInBatchAsPromisedShipping_result(getOrdersInBatchAsPromisedShipping_result other) {
      if (other.isSetSuccess()) {
        List<Order> __this__success = new ArrayList<Order>();
        for (Order other_element : other.success) {
          __this__success.add(new Order(other_element));
        }
        this.success = __this__success;
      }
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public getOrdersInBatchAsPromisedShipping_result deepCopy() {
      return new getOrdersInBatchAsPromisedShipping_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.ex = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<Order> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(Order elem) {
      if (this.success == null) {
        this.success = new ArrayList<Order>();
      }
      this.success.add(elem);
    }

    public List<Order> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<Order> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<Order>)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getOrdersInBatchAsPromisedShipping_result)
        return this.equals((getOrdersInBatchAsPromisedShipping_result)that);
      return false;
    }

    public boolean equals(getOrdersInBatchAsPromisedShipping_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getOrdersInBatchAsPromisedShipping_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getOrdersInBatchAsPromisedShipping_result typedOther = (getOrdersInBatchAsPromisedShipping_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list816 = iprot.readListBegin();
                this.success = new ArrayList<Order>(_list816.size);
                for (int _i817 = 0; _i817 < _list816.size; ++_i817)
                {
                  Order _elem818; // required
                  _elem818 = new Order();
                  _elem818.read(iprot);
                  this.success.add(_elem818);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (Order _iter819 : this.success)
          {
            _iter819.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getOrdersInBatchAsPromisedShipping_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class setOrderAttributeForMasterOrderId_args implements org.apache.thrift.TBase<setOrderAttributeForMasterOrderId_args, setOrderAttributeForMasterOrderId_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("setOrderAttributeForMasterOrderId_args");

    private static final org.apache.thrift.protocol.TField LOGISTICS_TRANSACTION_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("logisticsTransactionId", org.apache.thrift.protocol.TType.STRING, (short)1);
    private static final org.apache.thrift.protocol.TField ATTRIBUTES_FIELD_DESC = new org.apache.thrift.protocol.TField("attributes", org.apache.thrift.protocol.TType.LIST, (short)2);

    private String logisticsTransactionId; // required
    private List<Attribute> attributes; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      LOGISTICS_TRANSACTION_ID((short)1, "logisticsTransactionId"),
      ATTRIBUTES((short)2, "attributes");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // LOGISTICS_TRANSACTION_ID
            return LOGISTICS_TRANSACTION_ID;
          case 2: // ATTRIBUTES
            return ATTRIBUTES;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.LOGISTICS_TRANSACTION_ID, new org.apache.thrift.meta_data.FieldMetaData("logisticsTransactionId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.ATTRIBUTES, new org.apache.thrift.meta_data.FieldMetaData("attributes", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Attribute.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(setOrderAttributeForMasterOrderId_args.class, metaDataMap);
    }

    public setOrderAttributeForMasterOrderId_args() {
    }

    public setOrderAttributeForMasterOrderId_args(
      String logisticsTransactionId,
      List<Attribute> attributes)
    {
      this();
      this.logisticsTransactionId = logisticsTransactionId;
      this.attributes = attributes;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public setOrderAttributeForMasterOrderId_args(setOrderAttributeForMasterOrderId_args other) {
      if (other.isSetLogisticsTransactionId()) {
        this.logisticsTransactionId = other.logisticsTransactionId;
      }
      if (other.isSetAttributes()) {
        List<Attribute> __this__attributes = new ArrayList<Attribute>();
        for (Attribute other_element : other.attributes) {
          __this__attributes.add(new Attribute(other_element));
        }
        this.attributes = __this__attributes;
      }
    }

    public setOrderAttributeForMasterOrderId_args deepCopy() {
      return new setOrderAttributeForMasterOrderId_args(this);
    }

    @Override
    public void clear() {
      this.logisticsTransactionId = null;
      this.attributes = null;
    }

    public String getLogisticsTransactionId() {
      return this.logisticsTransactionId;
    }

    public void setLogisticsTransactionId(String logisticsTransactionId) {
      this.logisticsTransactionId = logisticsTransactionId;
    }

    public void unsetLogisticsTransactionId() {
      this.logisticsTransactionId = null;
    }

    /** Returns true if field logisticsTransactionId is set (has been assigned a value) and false otherwise */
    public boolean isSetLogisticsTransactionId() {
      return this.logisticsTransactionId != null;
    }

    public void setLogisticsTransactionIdIsSet(boolean value) {
      if (!value) {
        this.logisticsTransactionId = null;
      }
    }

    public int getAttributesSize() {
      return (this.attributes == null) ? 0 : this.attributes.size();
    }

    public java.util.Iterator<Attribute> getAttributesIterator() {
      return (this.attributes == null) ? null : this.attributes.iterator();
    }

    public void addToAttributes(Attribute elem) {
      if (this.attributes == null) {
        this.attributes = new ArrayList<Attribute>();
      }
      this.attributes.add(elem);
    }

    public List<Attribute> getAttributes() {
      return this.attributes;
    }

    public void setAttributes(List<Attribute> attributes) {
      this.attributes = attributes;
    }

    public void unsetAttributes() {
      this.attributes = null;
    }

    /** Returns true if field attributes is set (has been assigned a value) and false otherwise */
    public boolean isSetAttributes() {
      return this.attributes != null;
    }

    public void setAttributesIsSet(boolean value) {
      if (!value) {
        this.attributes = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case LOGISTICS_TRANSACTION_ID:
        if (value == null) {
          unsetLogisticsTransactionId();
        } else {
          setLogisticsTransactionId((String)value);
        }
        break;

      case ATTRIBUTES:
        if (value == null) {
          unsetAttributes();
        } else {
          setAttributes((List<Attribute>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case LOGISTICS_TRANSACTION_ID:
        return getLogisticsTransactionId();

      case ATTRIBUTES:
        return getAttributes();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case LOGISTICS_TRANSACTION_ID:
        return isSetLogisticsTransactionId();
      case ATTRIBUTES:
        return isSetAttributes();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof setOrderAttributeForMasterOrderId_args)
        return this.equals((setOrderAttributeForMasterOrderId_args)that);
      return false;
    }

    public boolean equals(setOrderAttributeForMasterOrderId_args that) {
      if (that == null)
        return false;

      boolean this_present_logisticsTransactionId = true && this.isSetLogisticsTransactionId();
      boolean that_present_logisticsTransactionId = true && that.isSetLogisticsTransactionId();
      if (this_present_logisticsTransactionId || that_present_logisticsTransactionId) {
        if (!(this_present_logisticsTransactionId && that_present_logisticsTransactionId))
          return false;
        if (!this.logisticsTransactionId.equals(that.logisticsTransactionId))
          return false;
      }

      boolean this_present_attributes = true && this.isSetAttributes();
      boolean that_present_attributes = true && that.isSetAttributes();
      if (this_present_attributes || that_present_attributes) {
        if (!(this_present_attributes && that_present_attributes))
          return false;
        if (!this.attributes.equals(that.attributes))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(setOrderAttributeForMasterOrderId_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      setOrderAttributeForMasterOrderId_args typedOther = (setOrderAttributeForMasterOrderId_args)other;

      lastComparison = Boolean.valueOf(isSetLogisticsTransactionId()).compareTo(typedOther.isSetLogisticsTransactionId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetLogisticsTransactionId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.logisticsTransactionId, typedOther.logisticsTransactionId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetAttributes()).compareTo(typedOther.isSetAttributes());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetAttributes()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.attributes, typedOther.attributes);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // LOGISTICS_TRANSACTION_ID
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.logisticsTransactionId = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // ATTRIBUTES
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list820 = iprot.readListBegin();
                this.attributes = new ArrayList<Attribute>(_list820.size);
                for (int _i821 = 0; _i821 < _list820.size; ++_i821)
                {
                  Attribute _elem822; // required
                  _elem822 = new Attribute();
                  _elem822.read(iprot);
                  this.attributes.add(_elem822);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.logisticsTransactionId != null) {
        oprot.writeFieldBegin(LOGISTICS_TRANSACTION_ID_FIELD_DESC);
        oprot.writeString(this.logisticsTransactionId);
        oprot.writeFieldEnd();
      }
      if (this.attributes != null) {
        oprot.writeFieldBegin(ATTRIBUTES_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.attributes.size()));
          for (Attribute _iter823 : this.attributes)
          {
            _iter823.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("setOrderAttributeForMasterOrderId_args(");
      boolean first = true;

      sb.append("logisticsTransactionId:");
      if (this.logisticsTransactionId == null) {
        sb.append("null");
      } else {
        sb.append(this.logisticsTransactionId);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("attributes:");
      if (this.attributes == null) {
        sb.append("null");
      } else {
        sb.append(this.attributes);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class setOrderAttributeForMasterOrderId_result implements org.apache.thrift.TBase<setOrderAttributeForMasterOrderId_result, setOrderAttributeForMasterOrderId_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("setOrderAttributeForMasterOrderId_result");



    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
;

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(setOrderAttributeForMasterOrderId_result.class, metaDataMap);
    }

    public setOrderAttributeForMasterOrderId_result() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public setOrderAttributeForMasterOrderId_result(setOrderAttributeForMasterOrderId_result other) {
    }

    public setOrderAttributeForMasterOrderId_result deepCopy() {
      return new setOrderAttributeForMasterOrderId_result(this);
    }

    @Override
    public void clear() {
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof setOrderAttributeForMasterOrderId_result)
        return this.equals((setOrderAttributeForMasterOrderId_result)that);
      return false;
    }

    public boolean equals(setOrderAttributeForMasterOrderId_result that) {
      if (that == null)
        return false;

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(setOrderAttributeForMasterOrderId_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      setOrderAttributeForMasterOrderId_result typedOther = (setOrderAttributeForMasterOrderId_result)other;

      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("setOrderAttributeForMasterOrderId_result(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class updateMasterOrderAWB_args implements org.apache.thrift.TBase<updateMasterOrderAWB_args, updateMasterOrderAWB_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateMasterOrderAWB_args");

    private static final org.apache.thrift.protocol.TField LOGISTICS_TRANSACTION_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("logisticsTransactionId", org.apache.thrift.protocol.TType.STRING, (short)1);
    private static final org.apache.thrift.protocol.TField AIRWAY_BILL_NO_FIELD_DESC = new org.apache.thrift.protocol.TField("airwayBillNo", org.apache.thrift.protocol.TType.STRING, (short)2);

    private String logisticsTransactionId; // required
    private String airwayBillNo; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      LOGISTICS_TRANSACTION_ID((short)1, "logisticsTransactionId"),
      AIRWAY_BILL_NO((short)2, "airwayBillNo");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // LOGISTICS_TRANSACTION_ID
            return LOGISTICS_TRANSACTION_ID;
          case 2: // AIRWAY_BILL_NO
            return AIRWAY_BILL_NO;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.LOGISTICS_TRANSACTION_ID, new org.apache.thrift.meta_data.FieldMetaData("logisticsTransactionId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.AIRWAY_BILL_NO, new org.apache.thrift.meta_data.FieldMetaData("airwayBillNo", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateMasterOrderAWB_args.class, metaDataMap);
    }

    public updateMasterOrderAWB_args() {
    }

    public updateMasterOrderAWB_args(
      String logisticsTransactionId,
      String airwayBillNo)
    {
      this();
      this.logisticsTransactionId = logisticsTransactionId;
      this.airwayBillNo = airwayBillNo;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public updateMasterOrderAWB_args(updateMasterOrderAWB_args other) {
      if (other.isSetLogisticsTransactionId()) {
        this.logisticsTransactionId = other.logisticsTransactionId;
      }
      if (other.isSetAirwayBillNo()) {
        this.airwayBillNo = other.airwayBillNo;
      }
    }

    public updateMasterOrderAWB_args deepCopy() {
      return new updateMasterOrderAWB_args(this);
    }

    @Override
    public void clear() {
      this.logisticsTransactionId = null;
      this.airwayBillNo = null;
    }

    public String getLogisticsTransactionId() {
      return this.logisticsTransactionId;
    }

    public void setLogisticsTransactionId(String logisticsTransactionId) {
      this.logisticsTransactionId = logisticsTransactionId;
    }

    public void unsetLogisticsTransactionId() {
      this.logisticsTransactionId = null;
    }

    /** Returns true if field logisticsTransactionId is set (has been assigned a value) and false otherwise */
    public boolean isSetLogisticsTransactionId() {
      return this.logisticsTransactionId != null;
    }

    public void setLogisticsTransactionIdIsSet(boolean value) {
      if (!value) {
        this.logisticsTransactionId = null;
      }
    }

    public String getAirwayBillNo() {
      return this.airwayBillNo;
    }

    public void setAirwayBillNo(String airwayBillNo) {
      this.airwayBillNo = airwayBillNo;
    }

    public void unsetAirwayBillNo() {
      this.airwayBillNo = null;
    }

    /** Returns true if field airwayBillNo is set (has been assigned a value) and false otherwise */
    public boolean isSetAirwayBillNo() {
      return this.airwayBillNo != null;
    }

    public void setAirwayBillNoIsSet(boolean value) {
      if (!value) {
        this.airwayBillNo = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case LOGISTICS_TRANSACTION_ID:
        if (value == null) {
          unsetLogisticsTransactionId();
        } else {
          setLogisticsTransactionId((String)value);
        }
        break;

      case AIRWAY_BILL_NO:
        if (value == null) {
          unsetAirwayBillNo();
        } else {
          setAirwayBillNo((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case LOGISTICS_TRANSACTION_ID:
        return getLogisticsTransactionId();

      case AIRWAY_BILL_NO:
        return getAirwayBillNo();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case LOGISTICS_TRANSACTION_ID:
        return isSetLogisticsTransactionId();
      case AIRWAY_BILL_NO:
        return isSetAirwayBillNo();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof updateMasterOrderAWB_args)
        return this.equals((updateMasterOrderAWB_args)that);
      return false;
    }

    public boolean equals(updateMasterOrderAWB_args that) {
      if (that == null)
        return false;

      boolean this_present_logisticsTransactionId = true && this.isSetLogisticsTransactionId();
      boolean that_present_logisticsTransactionId = true && that.isSetLogisticsTransactionId();
      if (this_present_logisticsTransactionId || that_present_logisticsTransactionId) {
        if (!(this_present_logisticsTransactionId && that_present_logisticsTransactionId))
          return false;
        if (!this.logisticsTransactionId.equals(that.logisticsTransactionId))
          return false;
      }

      boolean this_present_airwayBillNo = true && this.isSetAirwayBillNo();
      boolean that_present_airwayBillNo = true && that.isSetAirwayBillNo();
      if (this_present_airwayBillNo || that_present_airwayBillNo) {
        if (!(this_present_airwayBillNo && that_present_airwayBillNo))
          return false;
        if (!this.airwayBillNo.equals(that.airwayBillNo))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(updateMasterOrderAWB_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      updateMasterOrderAWB_args typedOther = (updateMasterOrderAWB_args)other;

      lastComparison = Boolean.valueOf(isSetLogisticsTransactionId()).compareTo(typedOther.isSetLogisticsTransactionId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetLogisticsTransactionId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.logisticsTransactionId, typedOther.logisticsTransactionId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetAirwayBillNo()).compareTo(typedOther.isSetAirwayBillNo());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetAirwayBillNo()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.airwayBillNo, typedOther.airwayBillNo);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // LOGISTICS_TRANSACTION_ID
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.logisticsTransactionId = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // AIRWAY_BILL_NO
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.airwayBillNo = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.logisticsTransactionId != null) {
        oprot.writeFieldBegin(LOGISTICS_TRANSACTION_ID_FIELD_DESC);
        oprot.writeString(this.logisticsTransactionId);
        oprot.writeFieldEnd();
      }
      if (this.airwayBillNo != null) {
        oprot.writeFieldBegin(AIRWAY_BILL_NO_FIELD_DESC);
        oprot.writeString(this.airwayBillNo);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("updateMasterOrderAWB_args(");
      boolean first = true;

      sb.append("logisticsTransactionId:");
      if (this.logisticsTransactionId == null) {
        sb.append("null");
      } else {
        sb.append(this.logisticsTransactionId);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("airwayBillNo:");
      if (this.airwayBillNo == null) {
        sb.append("null");
      } else {
        sb.append(this.airwayBillNo);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class updateMasterOrderAWB_result implements org.apache.thrift.TBase<updateMasterOrderAWB_result, updateMasterOrderAWB_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateMasterOrderAWB_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);

    private boolean success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateMasterOrderAWB_result.class, metaDataMap);
    }

    public updateMasterOrderAWB_result() {
    }

    public updateMasterOrderAWB_result(
      boolean success)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public updateMasterOrderAWB_result(updateMasterOrderAWB_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
    }

    public updateMasterOrderAWB_result deepCopy() {
      return new updateMasterOrderAWB_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = false;
    }

    public boolean isSuccess() {
      return this.success;
    }

    public void setSuccess(boolean success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Boolean.valueOf(isSuccess());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof updateMasterOrderAWB_result)
        return this.equals((updateMasterOrderAWB_result)that);
      return false;
    }

    public boolean equals(updateMasterOrderAWB_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(updateMasterOrderAWB_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      updateMasterOrderAWB_result typedOther = (updateMasterOrderAWB_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.success = iprot.readBool();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBool(this.success);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("updateMasterOrderAWB_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class addOrUpdateShipmentLogisticsCostDetails_args implements org.apache.thrift.TBase<addOrUpdateShipmentLogisticsCostDetails_args, addOrUpdateShipmentLogisticsCostDetails_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addOrUpdateShipmentLogisticsCostDetails_args");

    private static final org.apache.thrift.protocol.TField SHIPMENT_LOGISTICS_COST_DETAILS_FIELD_DESC = new org.apache.thrift.protocol.TField("shipmentLogisticsCostDetails", org.apache.thrift.protocol.TType.LIST, (short)1);

    private List<ShipmentLogisticsCostDetail> shipmentLogisticsCostDetails; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SHIPMENT_LOGISTICS_COST_DETAILS((short)1, "shipmentLogisticsCostDetails");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // SHIPMENT_LOGISTICS_COST_DETAILS
            return SHIPMENT_LOGISTICS_COST_DETAILS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SHIPMENT_LOGISTICS_COST_DETAILS, new org.apache.thrift.meta_data.FieldMetaData("shipmentLogisticsCostDetails", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, ShipmentLogisticsCostDetail.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(addOrUpdateShipmentLogisticsCostDetails_args.class, metaDataMap);
    }

    public addOrUpdateShipmentLogisticsCostDetails_args() {
    }

    public addOrUpdateShipmentLogisticsCostDetails_args(
      List<ShipmentLogisticsCostDetail> shipmentLogisticsCostDetails)
    {
      this();
      this.shipmentLogisticsCostDetails = shipmentLogisticsCostDetails;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public addOrUpdateShipmentLogisticsCostDetails_args(addOrUpdateShipmentLogisticsCostDetails_args other) {
      if (other.isSetShipmentLogisticsCostDetails()) {
        List<ShipmentLogisticsCostDetail> __this__shipmentLogisticsCostDetails = new ArrayList<ShipmentLogisticsCostDetail>();
        for (ShipmentLogisticsCostDetail other_element : other.shipmentLogisticsCostDetails) {
          __this__shipmentLogisticsCostDetails.add(new ShipmentLogisticsCostDetail(other_element));
        }
        this.shipmentLogisticsCostDetails = __this__shipmentLogisticsCostDetails;
      }
    }

    public addOrUpdateShipmentLogisticsCostDetails_args deepCopy() {
      return new addOrUpdateShipmentLogisticsCostDetails_args(this);
    }

    @Override
    public void clear() {
      this.shipmentLogisticsCostDetails = null;
    }

    public int getShipmentLogisticsCostDetailsSize() {
      return (this.shipmentLogisticsCostDetails == null) ? 0 : this.shipmentLogisticsCostDetails.size();
    }

    public java.util.Iterator<ShipmentLogisticsCostDetail> getShipmentLogisticsCostDetailsIterator() {
      return (this.shipmentLogisticsCostDetails == null) ? null : this.shipmentLogisticsCostDetails.iterator();
    }

    public void addToShipmentLogisticsCostDetails(ShipmentLogisticsCostDetail elem) {
      if (this.shipmentLogisticsCostDetails == null) {
        this.shipmentLogisticsCostDetails = new ArrayList<ShipmentLogisticsCostDetail>();
      }
      this.shipmentLogisticsCostDetails.add(elem);
    }

    public List<ShipmentLogisticsCostDetail> getShipmentLogisticsCostDetails() {
      return this.shipmentLogisticsCostDetails;
    }

    public void setShipmentLogisticsCostDetails(List<ShipmentLogisticsCostDetail> shipmentLogisticsCostDetails) {
      this.shipmentLogisticsCostDetails = shipmentLogisticsCostDetails;
    }

    public void unsetShipmentLogisticsCostDetails() {
      this.shipmentLogisticsCostDetails = null;
    }

    /** Returns true if field shipmentLogisticsCostDetails is set (has been assigned a value) and false otherwise */
    public boolean isSetShipmentLogisticsCostDetails() {
      return this.shipmentLogisticsCostDetails != null;
    }

    public void setShipmentLogisticsCostDetailsIsSet(boolean value) {
      if (!value) {
        this.shipmentLogisticsCostDetails = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SHIPMENT_LOGISTICS_COST_DETAILS:
        if (value == null) {
          unsetShipmentLogisticsCostDetails();
        } else {
          setShipmentLogisticsCostDetails((List<ShipmentLogisticsCostDetail>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SHIPMENT_LOGISTICS_COST_DETAILS:
        return getShipmentLogisticsCostDetails();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SHIPMENT_LOGISTICS_COST_DETAILS:
        return isSetShipmentLogisticsCostDetails();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof addOrUpdateShipmentLogisticsCostDetails_args)
        return this.equals((addOrUpdateShipmentLogisticsCostDetails_args)that);
      return false;
    }

    public boolean equals(addOrUpdateShipmentLogisticsCostDetails_args that) {
      if (that == null)
        return false;

      boolean this_present_shipmentLogisticsCostDetails = true && this.isSetShipmentLogisticsCostDetails();
      boolean that_present_shipmentLogisticsCostDetails = true && that.isSetShipmentLogisticsCostDetails();
      if (this_present_shipmentLogisticsCostDetails || that_present_shipmentLogisticsCostDetails) {
        if (!(this_present_shipmentLogisticsCostDetails && that_present_shipmentLogisticsCostDetails))
          return false;
        if (!this.shipmentLogisticsCostDetails.equals(that.shipmentLogisticsCostDetails))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(addOrUpdateShipmentLogisticsCostDetails_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      addOrUpdateShipmentLogisticsCostDetails_args typedOther = (addOrUpdateShipmentLogisticsCostDetails_args)other;

      lastComparison = Boolean.valueOf(isSetShipmentLogisticsCostDetails()).compareTo(typedOther.isSetShipmentLogisticsCostDetails());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetShipmentLogisticsCostDetails()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.shipmentLogisticsCostDetails, typedOther.shipmentLogisticsCostDetails);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // SHIPMENT_LOGISTICS_COST_DETAILS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list824 = iprot.readListBegin();
                this.shipmentLogisticsCostDetails = new ArrayList<ShipmentLogisticsCostDetail>(_list824.size);
                for (int _i825 = 0; _i825 < _list824.size; ++_i825)
                {
                  ShipmentLogisticsCostDetail _elem826; // required
                  _elem826 = new ShipmentLogisticsCostDetail();
                  _elem826.read(iprot);
                  this.shipmentLogisticsCostDetails.add(_elem826);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.shipmentLogisticsCostDetails != null) {
        oprot.writeFieldBegin(SHIPMENT_LOGISTICS_COST_DETAILS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.shipmentLogisticsCostDetails.size()));
          for (ShipmentLogisticsCostDetail _iter827 : this.shipmentLogisticsCostDetails)
          {
            _iter827.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("addOrUpdateShipmentLogisticsCostDetails_args(");
      boolean first = true;

      sb.append("shipmentLogisticsCostDetails:");
      if (this.shipmentLogisticsCostDetails == null) {
        sb.append("null");
      } else {
        sb.append(this.shipmentLogisticsCostDetails);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class addOrUpdateShipmentLogisticsCostDetails_result implements org.apache.thrift.TBase<addOrUpdateShipmentLogisticsCostDetails_result, addOrUpdateShipmentLogisticsCostDetails_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addOrUpdateShipmentLogisticsCostDetails_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);

    private boolean success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(addOrUpdateShipmentLogisticsCostDetails_result.class, metaDataMap);
    }

    public addOrUpdateShipmentLogisticsCostDetails_result() {
    }

    public addOrUpdateShipmentLogisticsCostDetails_result(
      boolean success)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public addOrUpdateShipmentLogisticsCostDetails_result(addOrUpdateShipmentLogisticsCostDetails_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
    }

    public addOrUpdateShipmentLogisticsCostDetails_result deepCopy() {
      return new addOrUpdateShipmentLogisticsCostDetails_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = false;
    }

    public boolean isSuccess() {
      return this.success;
    }

    public void setSuccess(boolean success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Boolean.valueOf(isSuccess());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof addOrUpdateShipmentLogisticsCostDetails_result)
        return this.equals((addOrUpdateShipmentLogisticsCostDetails_result)that);
      return false;
    }

    public boolean equals(addOrUpdateShipmentLogisticsCostDetails_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(addOrUpdateShipmentLogisticsCostDetails_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      addOrUpdateShipmentLogisticsCostDetails_result typedOther = (addOrUpdateShipmentLogisticsCostDetails_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.success = iprot.readBool();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBool(this.success);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("addOrUpdateShipmentLogisticsCostDetails_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getEligibleOrdersForReturn_args implements org.apache.thrift.TBase<getEligibleOrdersForReturn_args, getEligibleOrdersForReturn_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getEligibleOrdersForReturn_args");

    private static final org.apache.thrift.protocol.TField CUSTOMER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("customerId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField ITEM_CONDITION_FIELD_DESC = new org.apache.thrift.protocol.TField("itemCondition", org.apache.thrift.protocol.TType.STRING, (short)2);
    private static final org.apache.thrift.protocol.TField OVERRIDE_WARRANTY_FIELD_DESC = new org.apache.thrift.protocol.TField("overrideWarranty", org.apache.thrift.protocol.TType.BOOL, (short)3);

    private long customerId; // required
    private String itemCondition; // required
    private boolean overrideWarranty; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      CUSTOMER_ID((short)1, "customerId"),
      ITEM_CONDITION((short)2, "itemCondition"),
      OVERRIDE_WARRANTY((short)3, "overrideWarranty");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // CUSTOMER_ID
            return CUSTOMER_ID;
          case 2: // ITEM_CONDITION
            return ITEM_CONDITION;
          case 3: // OVERRIDE_WARRANTY
            return OVERRIDE_WARRANTY;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __CUSTOMERID_ISSET_ID = 0;
    private static final int __OVERRIDEWARRANTY_ISSET_ID = 1;
    private BitSet __isset_bit_vector = new BitSet(2);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.CUSTOMER_ID, new org.apache.thrift.meta_data.FieldMetaData("customerId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.ITEM_CONDITION, new org.apache.thrift.meta_data.FieldMetaData("itemCondition", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.OVERRIDE_WARRANTY, new org.apache.thrift.meta_data.FieldMetaData("overrideWarranty", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getEligibleOrdersForReturn_args.class, metaDataMap);
    }

    public getEligibleOrdersForReturn_args() {
    }

    public getEligibleOrdersForReturn_args(
      long customerId,
      String itemCondition,
      boolean overrideWarranty)
    {
      this();
      this.customerId = customerId;
      setCustomerIdIsSet(true);
      this.itemCondition = itemCondition;
      this.overrideWarranty = overrideWarranty;
      setOverrideWarrantyIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getEligibleOrdersForReturn_args(getEligibleOrdersForReturn_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.customerId = other.customerId;
      if (other.isSetItemCondition()) {
        this.itemCondition = other.itemCondition;
      }
      this.overrideWarranty = other.overrideWarranty;
    }

    public getEligibleOrdersForReturn_args deepCopy() {
      return new getEligibleOrdersForReturn_args(this);
    }

    @Override
    public void clear() {
      setCustomerIdIsSet(false);
      this.customerId = 0;
      this.itemCondition = null;
      setOverrideWarrantyIsSet(false);
      this.overrideWarranty = false;
    }

    public long getCustomerId() {
      return this.customerId;
    }

    public void setCustomerId(long customerId) {
      this.customerId = customerId;
      setCustomerIdIsSet(true);
    }

    public void unsetCustomerId() {
      __isset_bit_vector.clear(__CUSTOMERID_ISSET_ID);
    }

    /** Returns true if field customerId is set (has been assigned a value) and false otherwise */
    public boolean isSetCustomerId() {
      return __isset_bit_vector.get(__CUSTOMERID_ISSET_ID);
    }

    public void setCustomerIdIsSet(boolean value) {
      __isset_bit_vector.set(__CUSTOMERID_ISSET_ID, value);
    }

    public String getItemCondition() {
      return this.itemCondition;
    }

    public void setItemCondition(String itemCondition) {
      this.itemCondition = itemCondition;
    }

    public void unsetItemCondition() {
      this.itemCondition = null;
    }

    /** Returns true if field itemCondition is set (has been assigned a value) and false otherwise */
    public boolean isSetItemCondition() {
      return this.itemCondition != null;
    }

    public void setItemConditionIsSet(boolean value) {
      if (!value) {
        this.itemCondition = null;
      }
    }

    public boolean isOverrideWarranty() {
      return this.overrideWarranty;
    }

    public void setOverrideWarranty(boolean overrideWarranty) {
      this.overrideWarranty = overrideWarranty;
      setOverrideWarrantyIsSet(true);
    }

    public void unsetOverrideWarranty() {
      __isset_bit_vector.clear(__OVERRIDEWARRANTY_ISSET_ID);
    }

    /** Returns true if field overrideWarranty is set (has been assigned a value) and false otherwise */
    public boolean isSetOverrideWarranty() {
      return __isset_bit_vector.get(__OVERRIDEWARRANTY_ISSET_ID);
    }

    public void setOverrideWarrantyIsSet(boolean value) {
      __isset_bit_vector.set(__OVERRIDEWARRANTY_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case CUSTOMER_ID:
        if (value == null) {
          unsetCustomerId();
        } else {
          setCustomerId((Long)value);
        }
        break;

      case ITEM_CONDITION:
        if (value == null) {
          unsetItemCondition();
        } else {
          setItemCondition((String)value);
        }
        break;

      case OVERRIDE_WARRANTY:
        if (value == null) {
          unsetOverrideWarranty();
        } else {
          setOverrideWarranty((Boolean)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case CUSTOMER_ID:
        return Long.valueOf(getCustomerId());

      case ITEM_CONDITION:
        return getItemCondition();

      case OVERRIDE_WARRANTY:
        return Boolean.valueOf(isOverrideWarranty());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case CUSTOMER_ID:
        return isSetCustomerId();
      case ITEM_CONDITION:
        return isSetItemCondition();
      case OVERRIDE_WARRANTY:
        return isSetOverrideWarranty();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getEligibleOrdersForReturn_args)
        return this.equals((getEligibleOrdersForReturn_args)that);
      return false;
    }

    public boolean equals(getEligibleOrdersForReturn_args that) {
      if (that == null)
        return false;

      boolean this_present_customerId = true;
      boolean that_present_customerId = true;
      if (this_present_customerId || that_present_customerId) {
        if (!(this_present_customerId && that_present_customerId))
          return false;
        if (this.customerId != that.customerId)
          return false;
      }

      boolean this_present_itemCondition = true && this.isSetItemCondition();
      boolean that_present_itemCondition = true && that.isSetItemCondition();
      if (this_present_itemCondition || that_present_itemCondition) {
        if (!(this_present_itemCondition && that_present_itemCondition))
          return false;
        if (!this.itemCondition.equals(that.itemCondition))
          return false;
      }

      boolean this_present_overrideWarranty = true;
      boolean that_present_overrideWarranty = true;
      if (this_present_overrideWarranty || that_present_overrideWarranty) {
        if (!(this_present_overrideWarranty && that_present_overrideWarranty))
          return false;
        if (this.overrideWarranty != that.overrideWarranty)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getEligibleOrdersForReturn_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getEligibleOrdersForReturn_args typedOther = (getEligibleOrdersForReturn_args)other;

      lastComparison = Boolean.valueOf(isSetCustomerId()).compareTo(typedOther.isSetCustomerId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetCustomerId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.customerId, typedOther.customerId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetItemCondition()).compareTo(typedOther.isSetItemCondition());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetItemCondition()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.itemCondition, typedOther.itemCondition);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetOverrideWarranty()).compareTo(typedOther.isSetOverrideWarranty());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOverrideWarranty()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.overrideWarranty, typedOther.overrideWarranty);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // CUSTOMER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.customerId = iprot.readI64();
              setCustomerIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // ITEM_CONDITION
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.itemCondition = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // OVERRIDE_WARRANTY
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.overrideWarranty = iprot.readBool();
              setOverrideWarrantyIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(CUSTOMER_ID_FIELD_DESC);
      oprot.writeI64(this.customerId);
      oprot.writeFieldEnd();
      if (this.itemCondition != null) {
        oprot.writeFieldBegin(ITEM_CONDITION_FIELD_DESC);
        oprot.writeString(this.itemCondition);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldBegin(OVERRIDE_WARRANTY_FIELD_DESC);
      oprot.writeBool(this.overrideWarranty);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getEligibleOrdersForReturn_args(");
      boolean first = true;

      sb.append("customerId:");
      sb.append(this.customerId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("itemCondition:");
      if (this.itemCondition == null) {
        sb.append("null");
      } else {
        sb.append(this.itemCondition);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("overrideWarranty:");
      sb.append(this.overrideWarranty);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getEligibleOrdersForReturn_result implements org.apache.thrift.TBase<getEligibleOrdersForReturn_result, getEligibleOrdersForReturn_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getEligibleOrdersForReturn_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);

    private List<Order> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Order.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getEligibleOrdersForReturn_result.class, metaDataMap);
    }

    public getEligibleOrdersForReturn_result() {
    }

    public getEligibleOrdersForReturn_result(
      List<Order> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getEligibleOrdersForReturn_result(getEligibleOrdersForReturn_result other) {
      if (other.isSetSuccess()) {
        List<Order> __this__success = new ArrayList<Order>();
        for (Order other_element : other.success) {
          __this__success.add(new Order(other_element));
        }
        this.success = __this__success;
      }
    }

    public getEligibleOrdersForReturn_result deepCopy() {
      return new getEligibleOrdersForReturn_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<Order> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(Order elem) {
      if (this.success == null) {
        this.success = new ArrayList<Order>();
      }
      this.success.add(elem);
    }

    public List<Order> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<Order> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<Order>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getEligibleOrdersForReturn_result)
        return this.equals((getEligibleOrdersForReturn_result)that);
      return false;
    }

    public boolean equals(getEligibleOrdersForReturn_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getEligibleOrdersForReturn_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getEligibleOrdersForReturn_result typedOther = (getEligibleOrdersForReturn_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list828 = iprot.readListBegin();
                this.success = new ArrayList<Order>(_list828.size);
                for (int _i829 = 0; _i829 < _list828.size; ++_i829)
                {
                  Order _elem830; // required
                  _elem830 = new Order();
                  _elem830.read(iprot);
                  this.success.add(_elem830);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (Order _iter831 : this.success)
          {
            _iter831.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getEligibleOrdersForReturn_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getEligibleReturnOrdersForPickup_args implements org.apache.thrift.TBase<getEligibleReturnOrdersForPickup_args, getEligibleReturnOrdersForPickup_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getEligibleReturnOrdersForPickup_args");

    private static final org.apache.thrift.protocol.TField CUSTOMER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("customerId", org.apache.thrift.protocol.TType.I64, (short)1);

    private long customerId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      CUSTOMER_ID((short)1, "customerId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // CUSTOMER_ID
            return CUSTOMER_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __CUSTOMERID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.CUSTOMER_ID, new org.apache.thrift.meta_data.FieldMetaData("customerId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getEligibleReturnOrdersForPickup_args.class, metaDataMap);
    }

    public getEligibleReturnOrdersForPickup_args() {
    }

    public getEligibleReturnOrdersForPickup_args(
      long customerId)
    {
      this();
      this.customerId = customerId;
      setCustomerIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getEligibleReturnOrdersForPickup_args(getEligibleReturnOrdersForPickup_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.customerId = other.customerId;
    }

    public getEligibleReturnOrdersForPickup_args deepCopy() {
      return new getEligibleReturnOrdersForPickup_args(this);
    }

    @Override
    public void clear() {
      setCustomerIdIsSet(false);
      this.customerId = 0;
    }

    public long getCustomerId() {
      return this.customerId;
    }

    public void setCustomerId(long customerId) {
      this.customerId = customerId;
      setCustomerIdIsSet(true);
    }

    public void unsetCustomerId() {
      __isset_bit_vector.clear(__CUSTOMERID_ISSET_ID);
    }

    /** Returns true if field customerId is set (has been assigned a value) and false otherwise */
    public boolean isSetCustomerId() {
      return __isset_bit_vector.get(__CUSTOMERID_ISSET_ID);
    }

    public void setCustomerIdIsSet(boolean value) {
      __isset_bit_vector.set(__CUSTOMERID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case CUSTOMER_ID:
        if (value == null) {
          unsetCustomerId();
        } else {
          setCustomerId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case CUSTOMER_ID:
        return Long.valueOf(getCustomerId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case CUSTOMER_ID:
        return isSetCustomerId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getEligibleReturnOrdersForPickup_args)
        return this.equals((getEligibleReturnOrdersForPickup_args)that);
      return false;
    }

    public boolean equals(getEligibleReturnOrdersForPickup_args that) {
      if (that == null)
        return false;

      boolean this_present_customerId = true;
      boolean that_present_customerId = true;
      if (this_present_customerId || that_present_customerId) {
        if (!(this_present_customerId && that_present_customerId))
          return false;
        if (this.customerId != that.customerId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getEligibleReturnOrdersForPickup_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getEligibleReturnOrdersForPickup_args typedOther = (getEligibleReturnOrdersForPickup_args)other;

      lastComparison = Boolean.valueOf(isSetCustomerId()).compareTo(typedOther.isSetCustomerId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetCustomerId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.customerId, typedOther.customerId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // CUSTOMER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.customerId = iprot.readI64();
              setCustomerIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(CUSTOMER_ID_FIELD_DESC);
      oprot.writeI64(this.customerId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getEligibleReturnOrdersForPickup_args(");
      boolean first = true;

      sb.append("customerId:");
      sb.append(this.customerId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getEligibleReturnOrdersForPickup_result implements org.apache.thrift.TBase<getEligibleReturnOrdersForPickup_result, getEligibleReturnOrdersForPickup_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getEligibleReturnOrdersForPickup_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);

    private List<ReturnOrderInfo> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, ReturnOrderInfo.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getEligibleReturnOrdersForPickup_result.class, metaDataMap);
    }

    public getEligibleReturnOrdersForPickup_result() {
    }

    public getEligibleReturnOrdersForPickup_result(
      List<ReturnOrderInfo> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getEligibleReturnOrdersForPickup_result(getEligibleReturnOrdersForPickup_result other) {
      if (other.isSetSuccess()) {
        List<ReturnOrderInfo> __this__success = new ArrayList<ReturnOrderInfo>();
        for (ReturnOrderInfo other_element : other.success) {
          __this__success.add(new ReturnOrderInfo(other_element));
        }
        this.success = __this__success;
      }
    }

    public getEligibleReturnOrdersForPickup_result deepCopy() {
      return new getEligibleReturnOrdersForPickup_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<ReturnOrderInfo> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(ReturnOrderInfo elem) {
      if (this.success == null) {
        this.success = new ArrayList<ReturnOrderInfo>();
      }
      this.success.add(elem);
    }

    public List<ReturnOrderInfo> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<ReturnOrderInfo> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<ReturnOrderInfo>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getEligibleReturnOrdersForPickup_result)
        return this.equals((getEligibleReturnOrdersForPickup_result)that);
      return false;
    }

    public boolean equals(getEligibleReturnOrdersForPickup_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getEligibleReturnOrdersForPickup_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getEligibleReturnOrdersForPickup_result typedOther = (getEligibleReturnOrdersForPickup_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list832 = iprot.readListBegin();
                this.success = new ArrayList<ReturnOrderInfo>(_list832.size);
                for (int _i833 = 0; _i833 < _list832.size; ++_i833)
                {
                  ReturnOrderInfo _elem834; // required
                  _elem834 = new ReturnOrderInfo();
                  _elem834.read(iprot);
                  this.success.add(_elem834);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (ReturnOrderInfo _iter835 : this.success)
          {
            _iter835.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getEligibleReturnOrdersForPickup_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class validateReturnTransaction_args implements org.apache.thrift.TBase<validateReturnTransaction_args, validateReturnTransaction_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("validateReturnTransaction_args");

    private static final org.apache.thrift.protocol.TField CUSTOMER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("customerId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField RETURN_ORDERS_MAP_FIELD_DESC = new org.apache.thrift.protocol.TField("returnOrdersMap", org.apache.thrift.protocol.TType.MAP, (short)2);
    private static final org.apache.thrift.protocol.TField ITEM_CONDITION_FIELD_DESC = new org.apache.thrift.protocol.TField("itemCondition", org.apache.thrift.protocol.TType.STRING, (short)3);
    private static final org.apache.thrift.protocol.TField OVERRIDE_WARRANTY_FIELD_DESC = new org.apache.thrift.protocol.TField("overrideWarranty", org.apache.thrift.protocol.TType.BOOL, (short)4);

    private long customerId; // required
    private Map<Long,Long> returnOrdersMap; // required
    private String itemCondition; // required
    private boolean overrideWarranty; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      CUSTOMER_ID((short)1, "customerId"),
      RETURN_ORDERS_MAP((short)2, "returnOrdersMap"),
      ITEM_CONDITION((short)3, "itemCondition"),
      OVERRIDE_WARRANTY((short)4, "overrideWarranty");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // CUSTOMER_ID
            return CUSTOMER_ID;
          case 2: // RETURN_ORDERS_MAP
            return RETURN_ORDERS_MAP;
          case 3: // ITEM_CONDITION
            return ITEM_CONDITION;
          case 4: // OVERRIDE_WARRANTY
            return OVERRIDE_WARRANTY;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __CUSTOMERID_ISSET_ID = 0;
    private static final int __OVERRIDEWARRANTY_ISSET_ID = 1;
    private BitSet __isset_bit_vector = new BitSet(2);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.CUSTOMER_ID, new org.apache.thrift.meta_data.FieldMetaData("customerId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.RETURN_ORDERS_MAP, new org.apache.thrift.meta_data.FieldMetaData("returnOrdersMap", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64), 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64))));
      tmpMap.put(_Fields.ITEM_CONDITION, new org.apache.thrift.meta_data.FieldMetaData("itemCondition", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.OVERRIDE_WARRANTY, new org.apache.thrift.meta_data.FieldMetaData("overrideWarranty", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(validateReturnTransaction_args.class, metaDataMap);
    }

    public validateReturnTransaction_args() {
    }

    public validateReturnTransaction_args(
      long customerId,
      Map<Long,Long> returnOrdersMap,
      String itemCondition,
      boolean overrideWarranty)
    {
      this();
      this.customerId = customerId;
      setCustomerIdIsSet(true);
      this.returnOrdersMap = returnOrdersMap;
      this.itemCondition = itemCondition;
      this.overrideWarranty = overrideWarranty;
      setOverrideWarrantyIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public validateReturnTransaction_args(validateReturnTransaction_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.customerId = other.customerId;
      if (other.isSetReturnOrdersMap()) {
        Map<Long,Long> __this__returnOrdersMap = new HashMap<Long,Long>();
        for (Map.Entry<Long, Long> other_element : other.returnOrdersMap.entrySet()) {

          Long other_element_key = other_element.getKey();
          Long other_element_value = other_element.getValue();

          Long __this__returnOrdersMap_copy_key = other_element_key;

          Long __this__returnOrdersMap_copy_value = other_element_value;

          __this__returnOrdersMap.put(__this__returnOrdersMap_copy_key, __this__returnOrdersMap_copy_value);
        }
        this.returnOrdersMap = __this__returnOrdersMap;
      }
      if (other.isSetItemCondition()) {
        this.itemCondition = other.itemCondition;
      }
      this.overrideWarranty = other.overrideWarranty;
    }

    public validateReturnTransaction_args deepCopy() {
      return new validateReturnTransaction_args(this);
    }

    @Override
    public void clear() {
      setCustomerIdIsSet(false);
      this.customerId = 0;
      this.returnOrdersMap = null;
      this.itemCondition = null;
      setOverrideWarrantyIsSet(false);
      this.overrideWarranty = false;
    }

    public long getCustomerId() {
      return this.customerId;
    }

    public void setCustomerId(long customerId) {
      this.customerId = customerId;
      setCustomerIdIsSet(true);
    }

    public void unsetCustomerId() {
      __isset_bit_vector.clear(__CUSTOMERID_ISSET_ID);
    }

    /** Returns true if field customerId is set (has been assigned a value) and false otherwise */
    public boolean isSetCustomerId() {
      return __isset_bit_vector.get(__CUSTOMERID_ISSET_ID);
    }

    public void setCustomerIdIsSet(boolean value) {
      __isset_bit_vector.set(__CUSTOMERID_ISSET_ID, value);
    }

    public int getReturnOrdersMapSize() {
      return (this.returnOrdersMap == null) ? 0 : this.returnOrdersMap.size();
    }

    public void putToReturnOrdersMap(long key, long val) {
      if (this.returnOrdersMap == null) {
        this.returnOrdersMap = new HashMap<Long,Long>();
      }
      this.returnOrdersMap.put(key, val);
    }

    public Map<Long,Long> getReturnOrdersMap() {
      return this.returnOrdersMap;
    }

    public void setReturnOrdersMap(Map<Long,Long> returnOrdersMap) {
      this.returnOrdersMap = returnOrdersMap;
    }

    public void unsetReturnOrdersMap() {
      this.returnOrdersMap = null;
    }

    /** Returns true if field returnOrdersMap is set (has been assigned a value) and false otherwise */
    public boolean isSetReturnOrdersMap() {
      return this.returnOrdersMap != null;
    }

    public void setReturnOrdersMapIsSet(boolean value) {
      if (!value) {
        this.returnOrdersMap = null;
      }
    }

    public String getItemCondition() {
      return this.itemCondition;
    }

    public void setItemCondition(String itemCondition) {
      this.itemCondition = itemCondition;
    }

    public void unsetItemCondition() {
      this.itemCondition = null;
    }

    /** Returns true if field itemCondition is set (has been assigned a value) and false otherwise */
    public boolean isSetItemCondition() {
      return this.itemCondition != null;
    }

    public void setItemConditionIsSet(boolean value) {
      if (!value) {
        this.itemCondition = null;
      }
    }

    public boolean isOverrideWarranty() {
      return this.overrideWarranty;
    }

    public void setOverrideWarranty(boolean overrideWarranty) {
      this.overrideWarranty = overrideWarranty;
      setOverrideWarrantyIsSet(true);
    }

    public void unsetOverrideWarranty() {
      __isset_bit_vector.clear(__OVERRIDEWARRANTY_ISSET_ID);
    }

    /** Returns true if field overrideWarranty is set (has been assigned a value) and false otherwise */
    public boolean isSetOverrideWarranty() {
      return __isset_bit_vector.get(__OVERRIDEWARRANTY_ISSET_ID);
    }

    public void setOverrideWarrantyIsSet(boolean value) {
      __isset_bit_vector.set(__OVERRIDEWARRANTY_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case CUSTOMER_ID:
        if (value == null) {
          unsetCustomerId();
        } else {
          setCustomerId((Long)value);
        }
        break;

      case RETURN_ORDERS_MAP:
        if (value == null) {
          unsetReturnOrdersMap();
        } else {
          setReturnOrdersMap((Map<Long,Long>)value);
        }
        break;

      case ITEM_CONDITION:
        if (value == null) {
          unsetItemCondition();
        } else {
          setItemCondition((String)value);
        }
        break;

      case OVERRIDE_WARRANTY:
        if (value == null) {
          unsetOverrideWarranty();
        } else {
          setOverrideWarranty((Boolean)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case CUSTOMER_ID:
        return Long.valueOf(getCustomerId());

      case RETURN_ORDERS_MAP:
        return getReturnOrdersMap();

      case ITEM_CONDITION:
        return getItemCondition();

      case OVERRIDE_WARRANTY:
        return Boolean.valueOf(isOverrideWarranty());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case CUSTOMER_ID:
        return isSetCustomerId();
      case RETURN_ORDERS_MAP:
        return isSetReturnOrdersMap();
      case ITEM_CONDITION:
        return isSetItemCondition();
      case OVERRIDE_WARRANTY:
        return isSetOverrideWarranty();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof validateReturnTransaction_args)
        return this.equals((validateReturnTransaction_args)that);
      return false;
    }

    public boolean equals(validateReturnTransaction_args that) {
      if (that == null)
        return false;

      boolean this_present_customerId = true;
      boolean that_present_customerId = true;
      if (this_present_customerId || that_present_customerId) {
        if (!(this_present_customerId && that_present_customerId))
          return false;
        if (this.customerId != that.customerId)
          return false;
      }

      boolean this_present_returnOrdersMap = true && this.isSetReturnOrdersMap();
      boolean that_present_returnOrdersMap = true && that.isSetReturnOrdersMap();
      if (this_present_returnOrdersMap || that_present_returnOrdersMap) {
        if (!(this_present_returnOrdersMap && that_present_returnOrdersMap))
          return false;
        if (!this.returnOrdersMap.equals(that.returnOrdersMap))
          return false;
      }

      boolean this_present_itemCondition = true && this.isSetItemCondition();
      boolean that_present_itemCondition = true && that.isSetItemCondition();
      if (this_present_itemCondition || that_present_itemCondition) {
        if (!(this_present_itemCondition && that_present_itemCondition))
          return false;
        if (!this.itemCondition.equals(that.itemCondition))
          return false;
      }

      boolean this_present_overrideWarranty = true;
      boolean that_present_overrideWarranty = true;
      if (this_present_overrideWarranty || that_present_overrideWarranty) {
        if (!(this_present_overrideWarranty && that_present_overrideWarranty))
          return false;
        if (this.overrideWarranty != that.overrideWarranty)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(validateReturnTransaction_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      validateReturnTransaction_args typedOther = (validateReturnTransaction_args)other;

      lastComparison = Boolean.valueOf(isSetCustomerId()).compareTo(typedOther.isSetCustomerId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetCustomerId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.customerId, typedOther.customerId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetReturnOrdersMap()).compareTo(typedOther.isSetReturnOrdersMap());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetReturnOrdersMap()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.returnOrdersMap, typedOther.returnOrdersMap);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetItemCondition()).compareTo(typedOther.isSetItemCondition());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetItemCondition()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.itemCondition, typedOther.itemCondition);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetOverrideWarranty()).compareTo(typedOther.isSetOverrideWarranty());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOverrideWarranty()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.overrideWarranty, typedOther.overrideWarranty);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // CUSTOMER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.customerId = iprot.readI64();
              setCustomerIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // RETURN_ORDERS_MAP
            if (field.type == org.apache.thrift.protocol.TType.MAP) {
              {
                org.apache.thrift.protocol.TMap _map836 = iprot.readMapBegin();
                this.returnOrdersMap = new HashMap<Long,Long>(2*_map836.size);
                for (int _i837 = 0; _i837 < _map836.size; ++_i837)
                {
                  long _key838; // required
                  long _val839; // required
                  _key838 = iprot.readI64();
                  _val839 = iprot.readI64();
                  this.returnOrdersMap.put(_key838, _val839);
                }
                iprot.readMapEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // ITEM_CONDITION
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.itemCondition = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 4: // OVERRIDE_WARRANTY
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.overrideWarranty = iprot.readBool();
              setOverrideWarrantyIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(CUSTOMER_ID_FIELD_DESC);
      oprot.writeI64(this.customerId);
      oprot.writeFieldEnd();
      if (this.returnOrdersMap != null) {
        oprot.writeFieldBegin(RETURN_ORDERS_MAP_FIELD_DESC);
        {
          oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.I64, org.apache.thrift.protocol.TType.I64, this.returnOrdersMap.size()));
          for (Map.Entry<Long, Long> _iter840 : this.returnOrdersMap.entrySet())
          {
            oprot.writeI64(_iter840.getKey());
            oprot.writeI64(_iter840.getValue());
          }
          oprot.writeMapEnd();
        }
        oprot.writeFieldEnd();
      }
      if (this.itemCondition != null) {
        oprot.writeFieldBegin(ITEM_CONDITION_FIELD_DESC);
        oprot.writeString(this.itemCondition);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldBegin(OVERRIDE_WARRANTY_FIELD_DESC);
      oprot.writeBool(this.overrideWarranty);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("validateReturnTransaction_args(");
      boolean first = true;

      sb.append("customerId:");
      sb.append(this.customerId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("returnOrdersMap:");
      if (this.returnOrdersMap == null) {
        sb.append("null");
      } else {
        sb.append(this.returnOrdersMap);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("itemCondition:");
      if (this.itemCondition == null) {
        sb.append("null");
      } else {
        sb.append(this.itemCondition);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("overrideWarranty:");
      sb.append(this.overrideWarranty);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class validateReturnTransaction_result implements org.apache.thrift.TBase<validateReturnTransaction_result, validateReturnTransaction_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("validateReturnTransaction_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);

    private boolean success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(validateReturnTransaction_result.class, metaDataMap);
    }

    public validateReturnTransaction_result() {
    }

    public validateReturnTransaction_result(
      boolean success)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public validateReturnTransaction_result(validateReturnTransaction_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
    }

    public validateReturnTransaction_result deepCopy() {
      return new validateReturnTransaction_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = false;
    }

    public boolean isSuccess() {
      return this.success;
    }

    public void setSuccess(boolean success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Boolean.valueOf(isSuccess());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof validateReturnTransaction_result)
        return this.equals((validateReturnTransaction_result)that);
      return false;
    }

    public boolean equals(validateReturnTransaction_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(validateReturnTransaction_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      validateReturnTransaction_result typedOther = (validateReturnTransaction_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.success = iprot.readBool();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBool(this.success);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("validateReturnTransaction_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getPendingStoreOrders_args implements org.apache.thrift.TBase<getPendingStoreOrders_args, getPendingStoreOrders_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getPendingStoreOrders_args");

    private static final org.apache.thrift.protocol.TField STORE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("storeId", org.apache.thrift.protocol.TType.I64, (short)1);

    private long storeId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      STORE_ID((short)1, "storeId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // STORE_ID
            return STORE_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __STOREID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.STORE_ID, new org.apache.thrift.meta_data.FieldMetaData("storeId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getPendingStoreOrders_args.class, metaDataMap);
    }

    public getPendingStoreOrders_args() {
    }

    public getPendingStoreOrders_args(
      long storeId)
    {
      this();
      this.storeId = storeId;
      setStoreIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getPendingStoreOrders_args(getPendingStoreOrders_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.storeId = other.storeId;
    }

    public getPendingStoreOrders_args deepCopy() {
      return new getPendingStoreOrders_args(this);
    }

    @Override
    public void clear() {
      setStoreIdIsSet(false);
      this.storeId = 0;
    }

    public long getStoreId() {
      return this.storeId;
    }

    public void setStoreId(long storeId) {
      this.storeId = storeId;
      setStoreIdIsSet(true);
    }

    public void unsetStoreId() {
      __isset_bit_vector.clear(__STOREID_ISSET_ID);
    }

    /** Returns true if field storeId is set (has been assigned a value) and false otherwise */
    public boolean isSetStoreId() {
      return __isset_bit_vector.get(__STOREID_ISSET_ID);
    }

    public void setStoreIdIsSet(boolean value) {
      __isset_bit_vector.set(__STOREID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case STORE_ID:
        if (value == null) {
          unsetStoreId();
        } else {
          setStoreId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case STORE_ID:
        return Long.valueOf(getStoreId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case STORE_ID:
        return isSetStoreId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getPendingStoreOrders_args)
        return this.equals((getPendingStoreOrders_args)that);
      return false;
    }

    public boolean equals(getPendingStoreOrders_args that) {
      if (that == null)
        return false;

      boolean this_present_storeId = true;
      boolean that_present_storeId = true;
      if (this_present_storeId || that_present_storeId) {
        if (!(this_present_storeId && that_present_storeId))
          return false;
        if (this.storeId != that.storeId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getPendingStoreOrders_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getPendingStoreOrders_args typedOther = (getPendingStoreOrders_args)other;

      lastComparison = Boolean.valueOf(isSetStoreId()).compareTo(typedOther.isSetStoreId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetStoreId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.storeId, typedOther.storeId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // STORE_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.storeId = iprot.readI64();
              setStoreIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(STORE_ID_FIELD_DESC);
      oprot.writeI64(this.storeId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getPendingStoreOrders_args(");
      boolean first = true;

      sb.append("storeId:");
      sb.append(this.storeId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getPendingStoreOrders_result implements org.apache.thrift.TBase<getPendingStoreOrders_result, getPendingStoreOrders_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getPendingStoreOrders_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);

    private List<PendingStoreOrder> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, PendingStoreOrder.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getPendingStoreOrders_result.class, metaDataMap);
    }

    public getPendingStoreOrders_result() {
    }

    public getPendingStoreOrders_result(
      List<PendingStoreOrder> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getPendingStoreOrders_result(getPendingStoreOrders_result other) {
      if (other.isSetSuccess()) {
        List<PendingStoreOrder> __this__success = new ArrayList<PendingStoreOrder>();
        for (PendingStoreOrder other_element : other.success) {
          __this__success.add(new PendingStoreOrder(other_element));
        }
        this.success = __this__success;
      }
    }

    public getPendingStoreOrders_result deepCopy() {
      return new getPendingStoreOrders_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<PendingStoreOrder> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(PendingStoreOrder elem) {
      if (this.success == null) {
        this.success = new ArrayList<PendingStoreOrder>();
      }
      this.success.add(elem);
    }

    public List<PendingStoreOrder> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<PendingStoreOrder> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<PendingStoreOrder>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getPendingStoreOrders_result)
        return this.equals((getPendingStoreOrders_result)that);
      return false;
    }

    public boolean equals(getPendingStoreOrders_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getPendingStoreOrders_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getPendingStoreOrders_result typedOther = (getPendingStoreOrders_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list841 = iprot.readListBegin();
                this.success = new ArrayList<PendingStoreOrder>(_list841.size);
                for (int _i842 = 0; _i842 < _list841.size; ++_i842)
                {
                  PendingStoreOrder _elem843; // required
                  _elem843 = new PendingStoreOrder();
                  _elem843.read(iprot);
                  this.success.add(_elem843);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (PendingStoreOrder _iter844 : this.success)
          {
            _iter844.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getPendingStoreOrders_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getSellerInfo_args implements org.apache.thrift.TBase<getSellerInfo_args, getSellerInfo_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getSellerInfo_args");

    private static final org.apache.thrift.protocol.TField SELLER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("sellerId", org.apache.thrift.protocol.TType.I64, (short)1);

    private long sellerId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SELLER_ID((short)1, "sellerId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // SELLER_ID
            return SELLER_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SELLERID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SELLER_ID, new org.apache.thrift.meta_data.FieldMetaData("sellerId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getSellerInfo_args.class, metaDataMap);
    }

    public getSellerInfo_args() {
    }

    public getSellerInfo_args(
      long sellerId)
    {
      this();
      this.sellerId = sellerId;
      setSellerIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getSellerInfo_args(getSellerInfo_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.sellerId = other.sellerId;
    }

    public getSellerInfo_args deepCopy() {
      return new getSellerInfo_args(this);
    }

    @Override
    public void clear() {
      setSellerIdIsSet(false);
      this.sellerId = 0;
    }

    public long getSellerId() {
      return this.sellerId;
    }

    public void setSellerId(long sellerId) {
      this.sellerId = sellerId;
      setSellerIdIsSet(true);
    }

    public void unsetSellerId() {
      __isset_bit_vector.clear(__SELLERID_ISSET_ID);
    }

    /** Returns true if field sellerId is set (has been assigned a value) and false otherwise */
    public boolean isSetSellerId() {
      return __isset_bit_vector.get(__SELLERID_ISSET_ID);
    }

    public void setSellerIdIsSet(boolean value) {
      __isset_bit_vector.set(__SELLERID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SELLER_ID:
        if (value == null) {
          unsetSellerId();
        } else {
          setSellerId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SELLER_ID:
        return Long.valueOf(getSellerId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SELLER_ID:
        return isSetSellerId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getSellerInfo_args)
        return this.equals((getSellerInfo_args)that);
      return false;
    }

    public boolean equals(getSellerInfo_args that) {
      if (that == null)
        return false;

      boolean this_present_sellerId = true;
      boolean that_present_sellerId = true;
      if (this_present_sellerId || that_present_sellerId) {
        if (!(this_present_sellerId && that_present_sellerId))
          return false;
        if (this.sellerId != that.sellerId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getSellerInfo_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getSellerInfo_args typedOther = (getSellerInfo_args)other;

      lastComparison = Boolean.valueOf(isSetSellerId()).compareTo(typedOther.isSetSellerId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSellerId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.sellerId, typedOther.sellerId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // SELLER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.sellerId = iprot.readI64();
              setSellerIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(SELLER_ID_FIELD_DESC);
      oprot.writeI64(this.sellerId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getSellerInfo_args(");
      boolean first = true;

      sb.append("sellerId:");
      sb.append(this.sellerId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getSellerInfo_result implements org.apache.thrift.TBase<getSellerInfo_result, getSellerInfo_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getSellerInfo_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);

    private SellerInfo success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, SellerInfo.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getSellerInfo_result.class, metaDataMap);
    }

    public getSellerInfo_result() {
    }

    public getSellerInfo_result(
      SellerInfo success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getSellerInfo_result(getSellerInfo_result other) {
      if (other.isSetSuccess()) {
        this.success = new SellerInfo(other.success);
      }
    }

    public getSellerInfo_result deepCopy() {
      return new getSellerInfo_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public SellerInfo getSuccess() {
      return this.success;
    }

    public void setSuccess(SellerInfo success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((SellerInfo)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getSellerInfo_result)
        return this.equals((getSellerInfo_result)that);
      return false;
    }

    public boolean equals(getSellerInfo_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getSellerInfo_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getSellerInfo_result typedOther = (getSellerInfo_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.success = new SellerInfo();
              this.success.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        this.success.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getSellerInfo_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getWarehouseAddress_args implements org.apache.thrift.TBase<getWarehouseAddress_args, getWarehouseAddress_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getWarehouseAddress_args");

    private static final org.apache.thrift.protocol.TField ADDRESS_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("address_id", org.apache.thrift.protocol.TType.I64, (short)1);

    private long address_id; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ADDRESS_ID((short)1, "address_id");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ADDRESS_ID
            return ADDRESS_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ADDRESS_ID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ADDRESS_ID, new org.apache.thrift.meta_data.FieldMetaData("address_id", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getWarehouseAddress_args.class, metaDataMap);
    }

    public getWarehouseAddress_args() {
    }

    public getWarehouseAddress_args(
      long address_id)
    {
      this();
      this.address_id = address_id;
      setAddress_idIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getWarehouseAddress_args(getWarehouseAddress_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.address_id = other.address_id;
    }

    public getWarehouseAddress_args deepCopy() {
      return new getWarehouseAddress_args(this);
    }

    @Override
    public void clear() {
      setAddress_idIsSet(false);
      this.address_id = 0;
    }

    public long getAddress_id() {
      return this.address_id;
    }

    public void setAddress_id(long address_id) {
      this.address_id = address_id;
      setAddress_idIsSet(true);
    }

    public void unsetAddress_id() {
      __isset_bit_vector.clear(__ADDRESS_ID_ISSET_ID);
    }

    /** Returns true if field address_id is set (has been assigned a value) and false otherwise */
    public boolean isSetAddress_id() {
      return __isset_bit_vector.get(__ADDRESS_ID_ISSET_ID);
    }

    public void setAddress_idIsSet(boolean value) {
      __isset_bit_vector.set(__ADDRESS_ID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ADDRESS_ID:
        if (value == null) {
          unsetAddress_id();
        } else {
          setAddress_id((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ADDRESS_ID:
        return Long.valueOf(getAddress_id());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ADDRESS_ID:
        return isSetAddress_id();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getWarehouseAddress_args)
        return this.equals((getWarehouseAddress_args)that);
      return false;
    }

    public boolean equals(getWarehouseAddress_args that) {
      if (that == null)
        return false;

      boolean this_present_address_id = true;
      boolean that_present_address_id = true;
      if (this_present_address_id || that_present_address_id) {
        if (!(this_present_address_id && that_present_address_id))
          return false;
        if (this.address_id != that.address_id)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getWarehouseAddress_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getWarehouseAddress_args typedOther = (getWarehouseAddress_args)other;

      lastComparison = Boolean.valueOf(isSetAddress_id()).compareTo(typedOther.isSetAddress_id());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetAddress_id()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.address_id, typedOther.address_id);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ADDRESS_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.address_id = iprot.readI64();
              setAddress_idIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ADDRESS_ID_FIELD_DESC);
      oprot.writeI64(this.address_id);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getWarehouseAddress_args(");
      boolean first = true;

      sb.append("address_id:");
      sb.append(this.address_id);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getWarehouseAddress_result implements org.apache.thrift.TBase<getWarehouseAddress_result, getWarehouseAddress_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getWarehouseAddress_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);

    private WarehouseAddress success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, WarehouseAddress.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getWarehouseAddress_result.class, metaDataMap);
    }

    public getWarehouseAddress_result() {
    }

    public getWarehouseAddress_result(
      WarehouseAddress success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getWarehouseAddress_result(getWarehouseAddress_result other) {
      if (other.isSetSuccess()) {
        this.success = new WarehouseAddress(other.success);
      }
    }

    public getWarehouseAddress_result deepCopy() {
      return new getWarehouseAddress_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public WarehouseAddress getSuccess() {
      return this.success;
    }

    public void setSuccess(WarehouseAddress success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((WarehouseAddress)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getWarehouseAddress_result)
        return this.equals((getWarehouseAddress_result)that);
      return false;
    }

    public boolean equals(getWarehouseAddress_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getWarehouseAddress_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getWarehouseAddress_result typedOther = (getWarehouseAddress_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.success = new WarehouseAddress();
              this.success.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        this.success.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getWarehouseAddress_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getBuyerByWarehouse_args implements org.apache.thrift.TBase<getBuyerByWarehouse_args, getBuyerByWarehouse_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getBuyerByWarehouse_args");

    private static final org.apache.thrift.protocol.TField WAREHOUSE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("warehouse_id", org.apache.thrift.protocol.TType.I64, (short)1);

    private long warehouse_id; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      WAREHOUSE_ID((short)1, "warehouse_id");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // WAREHOUSE_ID
            return WAREHOUSE_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __WAREHOUSE_ID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.WAREHOUSE_ID, new org.apache.thrift.meta_data.FieldMetaData("warehouse_id", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getBuyerByWarehouse_args.class, metaDataMap);
    }

    public getBuyerByWarehouse_args() {
    }

    public getBuyerByWarehouse_args(
      long warehouse_id)
    {
      this();
      this.warehouse_id = warehouse_id;
      setWarehouse_idIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getBuyerByWarehouse_args(getBuyerByWarehouse_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.warehouse_id = other.warehouse_id;
    }

    public getBuyerByWarehouse_args deepCopy() {
      return new getBuyerByWarehouse_args(this);
    }

    @Override
    public void clear() {
      setWarehouse_idIsSet(false);
      this.warehouse_id = 0;
    }

    public long getWarehouse_id() {
      return this.warehouse_id;
    }

    public void setWarehouse_id(long warehouse_id) {
      this.warehouse_id = warehouse_id;
      setWarehouse_idIsSet(true);
    }

    public void unsetWarehouse_id() {
      __isset_bit_vector.clear(__WAREHOUSE_ID_ISSET_ID);
    }

    /** Returns true if field warehouse_id is set (has been assigned a value) and false otherwise */
    public boolean isSetWarehouse_id() {
      return __isset_bit_vector.get(__WAREHOUSE_ID_ISSET_ID);
    }

    public void setWarehouse_idIsSet(boolean value) {
      __isset_bit_vector.set(__WAREHOUSE_ID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case WAREHOUSE_ID:
        if (value == null) {
          unsetWarehouse_id();
        } else {
          setWarehouse_id((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case WAREHOUSE_ID:
        return Long.valueOf(getWarehouse_id());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case WAREHOUSE_ID:
        return isSetWarehouse_id();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getBuyerByWarehouse_args)
        return this.equals((getBuyerByWarehouse_args)that);
      return false;
    }

    public boolean equals(getBuyerByWarehouse_args that) {
      if (that == null)
        return false;

      boolean this_present_warehouse_id = true;
      boolean that_present_warehouse_id = true;
      if (this_present_warehouse_id || that_present_warehouse_id) {
        if (!(this_present_warehouse_id && that_present_warehouse_id))
          return false;
        if (this.warehouse_id != that.warehouse_id)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getBuyerByWarehouse_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getBuyerByWarehouse_args typedOther = (getBuyerByWarehouse_args)other;

      lastComparison = Boolean.valueOf(isSetWarehouse_id()).compareTo(typedOther.isSetWarehouse_id());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetWarehouse_id()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.warehouse_id, typedOther.warehouse_id);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // WAREHOUSE_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.warehouse_id = iprot.readI64();
              setWarehouse_idIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(WAREHOUSE_ID_FIELD_DESC);
      oprot.writeI64(this.warehouse_id);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getBuyerByWarehouse_args(");
      boolean first = true;

      sb.append("warehouse_id:");
      sb.append(this.warehouse_id);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getBuyerByWarehouse_result implements org.apache.thrift.TBase<getBuyerByWarehouse_result, getBuyerByWarehouse_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getBuyerByWarehouse_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);

    private BuyerInfo success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, BuyerInfo.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getBuyerByWarehouse_result.class, metaDataMap);
    }

    public getBuyerByWarehouse_result() {
    }

    public getBuyerByWarehouse_result(
      BuyerInfo success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getBuyerByWarehouse_result(getBuyerByWarehouse_result other) {
      if (other.isSetSuccess()) {
        this.success = new BuyerInfo(other.success);
      }
    }

    public getBuyerByWarehouse_result deepCopy() {
      return new getBuyerByWarehouse_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public BuyerInfo getSuccess() {
      return this.success;
    }

    public void setSuccess(BuyerInfo success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((BuyerInfo)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getBuyerByWarehouse_result)
        return this.equals((getBuyerByWarehouse_result)that);
      return false;
    }

    public boolean equals(getBuyerByWarehouse_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getBuyerByWarehouse_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getBuyerByWarehouse_result typedOther = (getBuyerByWarehouse_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.success = new BuyerInfo();
              this.success.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        this.success.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getBuyerByWarehouse_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class markReturnNotRequiredOrdersProcessed_args implements org.apache.thrift.TBase<markReturnNotRequiredOrdersProcessed_args, markReturnNotRequiredOrdersProcessed_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("markReturnNotRequiredOrdersProcessed_args");

    private static final org.apache.thrift.protocol.TField RETURN_ORDER_INFO_FIELD_DESC = new org.apache.thrift.protocol.TField("returnOrderInfo", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private ReturnOrderInfo returnOrderInfo; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      RETURN_ORDER_INFO((short)1, "returnOrderInfo");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // RETURN_ORDER_INFO
            return RETURN_ORDER_INFO;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.RETURN_ORDER_INFO, new org.apache.thrift.meta_data.FieldMetaData("returnOrderInfo", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, ReturnOrderInfo.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(markReturnNotRequiredOrdersProcessed_args.class, metaDataMap);
    }

    public markReturnNotRequiredOrdersProcessed_args() {
    }

    public markReturnNotRequiredOrdersProcessed_args(
      ReturnOrderInfo returnOrderInfo)
    {
      this();
      this.returnOrderInfo = returnOrderInfo;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public markReturnNotRequiredOrdersProcessed_args(markReturnNotRequiredOrdersProcessed_args other) {
      if (other.isSetReturnOrderInfo()) {
        this.returnOrderInfo = new ReturnOrderInfo(other.returnOrderInfo);
      }
    }

    public markReturnNotRequiredOrdersProcessed_args deepCopy() {
      return new markReturnNotRequiredOrdersProcessed_args(this);
    }

    @Override
    public void clear() {
      this.returnOrderInfo = null;
    }

    public ReturnOrderInfo getReturnOrderInfo() {
      return this.returnOrderInfo;
    }

    public void setReturnOrderInfo(ReturnOrderInfo returnOrderInfo) {
      this.returnOrderInfo = returnOrderInfo;
    }

    public void unsetReturnOrderInfo() {
      this.returnOrderInfo = null;
    }

    /** Returns true if field returnOrderInfo is set (has been assigned a value) and false otherwise */
    public boolean isSetReturnOrderInfo() {
      return this.returnOrderInfo != null;
    }

    public void setReturnOrderInfoIsSet(boolean value) {
      if (!value) {
        this.returnOrderInfo = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case RETURN_ORDER_INFO:
        if (value == null) {
          unsetReturnOrderInfo();
        } else {
          setReturnOrderInfo((ReturnOrderInfo)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case RETURN_ORDER_INFO:
        return getReturnOrderInfo();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case RETURN_ORDER_INFO:
        return isSetReturnOrderInfo();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof markReturnNotRequiredOrdersProcessed_args)
        return this.equals((markReturnNotRequiredOrdersProcessed_args)that);
      return false;
    }

    public boolean equals(markReturnNotRequiredOrdersProcessed_args that) {
      if (that == null)
        return false;

      boolean this_present_returnOrderInfo = true && this.isSetReturnOrderInfo();
      boolean that_present_returnOrderInfo = true && that.isSetReturnOrderInfo();
      if (this_present_returnOrderInfo || that_present_returnOrderInfo) {
        if (!(this_present_returnOrderInfo && that_present_returnOrderInfo))
          return false;
        if (!this.returnOrderInfo.equals(that.returnOrderInfo))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(markReturnNotRequiredOrdersProcessed_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      markReturnNotRequiredOrdersProcessed_args typedOther = (markReturnNotRequiredOrdersProcessed_args)other;

      lastComparison = Boolean.valueOf(isSetReturnOrderInfo()).compareTo(typedOther.isSetReturnOrderInfo());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetReturnOrderInfo()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.returnOrderInfo, typedOther.returnOrderInfo);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // RETURN_ORDER_INFO
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.returnOrderInfo = new ReturnOrderInfo();
              this.returnOrderInfo.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.returnOrderInfo != null) {
        oprot.writeFieldBegin(RETURN_ORDER_INFO_FIELD_DESC);
        this.returnOrderInfo.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("markReturnNotRequiredOrdersProcessed_args(");
      boolean first = true;

      sb.append("returnOrderInfo:");
      if (this.returnOrderInfo == null) {
        sb.append("null");
      } else {
        sb.append(this.returnOrderInfo);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class markReturnNotRequiredOrdersProcessed_result implements org.apache.thrift.TBase<markReturnNotRequiredOrdersProcessed_result, markReturnNotRequiredOrdersProcessed_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("markReturnNotRequiredOrdersProcessed_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private boolean success; // required
    private TransactionServiceException ex; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      EX((short)1, "ex");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // EX
            return EX;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(markReturnNotRequiredOrdersProcessed_result.class, metaDataMap);
    }

    public markReturnNotRequiredOrdersProcessed_result() {
    }

    public markReturnNotRequiredOrdersProcessed_result(
      boolean success,
      TransactionServiceException ex)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
      this.ex = ex;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public markReturnNotRequiredOrdersProcessed_result(markReturnNotRequiredOrdersProcessed_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
      if (other.isSetEx()) {
        this.ex = new TransactionServiceException(other.ex);
      }
    }

    public markReturnNotRequiredOrdersProcessed_result deepCopy() {
      return new markReturnNotRequiredOrdersProcessed_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = false;
      this.ex = null;
    }

    public boolean isSuccess() {
      return this.success;
    }

    public void setSuccess(boolean success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public TransactionServiceException getEx() {
      return this.ex;
    }

    public void setEx(TransactionServiceException ex) {
      this.ex = ex;
    }

    public void unsetEx() {
      this.ex = null;
    }

    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
    public boolean isSetEx() {
      return this.ex != null;
    }

    public void setExIsSet(boolean value) {
      if (!value) {
        this.ex = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean)value);
        }
        break;

      case EX:
        if (value == null) {
          unsetEx();
        } else {
          setEx((TransactionServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Boolean.valueOf(isSuccess());

      case EX:
        return getEx();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case EX:
        return isSetEx();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof markReturnNotRequiredOrdersProcessed_result)
        return this.equals((markReturnNotRequiredOrdersProcessed_result)that);
      return false;
    }

    public boolean equals(markReturnNotRequiredOrdersProcessed_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      boolean this_present_ex = true && this.isSetEx();
      boolean that_present_ex = true && that.isSetEx();
      if (this_present_ex || that_present_ex) {
        if (!(this_present_ex && that_present_ex))
          return false;
        if (!this.ex.equals(that.ex))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(markReturnNotRequiredOrdersProcessed_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      markReturnNotRequiredOrdersProcessed_result typedOther = (markReturnNotRequiredOrdersProcessed_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetEx()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.success = iprot.readBool();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 1: // EX
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.ex = new TransactionServiceException();
              this.ex.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBool(this.success);
        oprot.writeFieldEnd();
      } else if (this.isSetEx()) {
        oprot.writeFieldBegin(EX_FIELD_DESC);
        this.ex.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("markReturnNotRequiredOrdersProcessed_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      if (!first) sb.append(", ");
      sb.append("ex:");
      if (this.ex == null) {
        sb.append("null");
      } else {
        sb.append(this.ex);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getReturnPickupRequest_args implements org.apache.thrift.TBase<getReturnPickupRequest_args, getReturnPickupRequest_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getReturnPickupRequest_args");

    private static final org.apache.thrift.protocol.TField RETURN_PICKUP_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("returnPickupId", org.apache.thrift.protocol.TType.I64, (short)1);

    private long returnPickupId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      RETURN_PICKUP_ID((short)1, "returnPickupId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // RETURN_PICKUP_ID
            return RETURN_PICKUP_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __RETURNPICKUPID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.RETURN_PICKUP_ID, new org.apache.thrift.meta_data.FieldMetaData("returnPickupId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getReturnPickupRequest_args.class, metaDataMap);
    }

    public getReturnPickupRequest_args() {
    }

    public getReturnPickupRequest_args(
      long returnPickupId)
    {
      this();
      this.returnPickupId = returnPickupId;
      setReturnPickupIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getReturnPickupRequest_args(getReturnPickupRequest_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.returnPickupId = other.returnPickupId;
    }

    public getReturnPickupRequest_args deepCopy() {
      return new getReturnPickupRequest_args(this);
    }

    @Override
    public void clear() {
      setReturnPickupIdIsSet(false);
      this.returnPickupId = 0;
    }

    public long getReturnPickupId() {
      return this.returnPickupId;
    }

    public void setReturnPickupId(long returnPickupId) {
      this.returnPickupId = returnPickupId;
      setReturnPickupIdIsSet(true);
    }

    public void unsetReturnPickupId() {
      __isset_bit_vector.clear(__RETURNPICKUPID_ISSET_ID);
    }

    /** Returns true if field returnPickupId is set (has been assigned a value) and false otherwise */
    public boolean isSetReturnPickupId() {
      return __isset_bit_vector.get(__RETURNPICKUPID_ISSET_ID);
    }

    public void setReturnPickupIdIsSet(boolean value) {
      __isset_bit_vector.set(__RETURNPICKUPID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case RETURN_PICKUP_ID:
        if (value == null) {
          unsetReturnPickupId();
        } else {
          setReturnPickupId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case RETURN_PICKUP_ID:
        return Long.valueOf(getReturnPickupId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case RETURN_PICKUP_ID:
        return isSetReturnPickupId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getReturnPickupRequest_args)
        return this.equals((getReturnPickupRequest_args)that);
      return false;
    }

    public boolean equals(getReturnPickupRequest_args that) {
      if (that == null)
        return false;

      boolean this_present_returnPickupId = true;
      boolean that_present_returnPickupId = true;
      if (this_present_returnPickupId || that_present_returnPickupId) {
        if (!(this_present_returnPickupId && that_present_returnPickupId))
          return false;
        if (this.returnPickupId != that.returnPickupId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getReturnPickupRequest_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getReturnPickupRequest_args typedOther = (getReturnPickupRequest_args)other;

      lastComparison = Boolean.valueOf(isSetReturnPickupId()).compareTo(typedOther.isSetReturnPickupId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetReturnPickupId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.returnPickupId, typedOther.returnPickupId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // RETURN_PICKUP_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.returnPickupId = iprot.readI64();
              setReturnPickupIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(RETURN_PICKUP_ID_FIELD_DESC);
      oprot.writeI64(this.returnPickupId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getReturnPickupRequest_args(");
      boolean first = true;

      sb.append("returnPickupId:");
      sb.append(this.returnPickupId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getReturnPickupRequest_result implements org.apache.thrift.TBase<getReturnPickupRequest_result, getReturnPickupRequest_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getReturnPickupRequest_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);

    private ReturnPickupRequest success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, ReturnPickupRequest.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getReturnPickupRequest_result.class, metaDataMap);
    }

    public getReturnPickupRequest_result() {
    }

    public getReturnPickupRequest_result(
      ReturnPickupRequest success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getReturnPickupRequest_result(getReturnPickupRequest_result other) {
      if (other.isSetSuccess()) {
        this.success = new ReturnPickupRequest(other.success);
      }
    }

    public getReturnPickupRequest_result deepCopy() {
      return new getReturnPickupRequest_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public ReturnPickupRequest getSuccess() {
      return this.success;
    }

    public void setSuccess(ReturnPickupRequest success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((ReturnPickupRequest)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getReturnPickupRequest_result)
        return this.equals((getReturnPickupRequest_result)that);
      return false;
    }

    public boolean equals(getReturnPickupRequest_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getReturnPickupRequest_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getReturnPickupRequest_result typedOther = (getReturnPickupRequest_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.success = new ReturnPickupRequest();
              this.success.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        this.success.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getReturnPickupRequest_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class splitReturnOrderInfo_args implements org.apache.thrift.TBase<splitReturnOrderInfo_args, splitReturnOrderInfo_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("splitReturnOrderInfo_args");

    private static final org.apache.thrift.protocol.TField RETURN_ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("returnOrderId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField SPLIT_ORDER_QTY_FIELD_DESC = new org.apache.thrift.protocol.TField("splitOrderQty", org.apache.thrift.protocol.TType.I64, (short)2);

    private long returnOrderId; // required
    private long splitOrderQty; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      RETURN_ORDER_ID((short)1, "returnOrderId"),
      SPLIT_ORDER_QTY((short)2, "splitOrderQty");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // RETURN_ORDER_ID
            return RETURN_ORDER_ID;
          case 2: // SPLIT_ORDER_QTY
            return SPLIT_ORDER_QTY;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __RETURNORDERID_ISSET_ID = 0;
    private static final int __SPLITORDERQTY_ISSET_ID = 1;
    private BitSet __isset_bit_vector = new BitSet(2);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.RETURN_ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("returnOrderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.SPLIT_ORDER_QTY, new org.apache.thrift.meta_data.FieldMetaData("splitOrderQty", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(splitReturnOrderInfo_args.class, metaDataMap);
    }

    public splitReturnOrderInfo_args() {
    }

    public splitReturnOrderInfo_args(
      long returnOrderId,
      long splitOrderQty)
    {
      this();
      this.returnOrderId = returnOrderId;
      setReturnOrderIdIsSet(true);
      this.splitOrderQty = splitOrderQty;
      setSplitOrderQtyIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public splitReturnOrderInfo_args(splitReturnOrderInfo_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.returnOrderId = other.returnOrderId;
      this.splitOrderQty = other.splitOrderQty;
    }

    public splitReturnOrderInfo_args deepCopy() {
      return new splitReturnOrderInfo_args(this);
    }

    @Override
    public void clear() {
      setReturnOrderIdIsSet(false);
      this.returnOrderId = 0;
      setSplitOrderQtyIsSet(false);
      this.splitOrderQty = 0;
    }

    public long getReturnOrderId() {
      return this.returnOrderId;
    }

    public void setReturnOrderId(long returnOrderId) {
      this.returnOrderId = returnOrderId;
      setReturnOrderIdIsSet(true);
    }

    public void unsetReturnOrderId() {
      __isset_bit_vector.clear(__RETURNORDERID_ISSET_ID);
    }

    /** Returns true if field returnOrderId is set (has been assigned a value) and false otherwise */
    public boolean isSetReturnOrderId() {
      return __isset_bit_vector.get(__RETURNORDERID_ISSET_ID);
    }

    public void setReturnOrderIdIsSet(boolean value) {
      __isset_bit_vector.set(__RETURNORDERID_ISSET_ID, value);
    }

    public long getSplitOrderQty() {
      return this.splitOrderQty;
    }

    public void setSplitOrderQty(long splitOrderQty) {
      this.splitOrderQty = splitOrderQty;
      setSplitOrderQtyIsSet(true);
    }

    public void unsetSplitOrderQty() {
      __isset_bit_vector.clear(__SPLITORDERQTY_ISSET_ID);
    }

    /** Returns true if field splitOrderQty is set (has been assigned a value) and false otherwise */
    public boolean isSetSplitOrderQty() {
      return __isset_bit_vector.get(__SPLITORDERQTY_ISSET_ID);
    }

    public void setSplitOrderQtyIsSet(boolean value) {
      __isset_bit_vector.set(__SPLITORDERQTY_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case RETURN_ORDER_ID:
        if (value == null) {
          unsetReturnOrderId();
        } else {
          setReturnOrderId((Long)value);
        }
        break;

      case SPLIT_ORDER_QTY:
        if (value == null) {
          unsetSplitOrderQty();
        } else {
          setSplitOrderQty((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case RETURN_ORDER_ID:
        return Long.valueOf(getReturnOrderId());

      case SPLIT_ORDER_QTY:
        return Long.valueOf(getSplitOrderQty());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case RETURN_ORDER_ID:
        return isSetReturnOrderId();
      case SPLIT_ORDER_QTY:
        return isSetSplitOrderQty();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof splitReturnOrderInfo_args)
        return this.equals((splitReturnOrderInfo_args)that);
      return false;
    }

    public boolean equals(splitReturnOrderInfo_args that) {
      if (that == null)
        return false;

      boolean this_present_returnOrderId = true;
      boolean that_present_returnOrderId = true;
      if (this_present_returnOrderId || that_present_returnOrderId) {
        if (!(this_present_returnOrderId && that_present_returnOrderId))
          return false;
        if (this.returnOrderId != that.returnOrderId)
          return false;
      }

      boolean this_present_splitOrderQty = true;
      boolean that_present_splitOrderQty = true;
      if (this_present_splitOrderQty || that_present_splitOrderQty) {
        if (!(this_present_splitOrderQty && that_present_splitOrderQty))
          return false;
        if (this.splitOrderQty != that.splitOrderQty)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(splitReturnOrderInfo_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      splitReturnOrderInfo_args typedOther = (splitReturnOrderInfo_args)other;

      lastComparison = Boolean.valueOf(isSetReturnOrderId()).compareTo(typedOther.isSetReturnOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetReturnOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.returnOrderId, typedOther.returnOrderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetSplitOrderQty()).compareTo(typedOther.isSetSplitOrderQty());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSplitOrderQty()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.splitOrderQty, typedOther.splitOrderQty);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // RETURN_ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.returnOrderId = iprot.readI64();
              setReturnOrderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // SPLIT_ORDER_QTY
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.splitOrderQty = iprot.readI64();
              setSplitOrderQtyIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(RETURN_ORDER_ID_FIELD_DESC);
      oprot.writeI64(this.returnOrderId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(SPLIT_ORDER_QTY_FIELD_DESC);
      oprot.writeI64(this.splitOrderQty);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("splitReturnOrderInfo_args(");
      boolean first = true;

      sb.append("returnOrderId:");
      sb.append(this.returnOrderId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("splitOrderQty:");
      sb.append(this.splitOrderQty);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class splitReturnOrderInfo_result implements org.apache.thrift.TBase<splitReturnOrderInfo_result, splitReturnOrderInfo_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("splitReturnOrderInfo_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);

    private ReturnOrderInfo success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, ReturnOrderInfo.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(splitReturnOrderInfo_result.class, metaDataMap);
    }

    public splitReturnOrderInfo_result() {
    }

    public splitReturnOrderInfo_result(
      ReturnOrderInfo success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public splitReturnOrderInfo_result(splitReturnOrderInfo_result other) {
      if (other.isSetSuccess()) {
        this.success = new ReturnOrderInfo(other.success);
      }
    }

    public splitReturnOrderInfo_result deepCopy() {
      return new splitReturnOrderInfo_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public ReturnOrderInfo getSuccess() {
      return this.success;
    }

    public void setSuccess(ReturnOrderInfo success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((ReturnOrderInfo)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof splitReturnOrderInfo_result)
        return this.equals((splitReturnOrderInfo_result)that);
      return false;
    }

    public boolean equals(splitReturnOrderInfo_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(splitReturnOrderInfo_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      splitReturnOrderInfo_result typedOther = (splitReturnOrderInfo_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.success = new ReturnOrderInfo();
              this.success.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        this.success.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("splitReturnOrderInfo_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class deleteReturnOrder_args implements org.apache.thrift.TBase<deleteReturnOrder_args, deleteReturnOrder_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteReturnOrder_args");

    private static final org.apache.thrift.protocol.TField RETURN_ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("returnOrderId", org.apache.thrift.protocol.TType.I64, (short)1);

    private long returnOrderId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      RETURN_ORDER_ID((short)1, "returnOrderId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // RETURN_ORDER_ID
            return RETURN_ORDER_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __RETURNORDERID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.RETURN_ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("returnOrderId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(deleteReturnOrder_args.class, metaDataMap);
    }

    public deleteReturnOrder_args() {
    }

    public deleteReturnOrder_args(
      long returnOrderId)
    {
      this();
      this.returnOrderId = returnOrderId;
      setReturnOrderIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public deleteReturnOrder_args(deleteReturnOrder_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.returnOrderId = other.returnOrderId;
    }

    public deleteReturnOrder_args deepCopy() {
      return new deleteReturnOrder_args(this);
    }

    @Override
    public void clear() {
      setReturnOrderIdIsSet(false);
      this.returnOrderId = 0;
    }

    public long getReturnOrderId() {
      return this.returnOrderId;
    }

    public void setReturnOrderId(long returnOrderId) {
      this.returnOrderId = returnOrderId;
      setReturnOrderIdIsSet(true);
    }

    public void unsetReturnOrderId() {
      __isset_bit_vector.clear(__RETURNORDERID_ISSET_ID);
    }

    /** Returns true if field returnOrderId is set (has been assigned a value) and false otherwise */
    public boolean isSetReturnOrderId() {
      return __isset_bit_vector.get(__RETURNORDERID_ISSET_ID);
    }

    public void setReturnOrderIdIsSet(boolean value) {
      __isset_bit_vector.set(__RETURNORDERID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case RETURN_ORDER_ID:
        if (value == null) {
          unsetReturnOrderId();
        } else {
          setReturnOrderId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case RETURN_ORDER_ID:
        return Long.valueOf(getReturnOrderId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case RETURN_ORDER_ID:
        return isSetReturnOrderId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof deleteReturnOrder_args)
        return this.equals((deleteReturnOrder_args)that);
      return false;
    }

    public boolean equals(deleteReturnOrder_args that) {
      if (that == null)
        return false;

      boolean this_present_returnOrderId = true;
      boolean that_present_returnOrderId = true;
      if (this_present_returnOrderId || that_present_returnOrderId) {
        if (!(this_present_returnOrderId && that_present_returnOrderId))
          return false;
        if (this.returnOrderId != that.returnOrderId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(deleteReturnOrder_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      deleteReturnOrder_args typedOther = (deleteReturnOrder_args)other;

      lastComparison = Boolean.valueOf(isSetReturnOrderId()).compareTo(typedOther.isSetReturnOrderId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetReturnOrderId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.returnOrderId, typedOther.returnOrderId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // RETURN_ORDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.returnOrderId = iprot.readI64();
              setReturnOrderIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(RETURN_ORDER_ID_FIELD_DESC);
      oprot.writeI64(this.returnOrderId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("deleteReturnOrder_args(");
      boolean first = true;

      sb.append("returnOrderId:");
      sb.append(this.returnOrderId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class deleteReturnOrder_result implements org.apache.thrift.TBase<deleteReturnOrder_result, deleteReturnOrder_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteReturnOrder_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);

    private boolean success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(deleteReturnOrder_result.class, metaDataMap);
    }

    public deleteReturnOrder_result() {
    }

    public deleteReturnOrder_result(
      boolean success)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public deleteReturnOrder_result(deleteReturnOrder_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
    }

    public deleteReturnOrder_result deepCopy() {
      return new deleteReturnOrder_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = false;
    }

    public boolean isSuccess() {
      return this.success;
    }

    public void setSuccess(boolean success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Boolean.valueOf(isSuccess());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof deleteReturnOrder_result)
        return this.equals((deleteReturnOrder_result)that);
      return false;
    }

    public boolean equals(deleteReturnOrder_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(deleteReturnOrder_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      deleteReturnOrder_result typedOther = (deleteReturnOrder_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.success = iprot.readBool();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBool(this.success);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("deleteReturnOrder_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class refundReturnOrder_args implements org.apache.thrift.TBase<refundReturnOrder_args, refundReturnOrder_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("refundReturnOrder_args");

    private static final org.apache.thrift.protocol.TField RETURN_ORDER_INFO_FIELD_DESC = new org.apache.thrift.protocol.TField("returnOrderInfo", org.apache.thrift.protocol.TType.STRUCT, (short)1);
    private static final org.apache.thrift.protocol.TField ATTRIBUTES_FIELD_DESC = new org.apache.thrift.protocol.TField("attributes", org.apache.thrift.protocol.TType.LIST, (short)2);

    private ReturnOrderInfo returnOrderInfo; // required
    private List<Attribute> attributes; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      RETURN_ORDER_INFO((short)1, "returnOrderInfo"),
      ATTRIBUTES((short)2, "attributes");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // RETURN_ORDER_INFO
            return RETURN_ORDER_INFO;
          case 2: // ATTRIBUTES
            return ATTRIBUTES;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.RETURN_ORDER_INFO, new org.apache.thrift.meta_data.FieldMetaData("returnOrderInfo", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, ReturnOrderInfo.class)));
      tmpMap.put(_Fields.ATTRIBUTES, new org.apache.thrift.meta_data.FieldMetaData("attributes", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Attribute.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(refundReturnOrder_args.class, metaDataMap);
    }

    public refundReturnOrder_args() {
    }

    public refundReturnOrder_args(
      ReturnOrderInfo returnOrderInfo,
      List<Attribute> attributes)
    {
      this();
      this.returnOrderInfo = returnOrderInfo;
      this.attributes = attributes;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public refundReturnOrder_args(refundReturnOrder_args other) {
      if (other.isSetReturnOrderInfo()) {
        this.returnOrderInfo = new ReturnOrderInfo(other.returnOrderInfo);
      }
      if (other.isSetAttributes()) {
        List<Attribute> __this__attributes = new ArrayList<Attribute>();
        for (Attribute other_element : other.attributes) {
          __this__attributes.add(new Attribute(other_element));
        }
        this.attributes = __this__attributes;
      }
    }

    public refundReturnOrder_args deepCopy() {
      return new refundReturnOrder_args(this);
    }

    @Override
    public void clear() {
      this.returnOrderInfo = null;
      this.attributes = null;
    }

    public ReturnOrderInfo getReturnOrderInfo() {
      return this.returnOrderInfo;
    }

    public void setReturnOrderInfo(ReturnOrderInfo returnOrderInfo) {
      this.returnOrderInfo = returnOrderInfo;
    }

    public void unsetReturnOrderInfo() {
      this.returnOrderInfo = null;
    }

    /** Returns true if field returnOrderInfo is set (has been assigned a value) and false otherwise */
    public boolean isSetReturnOrderInfo() {
      return this.returnOrderInfo != null;
    }

    public void setReturnOrderInfoIsSet(boolean value) {
      if (!value) {
        this.returnOrderInfo = null;
      }
    }

    public int getAttributesSize() {
      return (this.attributes == null) ? 0 : this.attributes.size();
    }

    public java.util.Iterator<Attribute> getAttributesIterator() {
      return (this.attributes == null) ? null : this.attributes.iterator();
    }

    public void addToAttributes(Attribute elem) {
      if (this.attributes == null) {
        this.attributes = new ArrayList<Attribute>();
      }
      this.attributes.add(elem);
    }

    public List<Attribute> getAttributes() {
      return this.attributes;
    }

    public void setAttributes(List<Attribute> attributes) {
      this.attributes = attributes;
    }

    public void unsetAttributes() {
      this.attributes = null;
    }

    /** Returns true if field attributes is set (has been assigned a value) and false otherwise */
    public boolean isSetAttributes() {
      return this.attributes != null;
    }

    public void setAttributesIsSet(boolean value) {
      if (!value) {
        this.attributes = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case RETURN_ORDER_INFO:
        if (value == null) {
          unsetReturnOrderInfo();
        } else {
          setReturnOrderInfo((ReturnOrderInfo)value);
        }
        break;

      case ATTRIBUTES:
        if (value == null) {
          unsetAttributes();
        } else {
          setAttributes((List<Attribute>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case RETURN_ORDER_INFO:
        return getReturnOrderInfo();

      case ATTRIBUTES:
        return getAttributes();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case RETURN_ORDER_INFO:
        return isSetReturnOrderInfo();
      case ATTRIBUTES:
        return isSetAttributes();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof refundReturnOrder_args)
        return this.equals((refundReturnOrder_args)that);
      return false;
    }

    public boolean equals(refundReturnOrder_args that) {
      if (that == null)
        return false;

      boolean this_present_returnOrderInfo = true && this.isSetReturnOrderInfo();
      boolean that_present_returnOrderInfo = true && that.isSetReturnOrderInfo();
      if (this_present_returnOrderInfo || that_present_returnOrderInfo) {
        if (!(this_present_returnOrderInfo && that_present_returnOrderInfo))
          return false;
        if (!this.returnOrderInfo.equals(that.returnOrderInfo))
          return false;
      }

      boolean this_present_attributes = true && this.isSetAttributes();
      boolean that_present_attributes = true && that.isSetAttributes();
      if (this_present_attributes || that_present_attributes) {
        if (!(this_present_attributes && that_present_attributes))
          return false;
        if (!this.attributes.equals(that.attributes))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(refundReturnOrder_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      refundReturnOrder_args typedOther = (refundReturnOrder_args)other;

      lastComparison = Boolean.valueOf(isSetReturnOrderInfo()).compareTo(typedOther.isSetReturnOrderInfo());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetReturnOrderInfo()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.returnOrderInfo, typedOther.returnOrderInfo);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetAttributes()).compareTo(typedOther.isSetAttributes());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetAttributes()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.attributes, typedOther.attributes);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // RETURN_ORDER_INFO
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.returnOrderInfo = new ReturnOrderInfo();
              this.returnOrderInfo.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // ATTRIBUTES
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list845 = iprot.readListBegin();
                this.attributes = new ArrayList<Attribute>(_list845.size);
                for (int _i846 = 0; _i846 < _list845.size; ++_i846)
                {
                  Attribute _elem847; // required
                  _elem847 = new Attribute();
                  _elem847.read(iprot);
                  this.attributes.add(_elem847);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.returnOrderInfo != null) {
        oprot.writeFieldBegin(RETURN_ORDER_INFO_FIELD_DESC);
        this.returnOrderInfo.write(oprot);
        oprot.writeFieldEnd();
      }
      if (this.attributes != null) {
        oprot.writeFieldBegin(ATTRIBUTES_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.attributes.size()));
          for (Attribute _iter848 : this.attributes)
          {
            _iter848.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("refundReturnOrder_args(");
      boolean first = true;

      sb.append("returnOrderInfo:");
      if (this.returnOrderInfo == null) {
        sb.append("null");
      } else {
        sb.append(this.returnOrderInfo);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("attributes:");
      if (this.attributes == null) {
        sb.append("null");
      } else {
        sb.append(this.attributes);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class refundReturnOrder_result implements org.apache.thrift.TBase<refundReturnOrder_result, refundReturnOrder_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("refundReturnOrder_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);

    private boolean success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(refundReturnOrder_result.class, metaDataMap);
    }

    public refundReturnOrder_result() {
    }

    public refundReturnOrder_result(
      boolean success)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public refundReturnOrder_result(refundReturnOrder_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
    }

    public refundReturnOrder_result deepCopy() {
      return new refundReturnOrder_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = false;
    }

    public boolean isSuccess() {
      return this.success;
    }

    public void setSuccess(boolean success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Boolean.valueOf(isSuccess());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof refundReturnOrder_result)
        return this.equals((refundReturnOrder_result)that);
      return false;
    }

    public boolean equals(refundReturnOrder_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(refundReturnOrder_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      refundReturnOrder_result typedOther = (refundReturnOrder_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.success = iprot.readBool();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBool(this.success);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("refundReturnOrder_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class addShipmentDelay_args implements org.apache.thrift.TBase<addShipmentDelay_args, addShipmentDelay_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addShipmentDelay_args");

    private static final org.apache.thrift.protocol.TField SHIPMENT_DELAY_DETAIL_FIELD_DESC = new org.apache.thrift.protocol.TField("shipmentDelayDetail", org.apache.thrift.protocol.TType.LIST, (short)1);

    private List<ShipmentDelayDetail> shipmentDelayDetail; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SHIPMENT_DELAY_DETAIL((short)1, "shipmentDelayDetail");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // SHIPMENT_DELAY_DETAIL
            return SHIPMENT_DELAY_DETAIL;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SHIPMENT_DELAY_DETAIL, new org.apache.thrift.meta_data.FieldMetaData("shipmentDelayDetail", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, ShipmentDelayDetail.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(addShipmentDelay_args.class, metaDataMap);
    }

    public addShipmentDelay_args() {
    }

    public addShipmentDelay_args(
      List<ShipmentDelayDetail> shipmentDelayDetail)
    {
      this();
      this.shipmentDelayDetail = shipmentDelayDetail;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public addShipmentDelay_args(addShipmentDelay_args other) {
      if (other.isSetShipmentDelayDetail()) {
        List<ShipmentDelayDetail> __this__shipmentDelayDetail = new ArrayList<ShipmentDelayDetail>();
        for (ShipmentDelayDetail other_element : other.shipmentDelayDetail) {
          __this__shipmentDelayDetail.add(new ShipmentDelayDetail(other_element));
        }
        this.shipmentDelayDetail = __this__shipmentDelayDetail;
      }
    }

    public addShipmentDelay_args deepCopy() {
      return new addShipmentDelay_args(this);
    }

    @Override
    public void clear() {
      this.shipmentDelayDetail = null;
    }

    public int getShipmentDelayDetailSize() {
      return (this.shipmentDelayDetail == null) ? 0 : this.shipmentDelayDetail.size();
    }

    public java.util.Iterator<ShipmentDelayDetail> getShipmentDelayDetailIterator() {
      return (this.shipmentDelayDetail == null) ? null : this.shipmentDelayDetail.iterator();
    }

    public void addToShipmentDelayDetail(ShipmentDelayDetail elem) {
      if (this.shipmentDelayDetail == null) {
        this.shipmentDelayDetail = new ArrayList<ShipmentDelayDetail>();
      }
      this.shipmentDelayDetail.add(elem);
    }

    public List<ShipmentDelayDetail> getShipmentDelayDetail() {
      return this.shipmentDelayDetail;
    }

    public void setShipmentDelayDetail(List<ShipmentDelayDetail> shipmentDelayDetail) {
      this.shipmentDelayDetail = shipmentDelayDetail;
    }

    public void unsetShipmentDelayDetail() {
      this.shipmentDelayDetail = null;
    }

    /** Returns true if field shipmentDelayDetail is set (has been assigned a value) and false otherwise */
    public boolean isSetShipmentDelayDetail() {
      return this.shipmentDelayDetail != null;
    }

    public void setShipmentDelayDetailIsSet(boolean value) {
      if (!value) {
        this.shipmentDelayDetail = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SHIPMENT_DELAY_DETAIL:
        if (value == null) {
          unsetShipmentDelayDetail();
        } else {
          setShipmentDelayDetail((List<ShipmentDelayDetail>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SHIPMENT_DELAY_DETAIL:
        return getShipmentDelayDetail();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SHIPMENT_DELAY_DETAIL:
        return isSetShipmentDelayDetail();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof addShipmentDelay_args)
        return this.equals((addShipmentDelay_args)that);
      return false;
    }

    public boolean equals(addShipmentDelay_args that) {
      if (that == null)
        return false;

      boolean this_present_shipmentDelayDetail = true && this.isSetShipmentDelayDetail();
      boolean that_present_shipmentDelayDetail = true && that.isSetShipmentDelayDetail();
      if (this_present_shipmentDelayDetail || that_present_shipmentDelayDetail) {
        if (!(this_present_shipmentDelayDetail && that_present_shipmentDelayDetail))
          return false;
        if (!this.shipmentDelayDetail.equals(that.shipmentDelayDetail))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(addShipmentDelay_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      addShipmentDelay_args typedOther = (addShipmentDelay_args)other;

      lastComparison = Boolean.valueOf(isSetShipmentDelayDetail()).compareTo(typedOther.isSetShipmentDelayDetail());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetShipmentDelayDetail()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.shipmentDelayDetail, typedOther.shipmentDelayDetail);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // SHIPMENT_DELAY_DETAIL
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list849 = iprot.readListBegin();
                this.shipmentDelayDetail = new ArrayList<ShipmentDelayDetail>(_list849.size);
                for (int _i850 = 0; _i850 < _list849.size; ++_i850)
                {
                  ShipmentDelayDetail _elem851; // required
                  _elem851 = new ShipmentDelayDetail();
                  _elem851.read(iprot);
                  this.shipmentDelayDetail.add(_elem851);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.shipmentDelayDetail != null) {
        oprot.writeFieldBegin(SHIPMENT_DELAY_DETAIL_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.shipmentDelayDetail.size()));
          for (ShipmentDelayDetail _iter852 : this.shipmentDelayDetail)
          {
            _iter852.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("addShipmentDelay_args(");
      boolean first = true;

      sb.append("shipmentDelayDetail:");
      if (this.shipmentDelayDetail == null) {
        sb.append("null");
      } else {
        sb.append(this.shipmentDelayDetail);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class addShipmentDelay_result implements org.apache.thrift.TBase<addShipmentDelay_result, addShipmentDelay_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addShipmentDelay_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);

    private List<Long> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(addShipmentDelay_result.class, metaDataMap);
    }

    public addShipmentDelay_result() {
    }

    public addShipmentDelay_result(
      List<Long> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public addShipmentDelay_result(addShipmentDelay_result other) {
      if (other.isSetSuccess()) {
        List<Long> __this__success = new ArrayList<Long>();
        for (Long other_element : other.success) {
          __this__success.add(other_element);
        }
        this.success = __this__success;
      }
    }

    public addShipmentDelay_result deepCopy() {
      return new addShipmentDelay_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<Long> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(long elem) {
      if (this.success == null) {
        this.success = new ArrayList<Long>();
      }
      this.success.add(elem);
    }

    public List<Long> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<Long> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<Long>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof addShipmentDelay_result)
        return this.equals((addShipmentDelay_result)that);
      return false;
    }

    public boolean equals(addShipmentDelay_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(addShipmentDelay_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      addShipmentDelay_result typedOther = (addShipmentDelay_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list853 = iprot.readListBegin();
                this.success = new ArrayList<Long>(_list853.size);
                for (int _i854 = 0; _i854 < _list853.size; ++_i854)
                {
                  long _elem855; // required
                  _elem855 = iprot.readI64();
                  this.success.add(_elem855);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, this.success.size()));
          for (long _iter856 : this.success)
          {
            oprot.writeI64(_iter856);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("addShipmentDelay_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getCostDetailForLogisticsTxnId_args implements org.apache.thrift.TBase<getCostDetailForLogisticsTxnId_args, getCostDetailForLogisticsTxnId_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getCostDetailForLogisticsTxnId_args");

    private static final org.apache.thrift.protocol.TField LOGISTICS_TXN_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("logisticsTxnId", org.apache.thrift.protocol.TType.STRING, (short)1);

    private String logisticsTxnId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      LOGISTICS_TXN_ID((short)1, "logisticsTxnId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // LOGISTICS_TXN_ID
            return LOGISTICS_TXN_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.LOGISTICS_TXN_ID, new org.apache.thrift.meta_data.FieldMetaData("logisticsTxnId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getCostDetailForLogisticsTxnId_args.class, metaDataMap);
    }

    public getCostDetailForLogisticsTxnId_args() {
    }

    public getCostDetailForLogisticsTxnId_args(
      String logisticsTxnId)
    {
      this();
      this.logisticsTxnId = logisticsTxnId;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getCostDetailForLogisticsTxnId_args(getCostDetailForLogisticsTxnId_args other) {
      if (other.isSetLogisticsTxnId()) {
        this.logisticsTxnId = other.logisticsTxnId;
      }
    }

    public getCostDetailForLogisticsTxnId_args deepCopy() {
      return new getCostDetailForLogisticsTxnId_args(this);
    }

    @Override
    public void clear() {
      this.logisticsTxnId = null;
    }

    public String getLogisticsTxnId() {
      return this.logisticsTxnId;
    }

    public void setLogisticsTxnId(String logisticsTxnId) {
      this.logisticsTxnId = logisticsTxnId;
    }

    public void unsetLogisticsTxnId() {
      this.logisticsTxnId = null;
    }

    /** Returns true if field logisticsTxnId is set (has been assigned a value) and false otherwise */
    public boolean isSetLogisticsTxnId() {
      return this.logisticsTxnId != null;
    }

    public void setLogisticsTxnIdIsSet(boolean value) {
      if (!value) {
        this.logisticsTxnId = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case LOGISTICS_TXN_ID:
        if (value == null) {
          unsetLogisticsTxnId();
        } else {
          setLogisticsTxnId((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case LOGISTICS_TXN_ID:
        return getLogisticsTxnId();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case LOGISTICS_TXN_ID:
        return isSetLogisticsTxnId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getCostDetailForLogisticsTxnId_args)
        return this.equals((getCostDetailForLogisticsTxnId_args)that);
      return false;
    }

    public boolean equals(getCostDetailForLogisticsTxnId_args that) {
      if (that == null)
        return false;

      boolean this_present_logisticsTxnId = true && this.isSetLogisticsTxnId();
      boolean that_present_logisticsTxnId = true && that.isSetLogisticsTxnId();
      if (this_present_logisticsTxnId || that_present_logisticsTxnId) {
        if (!(this_present_logisticsTxnId && that_present_logisticsTxnId))
          return false;
        if (!this.logisticsTxnId.equals(that.logisticsTxnId))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getCostDetailForLogisticsTxnId_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getCostDetailForLogisticsTxnId_args typedOther = (getCostDetailForLogisticsTxnId_args)other;

      lastComparison = Boolean.valueOf(isSetLogisticsTxnId()).compareTo(typedOther.isSetLogisticsTxnId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetLogisticsTxnId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.logisticsTxnId, typedOther.logisticsTxnId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // LOGISTICS_TXN_ID
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.logisticsTxnId = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.logisticsTxnId != null) {
        oprot.writeFieldBegin(LOGISTICS_TXN_ID_FIELD_DESC);
        oprot.writeString(this.logisticsTxnId);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getCostDetailForLogisticsTxnId_args(");
      boolean first = true;

      sb.append("logisticsTxnId:");
      if (this.logisticsTxnId == null) {
        sb.append("null");
      } else {
        sb.append(this.logisticsTxnId);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getCostDetailForLogisticsTxnId_result implements org.apache.thrift.TBase<getCostDetailForLogisticsTxnId_result, getCostDetailForLogisticsTxnId_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getCostDetailForLogisticsTxnId_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);

    private ShipmentLogisticsCostDetail success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, ShipmentLogisticsCostDetail.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getCostDetailForLogisticsTxnId_result.class, metaDataMap);
    }

    public getCostDetailForLogisticsTxnId_result() {
    }

    public getCostDetailForLogisticsTxnId_result(
      ShipmentLogisticsCostDetail success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getCostDetailForLogisticsTxnId_result(getCostDetailForLogisticsTxnId_result other) {
      if (other.isSetSuccess()) {
        this.success = new ShipmentLogisticsCostDetail(other.success);
      }
    }

    public getCostDetailForLogisticsTxnId_result deepCopy() {
      return new getCostDetailForLogisticsTxnId_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public ShipmentLogisticsCostDetail getSuccess() {
      return this.success;
    }

    public void setSuccess(ShipmentLogisticsCostDetail success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((ShipmentLogisticsCostDetail)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getCostDetailForLogisticsTxnId_result)
        return this.equals((getCostDetailForLogisticsTxnId_result)that);
      return false;
    }

    public boolean equals(getCostDetailForLogisticsTxnId_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getCostDetailForLogisticsTxnId_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getCostDetailForLogisticsTxnId_result typedOther = (getCostDetailForLogisticsTxnId_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.success = new ShipmentLogisticsCostDetail();
              this.success.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        this.success.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getCostDetailForLogisticsTxnId_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class addShipmentLogisticDetail_args implements org.apache.thrift.TBase<addShipmentLogisticDetail_args, addShipmentLogisticDetail_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addShipmentLogisticDetail_args");

    private static final org.apache.thrift.protocol.TField SHIPMENT_LOGISTICS_COST_DETAIL_FIELD_DESC = new org.apache.thrift.protocol.TField("shipmentLogisticsCostDetail", org.apache.thrift.protocol.TType.STRUCT, (short)1);

    private ShipmentLogisticsCostDetail shipmentLogisticsCostDetail; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SHIPMENT_LOGISTICS_COST_DETAIL((short)1, "shipmentLogisticsCostDetail");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // SHIPMENT_LOGISTICS_COST_DETAIL
            return SHIPMENT_LOGISTICS_COST_DETAIL;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SHIPMENT_LOGISTICS_COST_DETAIL, new org.apache.thrift.meta_data.FieldMetaData("shipmentLogisticsCostDetail", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, ShipmentLogisticsCostDetail.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(addShipmentLogisticDetail_args.class, metaDataMap);
    }

    public addShipmentLogisticDetail_args() {
    }

    public addShipmentLogisticDetail_args(
      ShipmentLogisticsCostDetail shipmentLogisticsCostDetail)
    {
      this();
      this.shipmentLogisticsCostDetail = shipmentLogisticsCostDetail;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public addShipmentLogisticDetail_args(addShipmentLogisticDetail_args other) {
      if (other.isSetShipmentLogisticsCostDetail()) {
        this.shipmentLogisticsCostDetail = new ShipmentLogisticsCostDetail(other.shipmentLogisticsCostDetail);
      }
    }

    public addShipmentLogisticDetail_args deepCopy() {
      return new addShipmentLogisticDetail_args(this);
    }

    @Override
    public void clear() {
      this.shipmentLogisticsCostDetail = null;
    }

    public ShipmentLogisticsCostDetail getShipmentLogisticsCostDetail() {
      return this.shipmentLogisticsCostDetail;
    }

    public void setShipmentLogisticsCostDetail(ShipmentLogisticsCostDetail shipmentLogisticsCostDetail) {
      this.shipmentLogisticsCostDetail = shipmentLogisticsCostDetail;
    }

    public void unsetShipmentLogisticsCostDetail() {
      this.shipmentLogisticsCostDetail = null;
    }

    /** Returns true if field shipmentLogisticsCostDetail is set (has been assigned a value) and false otherwise */
    public boolean isSetShipmentLogisticsCostDetail() {
      return this.shipmentLogisticsCostDetail != null;
    }

    public void setShipmentLogisticsCostDetailIsSet(boolean value) {
      if (!value) {
        this.shipmentLogisticsCostDetail = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SHIPMENT_LOGISTICS_COST_DETAIL:
        if (value == null) {
          unsetShipmentLogisticsCostDetail();
        } else {
          setShipmentLogisticsCostDetail((ShipmentLogisticsCostDetail)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SHIPMENT_LOGISTICS_COST_DETAIL:
        return getShipmentLogisticsCostDetail();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SHIPMENT_LOGISTICS_COST_DETAIL:
        return isSetShipmentLogisticsCostDetail();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof addShipmentLogisticDetail_args)
        return this.equals((addShipmentLogisticDetail_args)that);
      return false;
    }

    public boolean equals(addShipmentLogisticDetail_args that) {
      if (that == null)
        return false;

      boolean this_present_shipmentLogisticsCostDetail = true && this.isSetShipmentLogisticsCostDetail();
      boolean that_present_shipmentLogisticsCostDetail = true && that.isSetShipmentLogisticsCostDetail();
      if (this_present_shipmentLogisticsCostDetail || that_present_shipmentLogisticsCostDetail) {
        if (!(this_present_shipmentLogisticsCostDetail && that_present_shipmentLogisticsCostDetail))
          return false;
        if (!this.shipmentLogisticsCostDetail.equals(that.shipmentLogisticsCostDetail))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(addShipmentLogisticDetail_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      addShipmentLogisticDetail_args typedOther = (addShipmentLogisticDetail_args)other;

      lastComparison = Boolean.valueOf(isSetShipmentLogisticsCostDetail()).compareTo(typedOther.isSetShipmentLogisticsCostDetail());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetShipmentLogisticsCostDetail()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.shipmentLogisticsCostDetail, typedOther.shipmentLogisticsCostDetail);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // SHIPMENT_LOGISTICS_COST_DETAIL
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.shipmentLogisticsCostDetail = new ShipmentLogisticsCostDetail();
              this.shipmentLogisticsCostDetail.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.shipmentLogisticsCostDetail != null) {
        oprot.writeFieldBegin(SHIPMENT_LOGISTICS_COST_DETAIL_FIELD_DESC);
        this.shipmentLogisticsCostDetail.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("addShipmentLogisticDetail_args(");
      boolean first = true;

      sb.append("shipmentLogisticsCostDetail:");
      if (this.shipmentLogisticsCostDetail == null) {
        sb.append("null");
      } else {
        sb.append(this.shipmentLogisticsCostDetail);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class addShipmentLogisticDetail_result implements org.apache.thrift.TBase<addShipmentLogisticDetail_result, addShipmentLogisticDetail_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addShipmentLogisticDetail_result");



    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
;

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }
    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(addShipmentLogisticDetail_result.class, metaDataMap);
    }

    public addShipmentLogisticDetail_result() {
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public addShipmentLogisticDetail_result(addShipmentLogisticDetail_result other) {
    }

    public addShipmentLogisticDetail_result deepCopy() {
      return new addShipmentLogisticDetail_result(this);
    }

    @Override
    public void clear() {
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof addShipmentLogisticDetail_result)
        return this.equals((addShipmentLogisticDetail_result)that);
      return false;
    }

    public boolean equals(addShipmentLogisticDetail_result that) {
      if (that == null)
        return false;

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(addShipmentLogisticDetail_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      addShipmentLogisticDetail_result typedOther = (addShipmentLogisticDetail_result)other;

      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("addShipmentLogisticDetail_result(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class createPayment_args implements org.apache.thrift.TBase<createPayment_args, createPayment_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("createPayment_args");

    private static final org.apache.thrift.protocol.TField USER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("userId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField TXN_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("txnId", org.apache.thrift.protocol.TType.I64, (short)2);
    private static final org.apache.thrift.protocol.TField GATEWAY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("gatewayId", org.apache.thrift.protocol.TType.I32, (short)3);

    private long userId; // required
    private long txnId; // required
    private int gatewayId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      USER_ID((short)1, "userId"),
      TXN_ID((short)2, "txnId"),
      GATEWAY_ID((short)3, "gatewayId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // USER_ID
            return USER_ID;
          case 2: // TXN_ID
            return TXN_ID;
          case 3: // GATEWAY_ID
            return GATEWAY_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __USERID_ISSET_ID = 0;
    private static final int __TXNID_ISSET_ID = 1;
    private static final int __GATEWAYID_ISSET_ID = 2;
    private BitSet __isset_bit_vector = new BitSet(3);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.USER_ID, new org.apache.thrift.meta_data.FieldMetaData("userId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.TXN_ID, new org.apache.thrift.meta_data.FieldMetaData("txnId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.GATEWAY_ID, new org.apache.thrift.meta_data.FieldMetaData("gatewayId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(createPayment_args.class, metaDataMap);
    }

    public createPayment_args() {
    }

    public createPayment_args(
      long userId,
      long txnId,
      int gatewayId)
    {
      this();
      this.userId = userId;
      setUserIdIsSet(true);
      this.txnId = txnId;
      setTxnIdIsSet(true);
      this.gatewayId = gatewayId;
      setGatewayIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public createPayment_args(createPayment_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.userId = other.userId;
      this.txnId = other.txnId;
      this.gatewayId = other.gatewayId;
    }

    public createPayment_args deepCopy() {
      return new createPayment_args(this);
    }

    @Override
    public void clear() {
      setUserIdIsSet(false);
      this.userId = 0;
      setTxnIdIsSet(false);
      this.txnId = 0;
      setGatewayIdIsSet(false);
      this.gatewayId = 0;
    }

    public long getUserId() {
      return this.userId;
    }

    public void setUserId(long userId) {
      this.userId = userId;
      setUserIdIsSet(true);
    }

    public void unsetUserId() {
      __isset_bit_vector.clear(__USERID_ISSET_ID);
    }

    /** Returns true if field userId is set (has been assigned a value) and false otherwise */
    public boolean isSetUserId() {
      return __isset_bit_vector.get(__USERID_ISSET_ID);
    }

    public void setUserIdIsSet(boolean value) {
      __isset_bit_vector.set(__USERID_ISSET_ID, value);
    }

    public long getTxnId() {
      return this.txnId;
    }

    public void setTxnId(long txnId) {
      this.txnId = txnId;
      setTxnIdIsSet(true);
    }

    public void unsetTxnId() {
      __isset_bit_vector.clear(__TXNID_ISSET_ID);
    }

    /** Returns true if field txnId is set (has been assigned a value) and false otherwise */
    public boolean isSetTxnId() {
      return __isset_bit_vector.get(__TXNID_ISSET_ID);
    }

    public void setTxnIdIsSet(boolean value) {
      __isset_bit_vector.set(__TXNID_ISSET_ID, value);
    }

    public int getGatewayId() {
      return this.gatewayId;
    }

    public void setGatewayId(int gatewayId) {
      this.gatewayId = gatewayId;
      setGatewayIdIsSet(true);
    }

    public void unsetGatewayId() {
      __isset_bit_vector.clear(__GATEWAYID_ISSET_ID);
    }

    /** Returns true if field gatewayId is set (has been assigned a value) and false otherwise */
    public boolean isSetGatewayId() {
      return __isset_bit_vector.get(__GATEWAYID_ISSET_ID);
    }

    public void setGatewayIdIsSet(boolean value) {
      __isset_bit_vector.set(__GATEWAYID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case USER_ID:
        if (value == null) {
          unsetUserId();
        } else {
          setUserId((Long)value);
        }
        break;

      case TXN_ID:
        if (value == null) {
          unsetTxnId();
        } else {
          setTxnId((Long)value);
        }
        break;

      case GATEWAY_ID:
        if (value == null) {
          unsetGatewayId();
        } else {
          setGatewayId((Integer)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case USER_ID:
        return Long.valueOf(getUserId());

      case TXN_ID:
        return Long.valueOf(getTxnId());

      case GATEWAY_ID:
        return Integer.valueOf(getGatewayId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case USER_ID:
        return isSetUserId();
      case TXN_ID:
        return isSetTxnId();
      case GATEWAY_ID:
        return isSetGatewayId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof createPayment_args)
        return this.equals((createPayment_args)that);
      return false;
    }

    public boolean equals(createPayment_args that) {
      if (that == null)
        return false;

      boolean this_present_userId = true;
      boolean that_present_userId = true;
      if (this_present_userId || that_present_userId) {
        if (!(this_present_userId && that_present_userId))
          return false;
        if (this.userId != that.userId)
          return false;
      }

      boolean this_present_txnId = true;
      boolean that_present_txnId = true;
      if (this_present_txnId || that_present_txnId) {
        if (!(this_present_txnId && that_present_txnId))
          return false;
        if (this.txnId != that.txnId)
          return false;
      }

      boolean this_present_gatewayId = true;
      boolean that_present_gatewayId = true;
      if (this_present_gatewayId || that_present_gatewayId) {
        if (!(this_present_gatewayId && that_present_gatewayId))
          return false;
        if (this.gatewayId != that.gatewayId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(createPayment_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      createPayment_args typedOther = (createPayment_args)other;

      lastComparison = Boolean.valueOf(isSetUserId()).compareTo(typedOther.isSetUserId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetUserId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.userId, typedOther.userId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetTxnId()).compareTo(typedOther.isSetTxnId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetTxnId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.txnId, typedOther.txnId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetGatewayId()).compareTo(typedOther.isSetGatewayId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetGatewayId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.gatewayId, typedOther.gatewayId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // USER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.userId = iprot.readI64();
              setUserIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // TXN_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.txnId = iprot.readI64();
              setTxnIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // GATEWAY_ID
            if (field.type == org.apache.thrift.protocol.TType.I32) {
              this.gatewayId = iprot.readI32();
              setGatewayIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(USER_ID_FIELD_DESC);
      oprot.writeI64(this.userId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(TXN_ID_FIELD_DESC);
      oprot.writeI64(this.txnId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(GATEWAY_ID_FIELD_DESC);
      oprot.writeI32(this.gatewayId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("createPayment_args(");
      boolean first = true;

      sb.append("userId:");
      sb.append(this.userId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("txnId:");
      sb.append(this.txnId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("gatewayId:");
      sb.append(this.gatewayId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class createPayment_result implements org.apache.thrift.TBase<createPayment_result, createPayment_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("createPayment_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.I64, (short)0);

    private long success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(createPayment_result.class, metaDataMap);
    }

    public createPayment_result() {
    }

    public createPayment_result(
      long success)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public createPayment_result(createPayment_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
    }

    public createPayment_result deepCopy() {
      return new createPayment_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = 0;
    }

    public long getSuccess() {
      return this.success;
    }

    public void setSuccess(long success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Long.valueOf(getSuccess());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof createPayment_result)
        return this.equals((createPayment_result)that);
      return false;
    }

    public boolean equals(createPayment_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(createPayment_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      createPayment_result typedOther = (createPayment_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.success = iprot.readI64();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeI64(this.success);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("createPayment_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class calculatePaymentAmount_args implements org.apache.thrift.TBase<calculatePaymentAmount_args, calculatePaymentAmount_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("calculatePaymentAmount_args");

    private static final org.apache.thrift.protocol.TField TXN_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("txnId", org.apache.thrift.protocol.TType.I64, (short)1);

    private long txnId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      TXN_ID((short)1, "txnId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // TXN_ID
            return TXN_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __TXNID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.TXN_ID, new org.apache.thrift.meta_data.FieldMetaData("txnId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(calculatePaymentAmount_args.class, metaDataMap);
    }

    public calculatePaymentAmount_args() {
    }

    public calculatePaymentAmount_args(
      long txnId)
    {
      this();
      this.txnId = txnId;
      setTxnIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public calculatePaymentAmount_args(calculatePaymentAmount_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.txnId = other.txnId;
    }

    public calculatePaymentAmount_args deepCopy() {
      return new calculatePaymentAmount_args(this);
    }

    @Override
    public void clear() {
      setTxnIdIsSet(false);
      this.txnId = 0;
    }

    public long getTxnId() {
      return this.txnId;
    }

    public void setTxnId(long txnId) {
      this.txnId = txnId;
      setTxnIdIsSet(true);
    }

    public void unsetTxnId() {
      __isset_bit_vector.clear(__TXNID_ISSET_ID);
    }

    /** Returns true if field txnId is set (has been assigned a value) and false otherwise */
    public boolean isSetTxnId() {
      return __isset_bit_vector.get(__TXNID_ISSET_ID);
    }

    public void setTxnIdIsSet(boolean value) {
      __isset_bit_vector.set(__TXNID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case TXN_ID:
        if (value == null) {
          unsetTxnId();
        } else {
          setTxnId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case TXN_ID:
        return Long.valueOf(getTxnId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case TXN_ID:
        return isSetTxnId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof calculatePaymentAmount_args)
        return this.equals((calculatePaymentAmount_args)that);
      return false;
    }

    public boolean equals(calculatePaymentAmount_args that) {
      if (that == null)
        return false;

      boolean this_present_txnId = true;
      boolean that_present_txnId = true;
      if (this_present_txnId || that_present_txnId) {
        if (!(this_present_txnId && that_present_txnId))
          return false;
        if (this.txnId != that.txnId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(calculatePaymentAmount_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      calculatePaymentAmount_args typedOther = (calculatePaymentAmount_args)other;

      lastComparison = Boolean.valueOf(isSetTxnId()).compareTo(typedOther.isSetTxnId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetTxnId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.txnId, typedOther.txnId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // TXN_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.txnId = iprot.readI64();
              setTxnIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(TXN_ID_FIELD_DESC);
      oprot.writeI64(this.txnId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("calculatePaymentAmount_args(");
      boolean first = true;

      sb.append("txnId:");
      sb.append(this.txnId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class calculatePaymentAmount_result implements org.apache.thrift.TBase<calculatePaymentAmount_result, calculatePaymentAmount_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("calculatePaymentAmount_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.DOUBLE, (short)0);

    private double success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(calculatePaymentAmount_result.class, metaDataMap);
    }

    public calculatePaymentAmount_result() {
    }

    public calculatePaymentAmount_result(
      double success)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public calculatePaymentAmount_result(calculatePaymentAmount_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
    }

    public calculatePaymentAmount_result deepCopy() {
      return new calculatePaymentAmount_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = 0.0;
    }

    public double getSuccess() {
      return this.success;
    }

    public void setSuccess(double success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Double)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Double.valueOf(getSuccess());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof calculatePaymentAmount_result)
        return this.equals((calculatePaymentAmount_result)that);
      return false;
    }

    public boolean equals(calculatePaymentAmount_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(calculatePaymentAmount_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      calculatePaymentAmount_result typedOther = (calculatePaymentAmount_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.DOUBLE) {
              this.success = iprot.readDouble();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeDouble(this.success);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("calculatePaymentAmount_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getBilledOrdersForManifestGen_args implements org.apache.thrift.TBase<getBilledOrdersForManifestGen_args, getBilledOrdersForManifestGen_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getBilledOrdersForManifestGen_args");

    private static final org.apache.thrift.protocol.TField WAREHOUSE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("warehouse_id", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField LOGISTICS_PROVIDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("logistics_provider_id", org.apache.thrift.protocol.TType.I64, (short)2);
    private static final org.apache.thrift.protocol.TField COD_FIELD_DESC = new org.apache.thrift.protocol.TField("cod", org.apache.thrift.protocol.TType.BOOL, (short)3);

    private long warehouse_id; // required
    private long logistics_provider_id; // required
    private boolean cod; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      WAREHOUSE_ID((short)1, "warehouse_id"),
      LOGISTICS_PROVIDER_ID((short)2, "logistics_provider_id"),
      COD((short)3, "cod");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // WAREHOUSE_ID
            return WAREHOUSE_ID;
          case 2: // LOGISTICS_PROVIDER_ID
            return LOGISTICS_PROVIDER_ID;
          case 3: // COD
            return COD;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __WAREHOUSE_ID_ISSET_ID = 0;
    private static final int __LOGISTICS_PROVIDER_ID_ISSET_ID = 1;
    private static final int __COD_ISSET_ID = 2;
    private BitSet __isset_bit_vector = new BitSet(3);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.WAREHOUSE_ID, new org.apache.thrift.meta_data.FieldMetaData("warehouse_id", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.LOGISTICS_PROVIDER_ID, new org.apache.thrift.meta_data.FieldMetaData("logistics_provider_id", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.COD, new org.apache.thrift.meta_data.FieldMetaData("cod", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getBilledOrdersForManifestGen_args.class, metaDataMap);
    }

    public getBilledOrdersForManifestGen_args() {
    }

    public getBilledOrdersForManifestGen_args(
      long warehouse_id,
      long logistics_provider_id,
      boolean cod)
    {
      this();
      this.warehouse_id = warehouse_id;
      setWarehouse_idIsSet(true);
      this.logistics_provider_id = logistics_provider_id;
      setLogistics_provider_idIsSet(true);
      this.cod = cod;
      setCodIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getBilledOrdersForManifestGen_args(getBilledOrdersForManifestGen_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.warehouse_id = other.warehouse_id;
      this.logistics_provider_id = other.logistics_provider_id;
      this.cod = other.cod;
    }

    public getBilledOrdersForManifestGen_args deepCopy() {
      return new getBilledOrdersForManifestGen_args(this);
    }

    @Override
    public void clear() {
      setWarehouse_idIsSet(false);
      this.warehouse_id = 0;
      setLogistics_provider_idIsSet(false);
      this.logistics_provider_id = 0;
      setCodIsSet(false);
      this.cod = false;
    }

    public long getWarehouse_id() {
      return this.warehouse_id;
    }

    public void setWarehouse_id(long warehouse_id) {
      this.warehouse_id = warehouse_id;
      setWarehouse_idIsSet(true);
    }

    public void unsetWarehouse_id() {
      __isset_bit_vector.clear(__WAREHOUSE_ID_ISSET_ID);
    }

    /** Returns true if field warehouse_id is set (has been assigned a value) and false otherwise */
    public boolean isSetWarehouse_id() {
      return __isset_bit_vector.get(__WAREHOUSE_ID_ISSET_ID);
    }

    public void setWarehouse_idIsSet(boolean value) {
      __isset_bit_vector.set(__WAREHOUSE_ID_ISSET_ID, value);
    }

    public long getLogistics_provider_id() {
      return this.logistics_provider_id;
    }

    public void setLogistics_provider_id(long logistics_provider_id) {
      this.logistics_provider_id = logistics_provider_id;
      setLogistics_provider_idIsSet(true);
    }

    public void unsetLogistics_provider_id() {
      __isset_bit_vector.clear(__LOGISTICS_PROVIDER_ID_ISSET_ID);
    }

    /** Returns true if field logistics_provider_id is set (has been assigned a value) and false otherwise */
    public boolean isSetLogistics_provider_id() {
      return __isset_bit_vector.get(__LOGISTICS_PROVIDER_ID_ISSET_ID);
    }

    public void setLogistics_provider_idIsSet(boolean value) {
      __isset_bit_vector.set(__LOGISTICS_PROVIDER_ID_ISSET_ID, value);
    }

    public boolean isCod() {
      return this.cod;
    }

    public void setCod(boolean cod) {
      this.cod = cod;
      setCodIsSet(true);
    }

    public void unsetCod() {
      __isset_bit_vector.clear(__COD_ISSET_ID);
    }

    /** Returns true if field cod is set (has been assigned a value) and false otherwise */
    public boolean isSetCod() {
      return __isset_bit_vector.get(__COD_ISSET_ID);
    }

    public void setCodIsSet(boolean value) {
      __isset_bit_vector.set(__COD_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case WAREHOUSE_ID:
        if (value == null) {
          unsetWarehouse_id();
        } else {
          setWarehouse_id((Long)value);
        }
        break;

      case LOGISTICS_PROVIDER_ID:
        if (value == null) {
          unsetLogistics_provider_id();
        } else {
          setLogistics_provider_id((Long)value);
        }
        break;

      case COD:
        if (value == null) {
          unsetCod();
        } else {
          setCod((Boolean)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case WAREHOUSE_ID:
        return Long.valueOf(getWarehouse_id());

      case LOGISTICS_PROVIDER_ID:
        return Long.valueOf(getLogistics_provider_id());

      case COD:
        return Boolean.valueOf(isCod());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case WAREHOUSE_ID:
        return isSetWarehouse_id();
      case LOGISTICS_PROVIDER_ID:
        return isSetLogistics_provider_id();
      case COD:
        return isSetCod();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getBilledOrdersForManifestGen_args)
        return this.equals((getBilledOrdersForManifestGen_args)that);
      return false;
    }

    public boolean equals(getBilledOrdersForManifestGen_args that) {
      if (that == null)
        return false;

      boolean this_present_warehouse_id = true;
      boolean that_present_warehouse_id = true;
      if (this_present_warehouse_id || that_present_warehouse_id) {
        if (!(this_present_warehouse_id && that_present_warehouse_id))
          return false;
        if (this.warehouse_id != that.warehouse_id)
          return false;
      }

      boolean this_present_logistics_provider_id = true;
      boolean that_present_logistics_provider_id = true;
      if (this_present_logistics_provider_id || that_present_logistics_provider_id) {
        if (!(this_present_logistics_provider_id && that_present_logistics_provider_id))
          return false;
        if (this.logistics_provider_id != that.logistics_provider_id)
          return false;
      }

      boolean this_present_cod = true;
      boolean that_present_cod = true;
      if (this_present_cod || that_present_cod) {
        if (!(this_present_cod && that_present_cod))
          return false;
        if (this.cod != that.cod)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getBilledOrdersForManifestGen_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getBilledOrdersForManifestGen_args typedOther = (getBilledOrdersForManifestGen_args)other;

      lastComparison = Boolean.valueOf(isSetWarehouse_id()).compareTo(typedOther.isSetWarehouse_id());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetWarehouse_id()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.warehouse_id, typedOther.warehouse_id);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetLogistics_provider_id()).compareTo(typedOther.isSetLogistics_provider_id());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetLogistics_provider_id()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.logistics_provider_id, typedOther.logistics_provider_id);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetCod()).compareTo(typedOther.isSetCod());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetCod()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.cod, typedOther.cod);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // WAREHOUSE_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.warehouse_id = iprot.readI64();
              setWarehouse_idIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // LOGISTICS_PROVIDER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.logistics_provider_id = iprot.readI64();
              setLogistics_provider_idIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // COD
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.cod = iprot.readBool();
              setCodIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(WAREHOUSE_ID_FIELD_DESC);
      oprot.writeI64(this.warehouse_id);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(LOGISTICS_PROVIDER_ID_FIELD_DESC);
      oprot.writeI64(this.logistics_provider_id);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(COD_FIELD_DESC);
      oprot.writeBool(this.cod);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getBilledOrdersForManifestGen_args(");
      boolean first = true;

      sb.append("warehouse_id:");
      sb.append(this.warehouse_id);
      first = false;
      if (!first) sb.append(", ");
      sb.append("logistics_provider_id:");
      sb.append(this.logistics_provider_id);
      first = false;
      if (!first) sb.append(", ");
      sb.append("cod:");
      sb.append(this.cod);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getBilledOrdersForManifestGen_result implements org.apache.thrift.TBase<getBilledOrdersForManifestGen_result, getBilledOrdersForManifestGen_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getBilledOrdersForManifestGen_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);

    private List<Order> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Order.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getBilledOrdersForManifestGen_result.class, metaDataMap);
    }

    public getBilledOrdersForManifestGen_result() {
    }

    public getBilledOrdersForManifestGen_result(
      List<Order> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getBilledOrdersForManifestGen_result(getBilledOrdersForManifestGen_result other) {
      if (other.isSetSuccess()) {
        List<Order> __this__success = new ArrayList<Order>();
        for (Order other_element : other.success) {
          __this__success.add(new Order(other_element));
        }
        this.success = __this__success;
      }
    }

    public getBilledOrdersForManifestGen_result deepCopy() {
      return new getBilledOrdersForManifestGen_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<Order> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(Order elem) {
      if (this.success == null) {
        this.success = new ArrayList<Order>();
      }
      this.success.add(elem);
    }

    public List<Order> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<Order> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<Order>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getBilledOrdersForManifestGen_result)
        return this.equals((getBilledOrdersForManifestGen_result)that);
      return false;
    }

    public boolean equals(getBilledOrdersForManifestGen_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getBilledOrdersForManifestGen_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getBilledOrdersForManifestGen_result typedOther = (getBilledOrdersForManifestGen_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list857 = iprot.readListBegin();
                this.success = new ArrayList<Order>(_list857.size);
                for (int _i858 = 0; _i858 < _list857.size; ++_i858)
                {
                  Order _elem859; // required
                  _elem859 = new Order();
                  _elem859.read(iprot);
                  this.success.add(_elem859);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (Order _iter860 : this.success)
          {
            _iter860.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getBilledOrdersForManifestGen_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class registerRsa_args implements org.apache.thrift.TBase<registerRsa_args, registerRsa_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("registerRsa_args");

    private static final org.apache.thrift.protocol.TField USER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("userId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField ACTIVATION_CODE_FIELD_DESC = new org.apache.thrift.protocol.TField("activation_code", org.apache.thrift.protocol.TType.STRING, (short)2);

    private long userId; // required
    private String activation_code; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      USER_ID((short)1, "userId"),
      ACTIVATION_CODE((short)2, "activation_code");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // USER_ID
            return USER_ID;
          case 2: // ACTIVATION_CODE
            return ACTIVATION_CODE;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __USERID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.USER_ID, new org.apache.thrift.meta_data.FieldMetaData("userId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.ACTIVATION_CODE, new org.apache.thrift.meta_data.FieldMetaData("activation_code", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(registerRsa_args.class, metaDataMap);
    }

    public registerRsa_args() {
    }

    public registerRsa_args(
      long userId,
      String activation_code)
    {
      this();
      this.userId = userId;
      setUserIdIsSet(true);
      this.activation_code = activation_code;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public registerRsa_args(registerRsa_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.userId = other.userId;
      if (other.isSetActivation_code()) {
        this.activation_code = other.activation_code;
      }
    }

    public registerRsa_args deepCopy() {
      return new registerRsa_args(this);
    }

    @Override
    public void clear() {
      setUserIdIsSet(false);
      this.userId = 0;
      this.activation_code = null;
    }

    public long getUserId() {
      return this.userId;
    }

    public void setUserId(long userId) {
      this.userId = userId;
      setUserIdIsSet(true);
    }

    public void unsetUserId() {
      __isset_bit_vector.clear(__USERID_ISSET_ID);
    }

    /** Returns true if field userId is set (has been assigned a value) and false otherwise */
    public boolean isSetUserId() {
      return __isset_bit_vector.get(__USERID_ISSET_ID);
    }

    public void setUserIdIsSet(boolean value) {
      __isset_bit_vector.set(__USERID_ISSET_ID, value);
    }

    public String getActivation_code() {
      return this.activation_code;
    }

    public void setActivation_code(String activation_code) {
      this.activation_code = activation_code;
    }

    public void unsetActivation_code() {
      this.activation_code = null;
    }

    /** Returns true if field activation_code is set (has been assigned a value) and false otherwise */
    public boolean isSetActivation_code() {
      return this.activation_code != null;
    }

    public void setActivation_codeIsSet(boolean value) {
      if (!value) {
        this.activation_code = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case USER_ID:
        if (value == null) {
          unsetUserId();
        } else {
          setUserId((Long)value);
        }
        break;

      case ACTIVATION_CODE:
        if (value == null) {
          unsetActivation_code();
        } else {
          setActivation_code((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case USER_ID:
        return Long.valueOf(getUserId());

      case ACTIVATION_CODE:
        return getActivation_code();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case USER_ID:
        return isSetUserId();
      case ACTIVATION_CODE:
        return isSetActivation_code();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof registerRsa_args)
        return this.equals((registerRsa_args)that);
      return false;
    }

    public boolean equals(registerRsa_args that) {
      if (that == null)
        return false;

      boolean this_present_userId = true;
      boolean that_present_userId = true;
      if (this_present_userId || that_present_userId) {
        if (!(this_present_userId && that_present_userId))
          return false;
        if (this.userId != that.userId)
          return false;
      }

      boolean this_present_activation_code = true && this.isSetActivation_code();
      boolean that_present_activation_code = true && that.isSetActivation_code();
      if (this_present_activation_code || that_present_activation_code) {
        if (!(this_present_activation_code && that_present_activation_code))
          return false;
        if (!this.activation_code.equals(that.activation_code))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(registerRsa_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      registerRsa_args typedOther = (registerRsa_args)other;

      lastComparison = Boolean.valueOf(isSetUserId()).compareTo(typedOther.isSetUserId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetUserId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.userId, typedOther.userId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetActivation_code()).compareTo(typedOther.isSetActivation_code());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetActivation_code()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.activation_code, typedOther.activation_code);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // USER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.userId = iprot.readI64();
              setUserIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // ACTIVATION_CODE
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.activation_code = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(USER_ID_FIELD_DESC);
      oprot.writeI64(this.userId);
      oprot.writeFieldEnd();
      if (this.activation_code != null) {
        oprot.writeFieldBegin(ACTIVATION_CODE_FIELD_DESC);
        oprot.writeString(this.activation_code);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("registerRsa_args(");
      boolean first = true;

      sb.append("userId:");
      sb.append(this.userId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("activation_code:");
      if (this.activation_code == null) {
        sb.append("null");
      } else {
        sb.append(this.activation_code);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class registerRsa_result implements org.apache.thrift.TBase<registerRsa_result, registerRsa_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("registerRsa_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);

    private boolean success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(registerRsa_result.class, metaDataMap);
    }

    public registerRsa_result() {
    }

    public registerRsa_result(
      boolean success)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public registerRsa_result(registerRsa_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
    }

    public registerRsa_result deepCopy() {
      return new registerRsa_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = false;
    }

    public boolean isSuccess() {
      return this.success;
    }

    public void setSuccess(boolean success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Boolean.valueOf(isSuccess());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof registerRsa_result)
        return this.equals((registerRsa_result)that);
      return false;
    }

    public boolean equals(registerRsa_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(registerRsa_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      registerRsa_result typedOther = (registerRsa_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.success = iprot.readBool();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBool(this.success);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("registerRsa_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class addSalesAssociate_args implements org.apache.thrift.TBase<addSalesAssociate_args, addSalesAssociate_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addSalesAssociate_args");

    private static final org.apache.thrift.protocol.TField PMSA_FIELD_DESC = new org.apache.thrift.protocol.TField("pmsa", org.apache.thrift.protocol.TType.STRUCT, (short)1);
    private static final org.apache.thrift.protocol.TField REFERRER_EMAIL_FIELD_DESC = new org.apache.thrift.protocol.TField("referrerEmail", org.apache.thrift.protocol.TType.STRING, (short)2);
    private static final org.apache.thrift.protocol.TField L1_USER_EMAIL_FIELD_DESC = new org.apache.thrift.protocol.TField("l1_userEmail", org.apache.thrift.protocol.TType.STRING, (short)3);

    private Pmsa pmsa; // required
    private String referrerEmail; // required
    private String l1_userEmail; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      PMSA((short)1, "pmsa"),
      REFERRER_EMAIL((short)2, "referrerEmail"),
      L1_USER_EMAIL((short)3, "l1_userEmail");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // PMSA
            return PMSA;
          case 2: // REFERRER_EMAIL
            return REFERRER_EMAIL;
          case 3: // L1_USER_EMAIL
            return L1_USER_EMAIL;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.PMSA, new org.apache.thrift.meta_data.FieldMetaData("pmsa", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Pmsa.class)));
      tmpMap.put(_Fields.REFERRER_EMAIL, new org.apache.thrift.meta_data.FieldMetaData("referrerEmail", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.L1_USER_EMAIL, new org.apache.thrift.meta_data.FieldMetaData("l1_userEmail", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(addSalesAssociate_args.class, metaDataMap);
    }

    public addSalesAssociate_args() {
    }

    public addSalesAssociate_args(
      Pmsa pmsa,
      String referrerEmail,
      String l1_userEmail)
    {
      this();
      this.pmsa = pmsa;
      this.referrerEmail = referrerEmail;
      this.l1_userEmail = l1_userEmail;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public addSalesAssociate_args(addSalesAssociate_args other) {
      if (other.isSetPmsa()) {
        this.pmsa = new Pmsa(other.pmsa);
      }
      if (other.isSetReferrerEmail()) {
        this.referrerEmail = other.referrerEmail;
      }
      if (other.isSetL1_userEmail()) {
        this.l1_userEmail = other.l1_userEmail;
      }
    }

    public addSalesAssociate_args deepCopy() {
      return new addSalesAssociate_args(this);
    }

    @Override
    public void clear() {
      this.pmsa = null;
      this.referrerEmail = null;
      this.l1_userEmail = null;
    }

    public Pmsa getPmsa() {
      return this.pmsa;
    }

    public void setPmsa(Pmsa pmsa) {
      this.pmsa = pmsa;
    }

    public void unsetPmsa() {
      this.pmsa = null;
    }

    /** Returns true if field pmsa is set (has been assigned a value) and false otherwise */
    public boolean isSetPmsa() {
      return this.pmsa != null;
    }

    public void setPmsaIsSet(boolean value) {
      if (!value) {
        this.pmsa = null;
      }
    }

    public String getReferrerEmail() {
      return this.referrerEmail;
    }

    public void setReferrerEmail(String referrerEmail) {
      this.referrerEmail = referrerEmail;
    }

    public void unsetReferrerEmail() {
      this.referrerEmail = null;
    }

    /** Returns true if field referrerEmail is set (has been assigned a value) and false otherwise */
    public boolean isSetReferrerEmail() {
      return this.referrerEmail != null;
    }

    public void setReferrerEmailIsSet(boolean value) {
      if (!value) {
        this.referrerEmail = null;
      }
    }

    public String getL1_userEmail() {
      return this.l1_userEmail;
    }

    public void setL1_userEmail(String l1_userEmail) {
      this.l1_userEmail = l1_userEmail;
    }

    public void unsetL1_userEmail() {
      this.l1_userEmail = null;
    }

    /** Returns true if field l1_userEmail is set (has been assigned a value) and false otherwise */
    public boolean isSetL1_userEmail() {
      return this.l1_userEmail != null;
    }

    public void setL1_userEmailIsSet(boolean value) {
      if (!value) {
        this.l1_userEmail = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case PMSA:
        if (value == null) {
          unsetPmsa();
        } else {
          setPmsa((Pmsa)value);
        }
        break;

      case REFERRER_EMAIL:
        if (value == null) {
          unsetReferrerEmail();
        } else {
          setReferrerEmail((String)value);
        }
        break;

      case L1_USER_EMAIL:
        if (value == null) {
          unsetL1_userEmail();
        } else {
          setL1_userEmail((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case PMSA:
        return getPmsa();

      case REFERRER_EMAIL:
        return getReferrerEmail();

      case L1_USER_EMAIL:
        return getL1_userEmail();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case PMSA:
        return isSetPmsa();
      case REFERRER_EMAIL:
        return isSetReferrerEmail();
      case L1_USER_EMAIL:
        return isSetL1_userEmail();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof addSalesAssociate_args)
        return this.equals((addSalesAssociate_args)that);
      return false;
    }

    public boolean equals(addSalesAssociate_args that) {
      if (that == null)
        return false;

      boolean this_present_pmsa = true && this.isSetPmsa();
      boolean that_present_pmsa = true && that.isSetPmsa();
      if (this_present_pmsa || that_present_pmsa) {
        if (!(this_present_pmsa && that_present_pmsa))
          return false;
        if (!this.pmsa.equals(that.pmsa))
          return false;
      }

      boolean this_present_referrerEmail = true && this.isSetReferrerEmail();
      boolean that_present_referrerEmail = true && that.isSetReferrerEmail();
      if (this_present_referrerEmail || that_present_referrerEmail) {
        if (!(this_present_referrerEmail && that_present_referrerEmail))
          return false;
        if (!this.referrerEmail.equals(that.referrerEmail))
          return false;
      }

      boolean this_present_l1_userEmail = true && this.isSetL1_userEmail();
      boolean that_present_l1_userEmail = true && that.isSetL1_userEmail();
      if (this_present_l1_userEmail || that_present_l1_userEmail) {
        if (!(this_present_l1_userEmail && that_present_l1_userEmail))
          return false;
        if (!this.l1_userEmail.equals(that.l1_userEmail))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(addSalesAssociate_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      addSalesAssociate_args typedOther = (addSalesAssociate_args)other;

      lastComparison = Boolean.valueOf(isSetPmsa()).compareTo(typedOther.isSetPmsa());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetPmsa()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.pmsa, typedOther.pmsa);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetReferrerEmail()).compareTo(typedOther.isSetReferrerEmail());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetReferrerEmail()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.referrerEmail, typedOther.referrerEmail);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetL1_userEmail()).compareTo(typedOther.isSetL1_userEmail());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetL1_userEmail()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.l1_userEmail, typedOther.l1_userEmail);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // PMSA
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.pmsa = new Pmsa();
              this.pmsa.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // REFERRER_EMAIL
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.referrerEmail = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // L1_USER_EMAIL
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.l1_userEmail = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.pmsa != null) {
        oprot.writeFieldBegin(PMSA_FIELD_DESC);
        this.pmsa.write(oprot);
        oprot.writeFieldEnd();
      }
      if (this.referrerEmail != null) {
        oprot.writeFieldBegin(REFERRER_EMAIL_FIELD_DESC);
        oprot.writeString(this.referrerEmail);
        oprot.writeFieldEnd();
      }
      if (this.l1_userEmail != null) {
        oprot.writeFieldBegin(L1_USER_EMAIL_FIELD_DESC);
        oprot.writeString(this.l1_userEmail);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("addSalesAssociate_args(");
      boolean first = true;

      sb.append("pmsa:");
      if (this.pmsa == null) {
        sb.append("null");
      } else {
        sb.append(this.pmsa);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("referrerEmail:");
      if (this.referrerEmail == null) {
        sb.append("null");
      } else {
        sb.append(this.referrerEmail);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("l1_userEmail:");
      if (this.l1_userEmail == null) {
        sb.append("null");
      } else {
        sb.append(this.l1_userEmail);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class addSalesAssociate_result implements org.apache.thrift.TBase<addSalesAssociate_result, addSalesAssociate_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addSalesAssociate_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRING, (short)0);

    private String success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(addSalesAssociate_result.class, metaDataMap);
    }

    public addSalesAssociate_result() {
    }

    public addSalesAssociate_result(
      String success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public addSalesAssociate_result(addSalesAssociate_result other) {
      if (other.isSetSuccess()) {
        this.success = other.success;
      }
    }

    public addSalesAssociate_result deepCopy() {
      return new addSalesAssociate_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public String getSuccess() {
      return this.success;
    }

    public void setSuccess(String success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof addSalesAssociate_result)
        return this.equals((addSalesAssociate_result)that);
      return false;
    }

    public boolean equals(addSalesAssociate_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(addSalesAssociate_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      addSalesAssociate_result typedOther = (addSalesAssociate_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.success = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeString(this.success);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("addSalesAssociate_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class searchPmsa_args implements org.apache.thrift.TBase<searchPmsa_args, searchPmsa_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("searchPmsa_args");

    private static final org.apache.thrift.protocol.TField PMSA_SEARCH_FILTER_FIELD_DESC = new org.apache.thrift.protocol.TField("pmsaSearchFilter", org.apache.thrift.protocol.TType.STRUCT, (short)1);
    private static final org.apache.thrift.protocol.TField ASSOCIATE_EMAIL_FIELD_DESC = new org.apache.thrift.protocol.TField("associateEmail", org.apache.thrift.protocol.TType.STRING, (short)2);

    private PmsaSearchFilter pmsaSearchFilter; // required
    private String associateEmail; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      PMSA_SEARCH_FILTER((short)1, "pmsaSearchFilter"),
      ASSOCIATE_EMAIL((short)2, "associateEmail");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // PMSA_SEARCH_FILTER
            return PMSA_SEARCH_FILTER;
          case 2: // ASSOCIATE_EMAIL
            return ASSOCIATE_EMAIL;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.PMSA_SEARCH_FILTER, new org.apache.thrift.meta_data.FieldMetaData("pmsaSearchFilter", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, PmsaSearchFilter.class)));
      tmpMap.put(_Fields.ASSOCIATE_EMAIL, new org.apache.thrift.meta_data.FieldMetaData("associateEmail", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(searchPmsa_args.class, metaDataMap);
    }

    public searchPmsa_args() {
    }

    public searchPmsa_args(
      PmsaSearchFilter pmsaSearchFilter,
      String associateEmail)
    {
      this();
      this.pmsaSearchFilter = pmsaSearchFilter;
      this.associateEmail = associateEmail;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public searchPmsa_args(searchPmsa_args other) {
      if (other.isSetPmsaSearchFilter()) {
        this.pmsaSearchFilter = new PmsaSearchFilter(other.pmsaSearchFilter);
      }
      if (other.isSetAssociateEmail()) {
        this.associateEmail = other.associateEmail;
      }
    }

    public searchPmsa_args deepCopy() {
      return new searchPmsa_args(this);
    }

    @Override
    public void clear() {
      this.pmsaSearchFilter = null;
      this.associateEmail = null;
    }

    public PmsaSearchFilter getPmsaSearchFilter() {
      return this.pmsaSearchFilter;
    }

    public void setPmsaSearchFilter(PmsaSearchFilter pmsaSearchFilter) {
      this.pmsaSearchFilter = pmsaSearchFilter;
    }

    public void unsetPmsaSearchFilter() {
      this.pmsaSearchFilter = null;
    }

    /** Returns true if field pmsaSearchFilter is set (has been assigned a value) and false otherwise */
    public boolean isSetPmsaSearchFilter() {
      return this.pmsaSearchFilter != null;
    }

    public void setPmsaSearchFilterIsSet(boolean value) {
      if (!value) {
        this.pmsaSearchFilter = null;
      }
    }

    public String getAssociateEmail() {
      return this.associateEmail;
    }

    public void setAssociateEmail(String associateEmail) {
      this.associateEmail = associateEmail;
    }

    public void unsetAssociateEmail() {
      this.associateEmail = null;
    }

    /** Returns true if field associateEmail is set (has been assigned a value) and false otherwise */
    public boolean isSetAssociateEmail() {
      return this.associateEmail != null;
    }

    public void setAssociateEmailIsSet(boolean value) {
      if (!value) {
        this.associateEmail = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case PMSA_SEARCH_FILTER:
        if (value == null) {
          unsetPmsaSearchFilter();
        } else {
          setPmsaSearchFilter((PmsaSearchFilter)value);
        }
        break;

      case ASSOCIATE_EMAIL:
        if (value == null) {
          unsetAssociateEmail();
        } else {
          setAssociateEmail((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case PMSA_SEARCH_FILTER:
        return getPmsaSearchFilter();

      case ASSOCIATE_EMAIL:
        return getAssociateEmail();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case PMSA_SEARCH_FILTER:
        return isSetPmsaSearchFilter();
      case ASSOCIATE_EMAIL:
        return isSetAssociateEmail();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof searchPmsa_args)
        return this.equals((searchPmsa_args)that);
      return false;
    }

    public boolean equals(searchPmsa_args that) {
      if (that == null)
        return false;

      boolean this_present_pmsaSearchFilter = true && this.isSetPmsaSearchFilter();
      boolean that_present_pmsaSearchFilter = true && that.isSetPmsaSearchFilter();
      if (this_present_pmsaSearchFilter || that_present_pmsaSearchFilter) {
        if (!(this_present_pmsaSearchFilter && that_present_pmsaSearchFilter))
          return false;
        if (!this.pmsaSearchFilter.equals(that.pmsaSearchFilter))
          return false;
      }

      boolean this_present_associateEmail = true && this.isSetAssociateEmail();
      boolean that_present_associateEmail = true && that.isSetAssociateEmail();
      if (this_present_associateEmail || that_present_associateEmail) {
        if (!(this_present_associateEmail && that_present_associateEmail))
          return false;
        if (!this.associateEmail.equals(that.associateEmail))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(searchPmsa_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      searchPmsa_args typedOther = (searchPmsa_args)other;

      lastComparison = Boolean.valueOf(isSetPmsaSearchFilter()).compareTo(typedOther.isSetPmsaSearchFilter());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetPmsaSearchFilter()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.pmsaSearchFilter, typedOther.pmsaSearchFilter);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetAssociateEmail()).compareTo(typedOther.isSetAssociateEmail());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetAssociateEmail()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.associateEmail, typedOther.associateEmail);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // PMSA_SEARCH_FILTER
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.pmsaSearchFilter = new PmsaSearchFilter();
              this.pmsaSearchFilter.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // ASSOCIATE_EMAIL
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.associateEmail = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.pmsaSearchFilter != null) {
        oprot.writeFieldBegin(PMSA_SEARCH_FILTER_FIELD_DESC);
        this.pmsaSearchFilter.write(oprot);
        oprot.writeFieldEnd();
      }
      if (this.associateEmail != null) {
        oprot.writeFieldBegin(ASSOCIATE_EMAIL_FIELD_DESC);
        oprot.writeString(this.associateEmail);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("searchPmsa_args(");
      boolean first = true;

      sb.append("pmsaSearchFilter:");
      if (this.pmsaSearchFilter == null) {
        sb.append("null");
      } else {
        sb.append(this.pmsaSearchFilter);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("associateEmail:");
      if (this.associateEmail == null) {
        sb.append("null");
      } else {
        sb.append(this.associateEmail);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class searchPmsa_result implements org.apache.thrift.TBase<searchPmsa_result, searchPmsa_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("searchPmsa_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);

    private List<Pmsa> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Pmsa.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(searchPmsa_result.class, metaDataMap);
    }

    public searchPmsa_result() {
    }

    public searchPmsa_result(
      List<Pmsa> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public searchPmsa_result(searchPmsa_result other) {
      if (other.isSetSuccess()) {
        List<Pmsa> __this__success = new ArrayList<Pmsa>();
        for (Pmsa other_element : other.success) {
          __this__success.add(new Pmsa(other_element));
        }
        this.success = __this__success;
      }
    }

    public searchPmsa_result deepCopy() {
      return new searchPmsa_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<Pmsa> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(Pmsa elem) {
      if (this.success == null) {
        this.success = new ArrayList<Pmsa>();
      }
      this.success.add(elem);
    }

    public List<Pmsa> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<Pmsa> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<Pmsa>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof searchPmsa_result)
        return this.equals((searchPmsa_result)that);
      return false;
    }

    public boolean equals(searchPmsa_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(searchPmsa_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      searchPmsa_result typedOther = (searchPmsa_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list861 = iprot.readListBegin();
                this.success = new ArrayList<Pmsa>(_list861.size);
                for (int _i862 = 0; _i862 < _list861.size; ++_i862)
                {
                  Pmsa _elem863; // required
                  _elem863 = new Pmsa();
                  _elem863.read(iprot);
                  this.success.add(_elem863);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (Pmsa _iter864 : this.success)
          {
            _iter864.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("searchPmsa_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getPmsaUser_args implements org.apache.thrift.TBase<getPmsaUser_args, getPmsaUser_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getPmsaUser_args");

    private static final org.apache.thrift.protocol.TField ID_FIELD_DESC = new org.apache.thrift.protocol.TField("id", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField ASSOCIATE_EMAIL_FIELD_DESC = new org.apache.thrift.protocol.TField("associateEmail", org.apache.thrift.protocol.TType.STRING, (short)2);

    private long id; // required
    private String associateEmail; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ID((short)1, "id"),
      ASSOCIATE_EMAIL((short)2, "associateEmail");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ID
            return ID;
          case 2: // ASSOCIATE_EMAIL
            return ASSOCIATE_EMAIL;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ID_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ID, new org.apache.thrift.meta_data.FieldMetaData("id", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.ASSOCIATE_EMAIL, new org.apache.thrift.meta_data.FieldMetaData("associateEmail", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getPmsaUser_args.class, metaDataMap);
    }

    public getPmsaUser_args() {
    }

    public getPmsaUser_args(
      long id,
      String associateEmail)
    {
      this();
      this.id = id;
      setIdIsSet(true);
      this.associateEmail = associateEmail;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getPmsaUser_args(getPmsaUser_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.id = other.id;
      if (other.isSetAssociateEmail()) {
        this.associateEmail = other.associateEmail;
      }
    }

    public getPmsaUser_args deepCopy() {
      return new getPmsaUser_args(this);
    }

    @Override
    public void clear() {
      setIdIsSet(false);
      this.id = 0;
      this.associateEmail = null;
    }

    public long getId() {
      return this.id;
    }

    public void setId(long id) {
      this.id = id;
      setIdIsSet(true);
    }

    public void unsetId() {
      __isset_bit_vector.clear(__ID_ISSET_ID);
    }

    /** Returns true if field id is set (has been assigned a value) and false otherwise */
    public boolean isSetId() {
      return __isset_bit_vector.get(__ID_ISSET_ID);
    }

    public void setIdIsSet(boolean value) {
      __isset_bit_vector.set(__ID_ISSET_ID, value);
    }

    public String getAssociateEmail() {
      return this.associateEmail;
    }

    public void setAssociateEmail(String associateEmail) {
      this.associateEmail = associateEmail;
    }

    public void unsetAssociateEmail() {
      this.associateEmail = null;
    }

    /** Returns true if field associateEmail is set (has been assigned a value) and false otherwise */
    public boolean isSetAssociateEmail() {
      return this.associateEmail != null;
    }

    public void setAssociateEmailIsSet(boolean value) {
      if (!value) {
        this.associateEmail = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ID:
        if (value == null) {
          unsetId();
        } else {
          setId((Long)value);
        }
        break;

      case ASSOCIATE_EMAIL:
        if (value == null) {
          unsetAssociateEmail();
        } else {
          setAssociateEmail((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ID:
        return Long.valueOf(getId());

      case ASSOCIATE_EMAIL:
        return getAssociateEmail();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ID:
        return isSetId();
      case ASSOCIATE_EMAIL:
        return isSetAssociateEmail();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getPmsaUser_args)
        return this.equals((getPmsaUser_args)that);
      return false;
    }

    public boolean equals(getPmsaUser_args that) {
      if (that == null)
        return false;

      boolean this_present_id = true;
      boolean that_present_id = true;
      if (this_present_id || that_present_id) {
        if (!(this_present_id && that_present_id))
          return false;
        if (this.id != that.id)
          return false;
      }

      boolean this_present_associateEmail = true && this.isSetAssociateEmail();
      boolean that_present_associateEmail = true && that.isSetAssociateEmail();
      if (this_present_associateEmail || that_present_associateEmail) {
        if (!(this_present_associateEmail && that_present_associateEmail))
          return false;
        if (!this.associateEmail.equals(that.associateEmail))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getPmsaUser_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getPmsaUser_args typedOther = (getPmsaUser_args)other;

      lastComparison = Boolean.valueOf(isSetId()).compareTo(typedOther.isSetId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.id, typedOther.id);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetAssociateEmail()).compareTo(typedOther.isSetAssociateEmail());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetAssociateEmail()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.associateEmail, typedOther.associateEmail);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.id = iprot.readI64();
              setIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // ASSOCIATE_EMAIL
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.associateEmail = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ID_FIELD_DESC);
      oprot.writeI64(this.id);
      oprot.writeFieldEnd();
      if (this.associateEmail != null) {
        oprot.writeFieldBegin(ASSOCIATE_EMAIL_FIELD_DESC);
        oprot.writeString(this.associateEmail);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getPmsaUser_args(");
      boolean first = true;

      sb.append("id:");
      sb.append(this.id);
      first = false;
      if (!first) sb.append(", ");
      sb.append("associateEmail:");
      if (this.associateEmail == null) {
        sb.append("null");
      } else {
        sb.append(this.associateEmail);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getPmsaUser_result implements org.apache.thrift.TBase<getPmsaUser_result, getPmsaUser_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getPmsaUser_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);

    private Pmsa success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Pmsa.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getPmsaUser_result.class, metaDataMap);
    }

    public getPmsaUser_result() {
    }

    public getPmsaUser_result(
      Pmsa success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getPmsaUser_result(getPmsaUser_result other) {
      if (other.isSetSuccess()) {
        this.success = new Pmsa(other.success);
      }
    }

    public getPmsaUser_result deepCopy() {
      return new getPmsaUser_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public Pmsa getSuccess() {
      return this.success;
    }

    public void setSuccess(Pmsa success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Pmsa)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getPmsaUser_result)
        return this.equals((getPmsaUser_result)that);
      return false;
    }

    public boolean equals(getPmsaUser_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getPmsaUser_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getPmsaUser_result typedOther = (getPmsaUser_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.success = new Pmsa();
              this.success.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        this.success.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getPmsaUser_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class updatePmsaUser_args implements org.apache.thrift.TBase<updatePmsaUser_args, updatePmsaUser_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updatePmsaUser_args");

    private static final org.apache.thrift.protocol.TField PMSA_FIELD_DESC = new org.apache.thrift.protocol.TField("pmsa", org.apache.thrift.protocol.TType.STRUCT, (short)1);
    private static final org.apache.thrift.protocol.TField ASSOCIATE_EMAIL_FIELD_DESC = new org.apache.thrift.protocol.TField("associateEmail", org.apache.thrift.protocol.TType.STRING, (short)2);

    private Pmsa pmsa; // required
    private String associateEmail; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      PMSA((short)1, "pmsa"),
      ASSOCIATE_EMAIL((short)2, "associateEmail");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // PMSA
            return PMSA;
          case 2: // ASSOCIATE_EMAIL
            return ASSOCIATE_EMAIL;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.PMSA, new org.apache.thrift.meta_data.FieldMetaData("pmsa", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Pmsa.class)));
      tmpMap.put(_Fields.ASSOCIATE_EMAIL, new org.apache.thrift.meta_data.FieldMetaData("associateEmail", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updatePmsaUser_args.class, metaDataMap);
    }

    public updatePmsaUser_args() {
    }

    public updatePmsaUser_args(
      Pmsa pmsa,
      String associateEmail)
    {
      this();
      this.pmsa = pmsa;
      this.associateEmail = associateEmail;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public updatePmsaUser_args(updatePmsaUser_args other) {
      if (other.isSetPmsa()) {
        this.pmsa = new Pmsa(other.pmsa);
      }
      if (other.isSetAssociateEmail()) {
        this.associateEmail = other.associateEmail;
      }
    }

    public updatePmsaUser_args deepCopy() {
      return new updatePmsaUser_args(this);
    }

    @Override
    public void clear() {
      this.pmsa = null;
      this.associateEmail = null;
    }

    public Pmsa getPmsa() {
      return this.pmsa;
    }

    public void setPmsa(Pmsa pmsa) {
      this.pmsa = pmsa;
    }

    public void unsetPmsa() {
      this.pmsa = null;
    }

    /** Returns true if field pmsa is set (has been assigned a value) and false otherwise */
    public boolean isSetPmsa() {
      return this.pmsa != null;
    }

    public void setPmsaIsSet(boolean value) {
      if (!value) {
        this.pmsa = null;
      }
    }

    public String getAssociateEmail() {
      return this.associateEmail;
    }

    public void setAssociateEmail(String associateEmail) {
      this.associateEmail = associateEmail;
    }

    public void unsetAssociateEmail() {
      this.associateEmail = null;
    }

    /** Returns true if field associateEmail is set (has been assigned a value) and false otherwise */
    public boolean isSetAssociateEmail() {
      return this.associateEmail != null;
    }

    public void setAssociateEmailIsSet(boolean value) {
      if (!value) {
        this.associateEmail = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case PMSA:
        if (value == null) {
          unsetPmsa();
        } else {
          setPmsa((Pmsa)value);
        }
        break;

      case ASSOCIATE_EMAIL:
        if (value == null) {
          unsetAssociateEmail();
        } else {
          setAssociateEmail((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case PMSA:
        return getPmsa();

      case ASSOCIATE_EMAIL:
        return getAssociateEmail();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case PMSA:
        return isSetPmsa();
      case ASSOCIATE_EMAIL:
        return isSetAssociateEmail();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof updatePmsaUser_args)
        return this.equals((updatePmsaUser_args)that);
      return false;
    }

    public boolean equals(updatePmsaUser_args that) {
      if (that == null)
        return false;

      boolean this_present_pmsa = true && this.isSetPmsa();
      boolean that_present_pmsa = true && that.isSetPmsa();
      if (this_present_pmsa || that_present_pmsa) {
        if (!(this_present_pmsa && that_present_pmsa))
          return false;
        if (!this.pmsa.equals(that.pmsa))
          return false;
      }

      boolean this_present_associateEmail = true && this.isSetAssociateEmail();
      boolean that_present_associateEmail = true && that.isSetAssociateEmail();
      if (this_present_associateEmail || that_present_associateEmail) {
        if (!(this_present_associateEmail && that_present_associateEmail))
          return false;
        if (!this.associateEmail.equals(that.associateEmail))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(updatePmsaUser_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      updatePmsaUser_args typedOther = (updatePmsaUser_args)other;

      lastComparison = Boolean.valueOf(isSetPmsa()).compareTo(typedOther.isSetPmsa());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetPmsa()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.pmsa, typedOther.pmsa);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetAssociateEmail()).compareTo(typedOther.isSetAssociateEmail());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetAssociateEmail()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.associateEmail, typedOther.associateEmail);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // PMSA
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.pmsa = new Pmsa();
              this.pmsa.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // ASSOCIATE_EMAIL
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.associateEmail = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.pmsa != null) {
        oprot.writeFieldBegin(PMSA_FIELD_DESC);
        this.pmsa.write(oprot);
        oprot.writeFieldEnd();
      }
      if (this.associateEmail != null) {
        oprot.writeFieldBegin(ASSOCIATE_EMAIL_FIELD_DESC);
        oprot.writeString(this.associateEmail);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("updatePmsaUser_args(");
      boolean first = true;

      sb.append("pmsa:");
      if (this.pmsa == null) {
        sb.append("null");
      } else {
        sb.append(this.pmsa);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("associateEmail:");
      if (this.associateEmail == null) {
        sb.append("null");
      } else {
        sb.append(this.associateEmail);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class updatePmsaUser_result implements org.apache.thrift.TBase<updatePmsaUser_result, updatePmsaUser_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updatePmsaUser_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRING, (short)0);

    private String success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updatePmsaUser_result.class, metaDataMap);
    }

    public updatePmsaUser_result() {
    }

    public updatePmsaUser_result(
      String success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public updatePmsaUser_result(updatePmsaUser_result other) {
      if (other.isSetSuccess()) {
        this.success = other.success;
      }
    }

    public updatePmsaUser_result deepCopy() {
      return new updatePmsaUser_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public String getSuccess() {
      return this.success;
    }

    public void setSuccess(String success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof updatePmsaUser_result)
        return this.equals((updatePmsaUser_result)that);
      return false;
    }

    public boolean equals(updatePmsaUser_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(updatePmsaUser_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      updatePmsaUser_result typedOther = (updatePmsaUser_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.success = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeString(this.success);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("updatePmsaUser_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getPmsaUsers_args implements org.apache.thrift.TBase<getPmsaUsers_args, getPmsaUsers_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getPmsaUsers_args");

    private static final org.apache.thrift.protocol.TField ASSOCIATE_EMAIL_FIELD_DESC = new org.apache.thrift.protocol.TField("associateEmail", org.apache.thrift.protocol.TType.STRING, (short)1);

    private String associateEmail; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ASSOCIATE_EMAIL((short)1, "associateEmail");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ASSOCIATE_EMAIL
            return ASSOCIATE_EMAIL;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ASSOCIATE_EMAIL, new org.apache.thrift.meta_data.FieldMetaData("associateEmail", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getPmsaUsers_args.class, metaDataMap);
    }

    public getPmsaUsers_args() {
    }

    public getPmsaUsers_args(
      String associateEmail)
    {
      this();
      this.associateEmail = associateEmail;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getPmsaUsers_args(getPmsaUsers_args other) {
      if (other.isSetAssociateEmail()) {
        this.associateEmail = other.associateEmail;
      }
    }

    public getPmsaUsers_args deepCopy() {
      return new getPmsaUsers_args(this);
    }

    @Override
    public void clear() {
      this.associateEmail = null;
    }

    public String getAssociateEmail() {
      return this.associateEmail;
    }

    public void setAssociateEmail(String associateEmail) {
      this.associateEmail = associateEmail;
    }

    public void unsetAssociateEmail() {
      this.associateEmail = null;
    }

    /** Returns true if field associateEmail is set (has been assigned a value) and false otherwise */
    public boolean isSetAssociateEmail() {
      return this.associateEmail != null;
    }

    public void setAssociateEmailIsSet(boolean value) {
      if (!value) {
        this.associateEmail = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ASSOCIATE_EMAIL:
        if (value == null) {
          unsetAssociateEmail();
        } else {
          setAssociateEmail((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ASSOCIATE_EMAIL:
        return getAssociateEmail();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ASSOCIATE_EMAIL:
        return isSetAssociateEmail();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getPmsaUsers_args)
        return this.equals((getPmsaUsers_args)that);
      return false;
    }

    public boolean equals(getPmsaUsers_args that) {
      if (that == null)
        return false;

      boolean this_present_associateEmail = true && this.isSetAssociateEmail();
      boolean that_present_associateEmail = true && that.isSetAssociateEmail();
      if (this_present_associateEmail || that_present_associateEmail) {
        if (!(this_present_associateEmail && that_present_associateEmail))
          return false;
        if (!this.associateEmail.equals(that.associateEmail))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getPmsaUsers_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getPmsaUsers_args typedOther = (getPmsaUsers_args)other;

      lastComparison = Boolean.valueOf(isSetAssociateEmail()).compareTo(typedOther.isSetAssociateEmail());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetAssociateEmail()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.associateEmail, typedOther.associateEmail);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ASSOCIATE_EMAIL
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.associateEmail = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.associateEmail != null) {
        oprot.writeFieldBegin(ASSOCIATE_EMAIL_FIELD_DESC);
        oprot.writeString(this.associateEmail);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getPmsaUsers_args(");
      boolean first = true;

      sb.append("associateEmail:");
      if (this.associateEmail == null) {
        sb.append("null");
      } else {
        sb.append(this.associateEmail);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getPmsaUsers_result implements org.apache.thrift.TBase<getPmsaUsers_result, getPmsaUsers_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getPmsaUsers_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);

    private List<Pmsa> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Pmsa.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getPmsaUsers_result.class, metaDataMap);
    }

    public getPmsaUsers_result() {
    }

    public getPmsaUsers_result(
      List<Pmsa> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getPmsaUsers_result(getPmsaUsers_result other) {
      if (other.isSetSuccess()) {
        List<Pmsa> __this__success = new ArrayList<Pmsa>();
        for (Pmsa other_element : other.success) {
          __this__success.add(new Pmsa(other_element));
        }
        this.success = __this__success;
      }
    }

    public getPmsaUsers_result deepCopy() {
      return new getPmsaUsers_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<Pmsa> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(Pmsa elem) {
      if (this.success == null) {
        this.success = new ArrayList<Pmsa>();
      }
      this.success.add(elem);
    }

    public List<Pmsa> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<Pmsa> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<Pmsa>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getPmsaUsers_result)
        return this.equals((getPmsaUsers_result)that);
      return false;
    }

    public boolean equals(getPmsaUsers_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getPmsaUsers_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getPmsaUsers_result typedOther = (getPmsaUsers_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list865 = iprot.readListBegin();
                this.success = new ArrayList<Pmsa>(_list865.size);
                for (int _i866 = 0; _i866 < _list865.size; ++_i866)
                {
                  Pmsa _elem867; // required
                  _elem867 = new Pmsa();
                  _elem867.read(iprot);
                  this.success.add(_elem867);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (Pmsa _iter868 : this.success)
          {
            _iter868.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getPmsaUsers_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getPendingAssociates_args implements org.apache.thrift.TBase<getPendingAssociates_args, getPendingAssociates_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getPendingAssociates_args");

    private static final org.apache.thrift.protocol.TField ASSOCIATE_EMAIL_FIELD_DESC = new org.apache.thrift.protocol.TField("associateEmail", org.apache.thrift.protocol.TType.STRING, (short)1);

    private String associateEmail; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ASSOCIATE_EMAIL((short)1, "associateEmail");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ASSOCIATE_EMAIL
            return ASSOCIATE_EMAIL;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ASSOCIATE_EMAIL, new org.apache.thrift.meta_data.FieldMetaData("associateEmail", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getPendingAssociates_args.class, metaDataMap);
    }

    public getPendingAssociates_args() {
    }

    public getPendingAssociates_args(
      String associateEmail)
    {
      this();
      this.associateEmail = associateEmail;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getPendingAssociates_args(getPendingAssociates_args other) {
      if (other.isSetAssociateEmail()) {
        this.associateEmail = other.associateEmail;
      }
    }

    public getPendingAssociates_args deepCopy() {
      return new getPendingAssociates_args(this);
    }

    @Override
    public void clear() {
      this.associateEmail = null;
    }

    public String getAssociateEmail() {
      return this.associateEmail;
    }

    public void setAssociateEmail(String associateEmail) {
      this.associateEmail = associateEmail;
    }

    public void unsetAssociateEmail() {
      this.associateEmail = null;
    }

    /** Returns true if field associateEmail is set (has been assigned a value) and false otherwise */
    public boolean isSetAssociateEmail() {
      return this.associateEmail != null;
    }

    public void setAssociateEmailIsSet(boolean value) {
      if (!value) {
        this.associateEmail = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ASSOCIATE_EMAIL:
        if (value == null) {
          unsetAssociateEmail();
        } else {
          setAssociateEmail((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ASSOCIATE_EMAIL:
        return getAssociateEmail();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ASSOCIATE_EMAIL:
        return isSetAssociateEmail();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getPendingAssociates_args)
        return this.equals((getPendingAssociates_args)that);
      return false;
    }

    public boolean equals(getPendingAssociates_args that) {
      if (that == null)
        return false;

      boolean this_present_associateEmail = true && this.isSetAssociateEmail();
      boolean that_present_associateEmail = true && that.isSetAssociateEmail();
      if (this_present_associateEmail || that_present_associateEmail) {
        if (!(this_present_associateEmail && that_present_associateEmail))
          return false;
        if (!this.associateEmail.equals(that.associateEmail))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getPendingAssociates_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getPendingAssociates_args typedOther = (getPendingAssociates_args)other;

      lastComparison = Boolean.valueOf(isSetAssociateEmail()).compareTo(typedOther.isSetAssociateEmail());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetAssociateEmail()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.associateEmail, typedOther.associateEmail);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ASSOCIATE_EMAIL
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.associateEmail = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.associateEmail != null) {
        oprot.writeFieldBegin(ASSOCIATE_EMAIL_FIELD_DESC);
        oprot.writeString(this.associateEmail);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getPendingAssociates_args(");
      boolean first = true;

      sb.append("associateEmail:");
      if (this.associateEmail == null) {
        sb.append("null");
      } else {
        sb.append(this.associateEmail);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getPendingAssociates_result implements org.apache.thrift.TBase<getPendingAssociates_result, getPendingAssociates_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getPendingAssociates_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);

    private List<Pmsa> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Pmsa.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getPendingAssociates_result.class, metaDataMap);
    }

    public getPendingAssociates_result() {
    }

    public getPendingAssociates_result(
      List<Pmsa> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getPendingAssociates_result(getPendingAssociates_result other) {
      if (other.isSetSuccess()) {
        List<Pmsa> __this__success = new ArrayList<Pmsa>();
        for (Pmsa other_element : other.success) {
          __this__success.add(new Pmsa(other_element));
        }
        this.success = __this__success;
      }
    }

    public getPendingAssociates_result deepCopy() {
      return new getPendingAssociates_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<Pmsa> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(Pmsa elem) {
      if (this.success == null) {
        this.success = new ArrayList<Pmsa>();
      }
      this.success.add(elem);
    }

    public List<Pmsa> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<Pmsa> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<Pmsa>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getPendingAssociates_result)
        return this.equals((getPendingAssociates_result)that);
      return false;
    }

    public boolean equals(getPendingAssociates_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getPendingAssociates_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getPendingAssociates_result typedOther = (getPendingAssociates_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list869 = iprot.readListBegin();
                this.success = new ArrayList<Pmsa>(_list869.size);
                for (int _i870 = 0; _i870 < _list869.size; ++_i870)
                {
                  Pmsa _elem871; // required
                  _elem871 = new Pmsa();
                  _elem871.read(iprot);
                  this.success.add(_elem871);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (Pmsa _iter872 : this.success)
          {
            _iter872.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getPendingAssociates_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getStatsForAssociates_args implements org.apache.thrift.TBase<getStatsForAssociates_args, getStatsForAssociates_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getStatsForAssociates_args");

    private static final org.apache.thrift.protocol.TField ASSOCIATE_EMAIL_FIELD_DESC = new org.apache.thrift.protocol.TField("associateEmail", org.apache.thrift.protocol.TType.STRING, (short)1);

    private String associateEmail; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ASSOCIATE_EMAIL((short)1, "associateEmail");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ASSOCIATE_EMAIL
            return ASSOCIATE_EMAIL;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ASSOCIATE_EMAIL, new org.apache.thrift.meta_data.FieldMetaData("associateEmail", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getStatsForAssociates_args.class, metaDataMap);
    }

    public getStatsForAssociates_args() {
    }

    public getStatsForAssociates_args(
      String associateEmail)
    {
      this();
      this.associateEmail = associateEmail;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getStatsForAssociates_args(getStatsForAssociates_args other) {
      if (other.isSetAssociateEmail()) {
        this.associateEmail = other.associateEmail;
      }
    }

    public getStatsForAssociates_args deepCopy() {
      return new getStatsForAssociates_args(this);
    }

    @Override
    public void clear() {
      this.associateEmail = null;
    }

    public String getAssociateEmail() {
      return this.associateEmail;
    }

    public void setAssociateEmail(String associateEmail) {
      this.associateEmail = associateEmail;
    }

    public void unsetAssociateEmail() {
      this.associateEmail = null;
    }

    /** Returns true if field associateEmail is set (has been assigned a value) and false otherwise */
    public boolean isSetAssociateEmail() {
      return this.associateEmail != null;
    }

    public void setAssociateEmailIsSet(boolean value) {
      if (!value) {
        this.associateEmail = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ASSOCIATE_EMAIL:
        if (value == null) {
          unsetAssociateEmail();
        } else {
          setAssociateEmail((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ASSOCIATE_EMAIL:
        return getAssociateEmail();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ASSOCIATE_EMAIL:
        return isSetAssociateEmail();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getStatsForAssociates_args)
        return this.equals((getStatsForAssociates_args)that);
      return false;
    }

    public boolean equals(getStatsForAssociates_args that) {
      if (that == null)
        return false;

      boolean this_present_associateEmail = true && this.isSetAssociateEmail();
      boolean that_present_associateEmail = true && that.isSetAssociateEmail();
      if (this_present_associateEmail || that_present_associateEmail) {
        if (!(this_present_associateEmail && that_present_associateEmail))
          return false;
        if (!this.associateEmail.equals(that.associateEmail))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getStatsForAssociates_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getStatsForAssociates_args typedOther = (getStatsForAssociates_args)other;

      lastComparison = Boolean.valueOf(isSetAssociateEmail()).compareTo(typedOther.isSetAssociateEmail());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetAssociateEmail()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.associateEmail, typedOther.associateEmail);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ASSOCIATE_EMAIL
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.associateEmail = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.associateEmail != null) {
        oprot.writeFieldBegin(ASSOCIATE_EMAIL_FIELD_DESC);
        oprot.writeString(this.associateEmail);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getStatsForAssociates_args(");
      boolean first = true;

      sb.append("associateEmail:");
      if (this.associateEmail == null) {
        sb.append("null");
      } else {
        sb.append(this.associateEmail);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getStatsForAssociates_result implements org.apache.thrift.TBase<getStatsForAssociates_result, getStatsForAssociates_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getStatsForAssociates_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);

    private List<Long> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getStatsForAssociates_result.class, metaDataMap);
    }

    public getStatsForAssociates_result() {
    }

    public getStatsForAssociates_result(
      List<Long> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getStatsForAssociates_result(getStatsForAssociates_result other) {
      if (other.isSetSuccess()) {
        List<Long> __this__success = new ArrayList<Long>();
        for (Long other_element : other.success) {
          __this__success.add(other_element);
        }
        this.success = __this__success;
      }
    }

    public getStatsForAssociates_result deepCopy() {
      return new getStatsForAssociates_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<Long> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(long elem) {
      if (this.success == null) {
        this.success = new ArrayList<Long>();
      }
      this.success.add(elem);
    }

    public List<Long> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<Long> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<Long>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getStatsForAssociates_result)
        return this.equals((getStatsForAssociates_result)that);
      return false;
    }

    public boolean equals(getStatsForAssociates_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getStatsForAssociates_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getStatsForAssociates_result typedOther = (getStatsForAssociates_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list873 = iprot.readListBegin();
                this.success = new ArrayList<Long>(_list873.size);
                for (int _i874 = 0; _i874 < _list873.size; ++_i874)
                {
                  long _elem875; // required
                  _elem875 = iprot.readI64();
                  this.success.add(_elem875);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, this.success.size()));
          for (long _iter876 : this.success)
          {
            oprot.writeI64(_iter876);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getStatsForAssociates_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getmypmsaprofile_args implements org.apache.thrift.TBase<getmypmsaprofile_args, getmypmsaprofile_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getmypmsaprofile_args");

    private static final org.apache.thrift.protocol.TField ASSOCIATE_EMAIL_FIELD_DESC = new org.apache.thrift.protocol.TField("associateEmail", org.apache.thrift.protocol.TType.STRING, (short)1);

    private String associateEmail; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ASSOCIATE_EMAIL((short)1, "associateEmail");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ASSOCIATE_EMAIL
            return ASSOCIATE_EMAIL;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ASSOCIATE_EMAIL, new org.apache.thrift.meta_data.FieldMetaData("associateEmail", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getmypmsaprofile_args.class, metaDataMap);
    }

    public getmypmsaprofile_args() {
    }

    public getmypmsaprofile_args(
      String associateEmail)
    {
      this();
      this.associateEmail = associateEmail;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getmypmsaprofile_args(getmypmsaprofile_args other) {
      if (other.isSetAssociateEmail()) {
        this.associateEmail = other.associateEmail;
      }
    }

    public getmypmsaprofile_args deepCopy() {
      return new getmypmsaprofile_args(this);
    }

    @Override
    public void clear() {
      this.associateEmail = null;
    }

    public String getAssociateEmail() {
      return this.associateEmail;
    }

    public void setAssociateEmail(String associateEmail) {
      this.associateEmail = associateEmail;
    }

    public void unsetAssociateEmail() {
      this.associateEmail = null;
    }

    /** Returns true if field associateEmail is set (has been assigned a value) and false otherwise */
    public boolean isSetAssociateEmail() {
      return this.associateEmail != null;
    }

    public void setAssociateEmailIsSet(boolean value) {
      if (!value) {
        this.associateEmail = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ASSOCIATE_EMAIL:
        if (value == null) {
          unsetAssociateEmail();
        } else {
          setAssociateEmail((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ASSOCIATE_EMAIL:
        return getAssociateEmail();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ASSOCIATE_EMAIL:
        return isSetAssociateEmail();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getmypmsaprofile_args)
        return this.equals((getmypmsaprofile_args)that);
      return false;
    }

    public boolean equals(getmypmsaprofile_args that) {
      if (that == null)
        return false;

      boolean this_present_associateEmail = true && this.isSetAssociateEmail();
      boolean that_present_associateEmail = true && that.isSetAssociateEmail();
      if (this_present_associateEmail || that_present_associateEmail) {
        if (!(this_present_associateEmail && that_present_associateEmail))
          return false;
        if (!this.associateEmail.equals(that.associateEmail))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getmypmsaprofile_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getmypmsaprofile_args typedOther = (getmypmsaprofile_args)other;

      lastComparison = Boolean.valueOf(isSetAssociateEmail()).compareTo(typedOther.isSetAssociateEmail());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetAssociateEmail()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.associateEmail, typedOther.associateEmail);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ASSOCIATE_EMAIL
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.associateEmail = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.associateEmail != null) {
        oprot.writeFieldBegin(ASSOCIATE_EMAIL_FIELD_DESC);
        oprot.writeString(this.associateEmail);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getmypmsaprofile_args(");
      boolean first = true;

      sb.append("associateEmail:");
      if (this.associateEmail == null) {
        sb.append("null");
      } else {
        sb.append(this.associateEmail);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getmypmsaprofile_result implements org.apache.thrift.TBase<getmypmsaprofile_result, getmypmsaprofile_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getmypmsaprofile_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);

    private Pmsa success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Pmsa.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getmypmsaprofile_result.class, metaDataMap);
    }

    public getmypmsaprofile_result() {
    }

    public getmypmsaprofile_result(
      Pmsa success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getmypmsaprofile_result(getmypmsaprofile_result other) {
      if (other.isSetSuccess()) {
        this.success = new Pmsa(other.success);
      }
    }

    public getmypmsaprofile_result deepCopy() {
      return new getmypmsaprofile_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public Pmsa getSuccess() {
      return this.success;
    }

    public void setSuccess(Pmsa success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Pmsa)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getmypmsaprofile_result)
        return this.equals((getmypmsaprofile_result)that);
      return false;
    }

    public boolean equals(getmypmsaprofile_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getmypmsaprofile_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getmypmsaprofile_result typedOther = (getmypmsaprofile_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
              this.success = new Pmsa();
              this.success.read(iprot);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        this.success.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getmypmsaprofile_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class creditUserWallet_args implements org.apache.thrift.TBase<creditUserWallet_args, creditUserWallet_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("creditUserWallet_args");

    private static final org.apache.thrift.protocol.TField USER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("userId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField AMOUNT_FIELD_DESC = new org.apache.thrift.protocol.TField("amount", org.apache.thrift.protocol.TType.I64, (short)2);
    private static final org.apache.thrift.protocol.TField CASH_BACK_FIELD_DESC = new org.apache.thrift.protocol.TField("cash_back", org.apache.thrift.protocol.TType.DOUBLE, (short)3);
    private static final org.apache.thrift.protocol.TField SHORT_DESC_FIELD_DESC = new org.apache.thrift.protocol.TField("shortDesc", org.apache.thrift.protocol.TType.STRING, (short)4);

    private long userId; // required
    private long amount; // required
    private double cash_back; // required
    private String shortDesc; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      USER_ID((short)1, "userId"),
      AMOUNT((short)2, "amount"),
      CASH_BACK((short)3, "cash_back"),
      SHORT_DESC((short)4, "shortDesc");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // USER_ID
            return USER_ID;
          case 2: // AMOUNT
            return AMOUNT;
          case 3: // CASH_BACK
            return CASH_BACK;
          case 4: // SHORT_DESC
            return SHORT_DESC;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __USERID_ISSET_ID = 0;
    private static final int __AMOUNT_ISSET_ID = 1;
    private static final int __CASH_BACK_ISSET_ID = 2;
    private BitSet __isset_bit_vector = new BitSet(3);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.USER_ID, new org.apache.thrift.meta_data.FieldMetaData("userId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.AMOUNT, new org.apache.thrift.meta_data.FieldMetaData("amount", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.CASH_BACK, new org.apache.thrift.meta_data.FieldMetaData("cash_back", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE)));
      tmpMap.put(_Fields.SHORT_DESC, new org.apache.thrift.meta_data.FieldMetaData("shortDesc", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(creditUserWallet_args.class, metaDataMap);
    }

    public creditUserWallet_args() {
    }

    public creditUserWallet_args(
      long userId,
      long amount,
      double cash_back,
      String shortDesc)
    {
      this();
      this.userId = userId;
      setUserIdIsSet(true);
      this.amount = amount;
      setAmountIsSet(true);
      this.cash_back = cash_back;
      setCash_backIsSet(true);
      this.shortDesc = shortDesc;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public creditUserWallet_args(creditUserWallet_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.userId = other.userId;
      this.amount = other.amount;
      this.cash_back = other.cash_back;
      if (other.isSetShortDesc()) {
        this.shortDesc = other.shortDesc;
      }
    }

    public creditUserWallet_args deepCopy() {
      return new creditUserWallet_args(this);
    }

    @Override
    public void clear() {
      setUserIdIsSet(false);
      this.userId = 0;
      setAmountIsSet(false);
      this.amount = 0;
      setCash_backIsSet(false);
      this.cash_back = 0.0;
      this.shortDesc = null;
    }

    public long getUserId() {
      return this.userId;
    }

    public void setUserId(long userId) {
      this.userId = userId;
      setUserIdIsSet(true);
    }

    public void unsetUserId() {
      __isset_bit_vector.clear(__USERID_ISSET_ID);
    }

    /** Returns true if field userId is set (has been assigned a value) and false otherwise */
    public boolean isSetUserId() {
      return __isset_bit_vector.get(__USERID_ISSET_ID);
    }

    public void setUserIdIsSet(boolean value) {
      __isset_bit_vector.set(__USERID_ISSET_ID, value);
    }

    public long getAmount() {
      return this.amount;
    }

    public void setAmount(long amount) {
      this.amount = amount;
      setAmountIsSet(true);
    }

    public void unsetAmount() {
      __isset_bit_vector.clear(__AMOUNT_ISSET_ID);
    }

    /** Returns true if field amount is set (has been assigned a value) and false otherwise */
    public boolean isSetAmount() {
      return __isset_bit_vector.get(__AMOUNT_ISSET_ID);
    }

    public void setAmountIsSet(boolean value) {
      __isset_bit_vector.set(__AMOUNT_ISSET_ID, value);
    }

    public double getCash_back() {
      return this.cash_back;
    }

    public void setCash_back(double cash_back) {
      this.cash_back = cash_back;
      setCash_backIsSet(true);
    }

    public void unsetCash_back() {
      __isset_bit_vector.clear(__CASH_BACK_ISSET_ID);
    }

    /** Returns true if field cash_back is set (has been assigned a value) and false otherwise */
    public boolean isSetCash_back() {
      return __isset_bit_vector.get(__CASH_BACK_ISSET_ID);
    }

    public void setCash_backIsSet(boolean value) {
      __isset_bit_vector.set(__CASH_BACK_ISSET_ID, value);
    }

    public String getShortDesc() {
      return this.shortDesc;
    }

    public void setShortDesc(String shortDesc) {
      this.shortDesc = shortDesc;
    }

    public void unsetShortDesc() {
      this.shortDesc = null;
    }

    /** Returns true if field shortDesc is set (has been assigned a value) and false otherwise */
    public boolean isSetShortDesc() {
      return this.shortDesc != null;
    }

    public void setShortDescIsSet(boolean value) {
      if (!value) {
        this.shortDesc = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case USER_ID:
        if (value == null) {
          unsetUserId();
        } else {
          setUserId((Long)value);
        }
        break;

      case AMOUNT:
        if (value == null) {
          unsetAmount();
        } else {
          setAmount((Long)value);
        }
        break;

      case CASH_BACK:
        if (value == null) {
          unsetCash_back();
        } else {
          setCash_back((Double)value);
        }
        break;

      case SHORT_DESC:
        if (value == null) {
          unsetShortDesc();
        } else {
          setShortDesc((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case USER_ID:
        return Long.valueOf(getUserId());

      case AMOUNT:
        return Long.valueOf(getAmount());

      case CASH_BACK:
        return Double.valueOf(getCash_back());

      case SHORT_DESC:
        return getShortDesc();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case USER_ID:
        return isSetUserId();
      case AMOUNT:
        return isSetAmount();
      case CASH_BACK:
        return isSetCash_back();
      case SHORT_DESC:
        return isSetShortDesc();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof creditUserWallet_args)
        return this.equals((creditUserWallet_args)that);
      return false;
    }

    public boolean equals(creditUserWallet_args that) {
      if (that == null)
        return false;

      boolean this_present_userId = true;
      boolean that_present_userId = true;
      if (this_present_userId || that_present_userId) {
        if (!(this_present_userId && that_present_userId))
          return false;
        if (this.userId != that.userId)
          return false;
      }

      boolean this_present_amount = true;
      boolean that_present_amount = true;
      if (this_present_amount || that_present_amount) {
        if (!(this_present_amount && that_present_amount))
          return false;
        if (this.amount != that.amount)
          return false;
      }

      boolean this_present_cash_back = true;
      boolean that_present_cash_back = true;
      if (this_present_cash_back || that_present_cash_back) {
        if (!(this_present_cash_back && that_present_cash_back))
          return false;
        if (this.cash_back != that.cash_back)
          return false;
      }

      boolean this_present_shortDesc = true && this.isSetShortDesc();
      boolean that_present_shortDesc = true && that.isSetShortDesc();
      if (this_present_shortDesc || that_present_shortDesc) {
        if (!(this_present_shortDesc && that_present_shortDesc))
          return false;
        if (!this.shortDesc.equals(that.shortDesc))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(creditUserWallet_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      creditUserWallet_args typedOther = (creditUserWallet_args)other;

      lastComparison = Boolean.valueOf(isSetUserId()).compareTo(typedOther.isSetUserId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetUserId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.userId, typedOther.userId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetAmount()).compareTo(typedOther.isSetAmount());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetAmount()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.amount, typedOther.amount);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetCash_back()).compareTo(typedOther.isSetCash_back());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetCash_back()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.cash_back, typedOther.cash_back);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetShortDesc()).compareTo(typedOther.isSetShortDesc());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetShortDesc()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.shortDesc, typedOther.shortDesc);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // USER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.userId = iprot.readI64();
              setUserIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // AMOUNT
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.amount = iprot.readI64();
              setAmountIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // CASH_BACK
            if (field.type == org.apache.thrift.protocol.TType.DOUBLE) {
              this.cash_back = iprot.readDouble();
              setCash_backIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 4: // SHORT_DESC
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.shortDesc = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(USER_ID_FIELD_DESC);
      oprot.writeI64(this.userId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(AMOUNT_FIELD_DESC);
      oprot.writeI64(this.amount);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(CASH_BACK_FIELD_DESC);
      oprot.writeDouble(this.cash_back);
      oprot.writeFieldEnd();
      if (this.shortDesc != null) {
        oprot.writeFieldBegin(SHORT_DESC_FIELD_DESC);
        oprot.writeString(this.shortDesc);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("creditUserWallet_args(");
      boolean first = true;

      sb.append("userId:");
      sb.append(this.userId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("amount:");
      sb.append(this.amount);
      first = false;
      if (!first) sb.append(", ");
      sb.append("cash_back:");
      sb.append(this.cash_back);
      first = false;
      if (!first) sb.append(", ");
      sb.append("shortDesc:");
      if (this.shortDesc == null) {
        sb.append("null");
      } else {
        sb.append(this.shortDesc);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class creditUserWallet_result implements org.apache.thrift.TBase<creditUserWallet_result, creditUserWallet_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("creditUserWallet_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);

    private boolean success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(creditUserWallet_result.class, metaDataMap);
    }

    public creditUserWallet_result() {
    }

    public creditUserWallet_result(
      boolean success)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public creditUserWallet_result(creditUserWallet_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
    }

    public creditUserWallet_result deepCopy() {
      return new creditUserWallet_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = false;
    }

    public boolean isSuccess() {
      return this.success;
    }

    public void setSuccess(boolean success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Boolean.valueOf(isSuccess());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof creditUserWallet_result)
        return this.equals((creditUserWallet_result)that);
      return false;
    }

    public boolean equals(creditUserWallet_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(creditUserWallet_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      creditUserWallet_result typedOther = (creditUserWallet_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.success = iprot.readBool();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBool(this.success);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("creditUserWallet_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getPaginatedRechargeOrders_args implements org.apache.thrift.TBase<getPaginatedRechargeOrders_args, getPaginatedRechargeOrders_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getPaginatedRechargeOrders_args");

    private static final org.apache.thrift.protocol.TField USER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("userId", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField OFFSET_FIELD_DESC = new org.apache.thrift.protocol.TField("offset", org.apache.thrift.protocol.TType.I32, (short)2);
    private static final org.apache.thrift.protocol.TField LIMIT_FIELD_DESC = new org.apache.thrift.protocol.TField("limit", org.apache.thrift.protocol.TType.I32, (short)3);

    private long userId; // required
    private int offset; // required
    private int limit; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      USER_ID((short)1, "userId"),
      OFFSET((short)2, "offset"),
      LIMIT((short)3, "limit");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // USER_ID
            return USER_ID;
          case 2: // OFFSET
            return OFFSET;
          case 3: // LIMIT
            return LIMIT;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __USERID_ISSET_ID = 0;
    private static final int __OFFSET_ISSET_ID = 1;
    private static final int __LIMIT_ISSET_ID = 2;
    private BitSet __isset_bit_vector = new BitSet(3);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.USER_ID, new org.apache.thrift.meta_data.FieldMetaData("userId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.OFFSET, new org.apache.thrift.meta_data.FieldMetaData("offset", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
      tmpMap.put(_Fields.LIMIT, new org.apache.thrift.meta_data.FieldMetaData("limit", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getPaginatedRechargeOrders_args.class, metaDataMap);
    }

    public getPaginatedRechargeOrders_args() {
    }

    public getPaginatedRechargeOrders_args(
      long userId,
      int offset,
      int limit)
    {
      this();
      this.userId = userId;
      setUserIdIsSet(true);
      this.offset = offset;
      setOffsetIsSet(true);
      this.limit = limit;
      setLimitIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getPaginatedRechargeOrders_args(getPaginatedRechargeOrders_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.userId = other.userId;
      this.offset = other.offset;
      this.limit = other.limit;
    }

    public getPaginatedRechargeOrders_args deepCopy() {
      return new getPaginatedRechargeOrders_args(this);
    }

    @Override
    public void clear() {
      setUserIdIsSet(false);
      this.userId = 0;
      setOffsetIsSet(false);
      this.offset = 0;
      setLimitIsSet(false);
      this.limit = 0;
    }

    public long getUserId() {
      return this.userId;
    }

    public void setUserId(long userId) {
      this.userId = userId;
      setUserIdIsSet(true);
    }

    public void unsetUserId() {
      __isset_bit_vector.clear(__USERID_ISSET_ID);
    }

    /** Returns true if field userId is set (has been assigned a value) and false otherwise */
    public boolean isSetUserId() {
      return __isset_bit_vector.get(__USERID_ISSET_ID);
    }

    public void setUserIdIsSet(boolean value) {
      __isset_bit_vector.set(__USERID_ISSET_ID, value);
    }

    public int getOffset() {
      return this.offset;
    }

    public void setOffset(int offset) {
      this.offset = offset;
      setOffsetIsSet(true);
    }

    public void unsetOffset() {
      __isset_bit_vector.clear(__OFFSET_ISSET_ID);
    }

    /** Returns true if field offset is set (has been assigned a value) and false otherwise */
    public boolean isSetOffset() {
      return __isset_bit_vector.get(__OFFSET_ISSET_ID);
    }

    public void setOffsetIsSet(boolean value) {
      __isset_bit_vector.set(__OFFSET_ISSET_ID, value);
    }

    public int getLimit() {
      return this.limit;
    }

    public void setLimit(int limit) {
      this.limit = limit;
      setLimitIsSet(true);
    }

    public void unsetLimit() {
      __isset_bit_vector.clear(__LIMIT_ISSET_ID);
    }

    /** Returns true if field limit is set (has been assigned a value) and false otherwise */
    public boolean isSetLimit() {
      return __isset_bit_vector.get(__LIMIT_ISSET_ID);
    }

    public void setLimitIsSet(boolean value) {
      __isset_bit_vector.set(__LIMIT_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case USER_ID:
        if (value == null) {
          unsetUserId();
        } else {
          setUserId((Long)value);
        }
        break;

      case OFFSET:
        if (value == null) {
          unsetOffset();
        } else {
          setOffset((Integer)value);
        }
        break;

      case LIMIT:
        if (value == null) {
          unsetLimit();
        } else {
          setLimit((Integer)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case USER_ID:
        return Long.valueOf(getUserId());

      case OFFSET:
        return Integer.valueOf(getOffset());

      case LIMIT:
        return Integer.valueOf(getLimit());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case USER_ID:
        return isSetUserId();
      case OFFSET:
        return isSetOffset();
      case LIMIT:
        return isSetLimit();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getPaginatedRechargeOrders_args)
        return this.equals((getPaginatedRechargeOrders_args)that);
      return false;
    }

    public boolean equals(getPaginatedRechargeOrders_args that) {
      if (that == null)
        return false;

      boolean this_present_userId = true;
      boolean that_present_userId = true;
      if (this_present_userId || that_present_userId) {
        if (!(this_present_userId && that_present_userId))
          return false;
        if (this.userId != that.userId)
          return false;
      }

      boolean this_present_offset = true;
      boolean that_present_offset = true;
      if (this_present_offset || that_present_offset) {
        if (!(this_present_offset && that_present_offset))
          return false;
        if (this.offset != that.offset)
          return false;
      }

      boolean this_present_limit = true;
      boolean that_present_limit = true;
      if (this_present_limit || that_present_limit) {
        if (!(this_present_limit && that_present_limit))
          return false;
        if (this.limit != that.limit)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getPaginatedRechargeOrders_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getPaginatedRechargeOrders_args typedOther = (getPaginatedRechargeOrders_args)other;

      lastComparison = Boolean.valueOf(isSetUserId()).compareTo(typedOther.isSetUserId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetUserId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.userId, typedOther.userId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetOffset()).compareTo(typedOther.isSetOffset());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetOffset()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.offset, typedOther.offset);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetLimit()).compareTo(typedOther.isSetLimit());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetLimit()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.limit, typedOther.limit);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // USER_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.userId = iprot.readI64();
              setUserIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // OFFSET
            if (field.type == org.apache.thrift.protocol.TType.I32) {
              this.offset = iprot.readI32();
              setOffsetIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // LIMIT
            if (field.type == org.apache.thrift.protocol.TType.I32) {
              this.limit = iprot.readI32();
              setLimitIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(USER_ID_FIELD_DESC);
      oprot.writeI64(this.userId);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(OFFSET_FIELD_DESC);
      oprot.writeI32(this.offset);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(LIMIT_FIELD_DESC);
      oprot.writeI32(this.limit);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getPaginatedRechargeOrders_args(");
      boolean first = true;

      sb.append("userId:");
      sb.append(this.userId);
      first = false;
      if (!first) sb.append(", ");
      sb.append("offset:");
      sb.append(this.offset);
      first = false;
      if (!first) sb.append(", ");
      sb.append("limit:");
      sb.append(this.limit);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getPaginatedRechargeOrders_result implements org.apache.thrift.TBase<getPaginatedRechargeOrders_result, getPaginatedRechargeOrders_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getPaginatedRechargeOrders_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);

    private List<RechargeOrder> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, RechargeOrder.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getPaginatedRechargeOrders_result.class, metaDataMap);
    }

    public getPaginatedRechargeOrders_result() {
    }

    public getPaginatedRechargeOrders_result(
      List<RechargeOrder> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getPaginatedRechargeOrders_result(getPaginatedRechargeOrders_result other) {
      if (other.isSetSuccess()) {
        List<RechargeOrder> __this__success = new ArrayList<RechargeOrder>();
        for (RechargeOrder other_element : other.success) {
          __this__success.add(new RechargeOrder(other_element));
        }
        this.success = __this__success;
      }
    }

    public getPaginatedRechargeOrders_result deepCopy() {
      return new getPaginatedRechargeOrders_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<RechargeOrder> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(RechargeOrder elem) {
      if (this.success == null) {
        this.success = new ArrayList<RechargeOrder>();
      }
      this.success.add(elem);
    }

    public List<RechargeOrder> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<RechargeOrder> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<RechargeOrder>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getPaginatedRechargeOrders_result)
        return this.equals((getPaginatedRechargeOrders_result)that);
      return false;
    }

    public boolean equals(getPaginatedRechargeOrders_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getPaginatedRechargeOrders_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getPaginatedRechargeOrders_result typedOther = (getPaginatedRechargeOrders_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list877 = iprot.readListBegin();
                this.success = new ArrayList<RechargeOrder>(_list877.size);
                for (int _i878 = 0; _i878 < _list877.size; ++_i878)
                {
                  RechargeOrder _elem879; // required
                  _elem879 = new RechargeOrder();
                  _elem879.read(iprot);
                  this.success.add(_elem879);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (RechargeOrder _iter880 : this.success)
          {
            _iter880.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getPaginatedRechargeOrders_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class markOrderForRegisteredGstInvoice_args implements org.apache.thrift.TBase<markOrderForRegisteredGstInvoice_args, markOrderForRegisteredGstInvoice_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("markOrderForRegisteredGstInvoice_args");

    private static final org.apache.thrift.protocol.TField TRANASCTION_IDS_FIELD_DESC = new org.apache.thrift.protocol.TField("tranasction_ids", org.apache.thrift.protocol.TType.LIST, (short)-1);

    private List<Long> tranasction_ids; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      TRANASCTION_IDS((short)-1, "tranasction_ids");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case -1: // TRANASCTION_IDS
            return TRANASCTION_IDS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.TRANASCTION_IDS, new org.apache.thrift.meta_data.FieldMetaData("tranasction_ids", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(markOrderForRegisteredGstInvoice_args.class, metaDataMap);
    }

    public markOrderForRegisteredGstInvoice_args() {
    }

    public markOrderForRegisteredGstInvoice_args(
      List<Long> tranasction_ids)
    {
      this();
      this.tranasction_ids = tranasction_ids;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public markOrderForRegisteredGstInvoice_args(markOrderForRegisteredGstInvoice_args other) {
      if (other.isSetTranasction_ids()) {
        List<Long> __this__tranasction_ids = new ArrayList<Long>();
        for (Long other_element : other.tranasction_ids) {
          __this__tranasction_ids.add(other_element);
        }
        this.tranasction_ids = __this__tranasction_ids;
      }
    }

    public markOrderForRegisteredGstInvoice_args deepCopy() {
      return new markOrderForRegisteredGstInvoice_args(this);
    }

    @Override
    public void clear() {
      this.tranasction_ids = null;
    }

    public int getTranasction_idsSize() {
      return (this.tranasction_ids == null) ? 0 : this.tranasction_ids.size();
    }

    public java.util.Iterator<Long> getTranasction_idsIterator() {
      return (this.tranasction_ids == null) ? null : this.tranasction_ids.iterator();
    }

    public void addToTranasction_ids(long elem) {
      if (this.tranasction_ids == null) {
        this.tranasction_ids = new ArrayList<Long>();
      }
      this.tranasction_ids.add(elem);
    }

    public List<Long> getTranasction_ids() {
      return this.tranasction_ids;
    }

    public void setTranasction_ids(List<Long> tranasction_ids) {
      this.tranasction_ids = tranasction_ids;
    }

    public void unsetTranasction_ids() {
      this.tranasction_ids = null;
    }

    /** Returns true if field tranasction_ids is set (has been assigned a value) and false otherwise */
    public boolean isSetTranasction_ids() {
      return this.tranasction_ids != null;
    }

    public void setTranasction_idsIsSet(boolean value) {
      if (!value) {
        this.tranasction_ids = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case TRANASCTION_IDS:
        if (value == null) {
          unsetTranasction_ids();
        } else {
          setTranasction_ids((List<Long>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case TRANASCTION_IDS:
        return getTranasction_ids();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case TRANASCTION_IDS:
        return isSetTranasction_ids();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof markOrderForRegisteredGstInvoice_args)
        return this.equals((markOrderForRegisteredGstInvoice_args)that);
      return false;
    }

    public boolean equals(markOrderForRegisteredGstInvoice_args that) {
      if (that == null)
        return false;

      boolean this_present_tranasction_ids = true && this.isSetTranasction_ids();
      boolean that_present_tranasction_ids = true && that.isSetTranasction_ids();
      if (this_present_tranasction_ids || that_present_tranasction_ids) {
        if (!(this_present_tranasction_ids && that_present_tranasction_ids))
          return false;
        if (!this.tranasction_ids.equals(that.tranasction_ids))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(markOrderForRegisteredGstInvoice_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      markOrderForRegisteredGstInvoice_args typedOther = (markOrderForRegisteredGstInvoice_args)other;

      lastComparison = Boolean.valueOf(isSetTranasction_ids()).compareTo(typedOther.isSetTranasction_ids());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetTranasction_ids()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.tranasction_ids, typedOther.tranasction_ids);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case -1: // TRANASCTION_IDS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list881 = iprot.readListBegin();
                this.tranasction_ids = new ArrayList<Long>(_list881.size);
                for (int _i882 = 0; _i882 < _list881.size; ++_i882)
                {
                  long _elem883; // required
                  _elem883 = iprot.readI64();
                  this.tranasction_ids.add(_elem883);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.tranasction_ids != null) {
        oprot.writeFieldBegin(TRANASCTION_IDS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, this.tranasction_ids.size()));
          for (long _iter884 : this.tranasction_ids)
          {
            oprot.writeI64(_iter884);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("markOrderForRegisteredGstInvoice_args(");
      boolean first = true;

      sb.append("tranasction_ids:");
      if (this.tranasction_ids == null) {
        sb.append("null");
      } else {
        sb.append(this.tranasction_ids);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class markOrderForRegisteredGstInvoice_result implements org.apache.thrift.TBase<markOrderForRegisteredGstInvoice_result, markOrderForRegisteredGstInvoice_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("markOrderForRegisteredGstInvoice_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);

    private boolean success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(markOrderForRegisteredGstInvoice_result.class, metaDataMap);
    }

    public markOrderForRegisteredGstInvoice_result() {
    }

    public markOrderForRegisteredGstInvoice_result(
      boolean success)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public markOrderForRegisteredGstInvoice_result(markOrderForRegisteredGstInvoice_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
    }

    public markOrderForRegisteredGstInvoice_result deepCopy() {
      return new markOrderForRegisteredGstInvoice_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = false;
    }

    public boolean isSuccess() {
      return this.success;
    }

    public void setSuccess(boolean success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Boolean.valueOf(isSuccess());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof markOrderForRegisteredGstInvoice_result)
        return this.equals((markOrderForRegisteredGstInvoice_result)that);
      return false;
    }

    public boolean equals(markOrderForRegisteredGstInvoice_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(markOrderForRegisteredGstInvoice_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      markOrderForRegisteredGstInvoice_result typedOther = (markOrderForRegisteredGstInvoice_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.success = iprot.readBool();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBool(this.success);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("markOrderForRegisteredGstInvoice_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class isShipmentCod_args implements org.apache.thrift.TBase<isShipmentCod_args, isShipmentCod_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("isShipmentCod_args");

    private static final org.apache.thrift.protocol.TField LOGISTICS_TRANSACTION_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("logisticsTransactionId", org.apache.thrift.protocol.TType.STRING, (short)1);

    private String logisticsTransactionId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      LOGISTICS_TRANSACTION_ID((short)1, "logisticsTransactionId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // LOGISTICS_TRANSACTION_ID
            return LOGISTICS_TRANSACTION_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.LOGISTICS_TRANSACTION_ID, new org.apache.thrift.meta_data.FieldMetaData("logisticsTransactionId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(isShipmentCod_args.class, metaDataMap);
    }

    public isShipmentCod_args() {
    }

    public isShipmentCod_args(
      String logisticsTransactionId)
    {
      this();
      this.logisticsTransactionId = logisticsTransactionId;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public isShipmentCod_args(isShipmentCod_args other) {
      if (other.isSetLogisticsTransactionId()) {
        this.logisticsTransactionId = other.logisticsTransactionId;
      }
    }

    public isShipmentCod_args deepCopy() {
      return new isShipmentCod_args(this);
    }

    @Override
    public void clear() {
      this.logisticsTransactionId = null;
    }

    public String getLogisticsTransactionId() {
      return this.logisticsTransactionId;
    }

    public void setLogisticsTransactionId(String logisticsTransactionId) {
      this.logisticsTransactionId = logisticsTransactionId;
    }

    public void unsetLogisticsTransactionId() {
      this.logisticsTransactionId = null;
    }

    /** Returns true if field logisticsTransactionId is set (has been assigned a value) and false otherwise */
    public boolean isSetLogisticsTransactionId() {
      return this.logisticsTransactionId != null;
    }

    public void setLogisticsTransactionIdIsSet(boolean value) {
      if (!value) {
        this.logisticsTransactionId = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case LOGISTICS_TRANSACTION_ID:
        if (value == null) {
          unsetLogisticsTransactionId();
        } else {
          setLogisticsTransactionId((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case LOGISTICS_TRANSACTION_ID:
        return getLogisticsTransactionId();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case LOGISTICS_TRANSACTION_ID:
        return isSetLogisticsTransactionId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof isShipmentCod_args)
        return this.equals((isShipmentCod_args)that);
      return false;
    }

    public boolean equals(isShipmentCod_args that) {
      if (that == null)
        return false;

      boolean this_present_logisticsTransactionId = true && this.isSetLogisticsTransactionId();
      boolean that_present_logisticsTransactionId = true && that.isSetLogisticsTransactionId();
      if (this_present_logisticsTransactionId || that_present_logisticsTransactionId) {
        if (!(this_present_logisticsTransactionId && that_present_logisticsTransactionId))
          return false;
        if (!this.logisticsTransactionId.equals(that.logisticsTransactionId))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(isShipmentCod_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      isShipmentCod_args typedOther = (isShipmentCod_args)other;

      lastComparison = Boolean.valueOf(isSetLogisticsTransactionId()).compareTo(typedOther.isSetLogisticsTransactionId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetLogisticsTransactionId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.logisticsTransactionId, typedOther.logisticsTransactionId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // LOGISTICS_TRANSACTION_ID
            if (field.type == org.apache.thrift.protocol.TType.STRING) {
              this.logisticsTransactionId = iprot.readString();
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (this.logisticsTransactionId != null) {
        oprot.writeFieldBegin(LOGISTICS_TRANSACTION_ID_FIELD_DESC);
        oprot.writeString(this.logisticsTransactionId);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("isShipmentCod_args(");
      boolean first = true;

      sb.append("logisticsTransactionId:");
      if (this.logisticsTransactionId == null) {
        sb.append("null");
      } else {
        sb.append(this.logisticsTransactionId);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class isShipmentCod_result implements org.apache.thrift.TBase<isShipmentCod_result, isShipmentCod_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("isShipmentCod_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);

    private boolean success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(isShipmentCod_result.class, metaDataMap);
    }

    public isShipmentCod_result() {
    }

    public isShipmentCod_result(
      boolean success)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public isShipmentCod_result(isShipmentCod_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
    }

    public isShipmentCod_result deepCopy() {
      return new isShipmentCod_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = false;
    }

    public boolean isSuccess() {
      return this.success;
    }

    public void setSuccess(boolean success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Boolean.valueOf(isSuccess());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof isShipmentCod_result)
        return this.equals((isShipmentCod_result)that);
      return false;
    }

    public boolean equals(isShipmentCod_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(isShipmentCod_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      isShipmentCod_result typedOther = (isShipmentCod_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.success = iprot.readBool();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBool(this.success);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("isShipmentCod_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getInTransitOrdersOnDate_args implements org.apache.thrift.TBase<getInTransitOrdersOnDate_args, getInTransitOrdersOnDate_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getInTransitOrdersOnDate_args");

    private static final org.apache.thrift.protocol.TField CLOSING_DATE_FIELD_DESC = new org.apache.thrift.protocol.TField("closingDate", org.apache.thrift.protocol.TType.I64, (short)1);

    private long closingDate; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      CLOSING_DATE((short)1, "closingDate");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // CLOSING_DATE
            return CLOSING_DATE;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __CLOSINGDATE_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.CLOSING_DATE, new org.apache.thrift.meta_data.FieldMetaData("closingDate", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getInTransitOrdersOnDate_args.class, metaDataMap);
    }

    public getInTransitOrdersOnDate_args() {
    }

    public getInTransitOrdersOnDate_args(
      long closingDate)
    {
      this();
      this.closingDate = closingDate;
      setClosingDateIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getInTransitOrdersOnDate_args(getInTransitOrdersOnDate_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.closingDate = other.closingDate;
    }

    public getInTransitOrdersOnDate_args deepCopy() {
      return new getInTransitOrdersOnDate_args(this);
    }

    @Override
    public void clear() {
      setClosingDateIsSet(false);
      this.closingDate = 0;
    }

    public long getClosingDate() {
      return this.closingDate;
    }

    public void setClosingDate(long closingDate) {
      this.closingDate = closingDate;
      setClosingDateIsSet(true);
    }

    public void unsetClosingDate() {
      __isset_bit_vector.clear(__CLOSINGDATE_ISSET_ID);
    }

    /** Returns true if field closingDate is set (has been assigned a value) and false otherwise */
    public boolean isSetClosingDate() {
      return __isset_bit_vector.get(__CLOSINGDATE_ISSET_ID);
    }

    public void setClosingDateIsSet(boolean value) {
      __isset_bit_vector.set(__CLOSINGDATE_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case CLOSING_DATE:
        if (value == null) {
          unsetClosingDate();
        } else {
          setClosingDate((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case CLOSING_DATE:
        return Long.valueOf(getClosingDate());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case CLOSING_DATE:
        return isSetClosingDate();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getInTransitOrdersOnDate_args)
        return this.equals((getInTransitOrdersOnDate_args)that);
      return false;
    }

    public boolean equals(getInTransitOrdersOnDate_args that) {
      if (that == null)
        return false;

      boolean this_present_closingDate = true;
      boolean that_present_closingDate = true;
      if (this_present_closingDate || that_present_closingDate) {
        if (!(this_present_closingDate && that_present_closingDate))
          return false;
        if (this.closingDate != that.closingDate)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getInTransitOrdersOnDate_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getInTransitOrdersOnDate_args typedOther = (getInTransitOrdersOnDate_args)other;

      lastComparison = Boolean.valueOf(isSetClosingDate()).compareTo(typedOther.isSetClosingDate());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetClosingDate()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.closingDate, typedOther.closingDate);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // CLOSING_DATE
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.closingDate = iprot.readI64();
              setClosingDateIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(CLOSING_DATE_FIELD_DESC);
      oprot.writeI64(this.closingDate);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getInTransitOrdersOnDate_args(");
      boolean first = true;

      sb.append("closingDate:");
      sb.append(this.closingDate);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getInTransitOrdersOnDate_result implements org.apache.thrift.TBase<getInTransitOrdersOnDate_result, getInTransitOrdersOnDate_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getInTransitOrdersOnDate_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);

    private List<Order> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Order.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getInTransitOrdersOnDate_result.class, metaDataMap);
    }

    public getInTransitOrdersOnDate_result() {
    }

    public getInTransitOrdersOnDate_result(
      List<Order> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getInTransitOrdersOnDate_result(getInTransitOrdersOnDate_result other) {
      if (other.isSetSuccess()) {
        List<Order> __this__success = new ArrayList<Order>();
        for (Order other_element : other.success) {
          __this__success.add(new Order(other_element));
        }
        this.success = __this__success;
      }
    }

    public getInTransitOrdersOnDate_result deepCopy() {
      return new getInTransitOrdersOnDate_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<Order> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(Order elem) {
      if (this.success == null) {
        this.success = new ArrayList<Order>();
      }
      this.success.add(elem);
    }

    public List<Order> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<Order> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<Order>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getInTransitOrdersOnDate_result)
        return this.equals((getInTransitOrdersOnDate_result)that);
      return false;
    }

    public boolean equals(getInTransitOrdersOnDate_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getInTransitOrdersOnDate_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getInTransitOrdersOnDate_result typedOther = (getInTransitOrdersOnDate_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list885 = iprot.readListBegin();
                this.success = new ArrayList<Order>(_list885.size);
                for (int _i886 = 0; _i886 < _list885.size; ++_i886)
                {
                  Order _elem887; // required
                  _elem887 = new Order();
                  _elem887.read(iprot);
                  this.success.add(_elem887);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (Order _iter888 : this.success)
          {
            _iter888.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getInTransitOrdersOnDate_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getInTransitOrdersOnDateByItemId_args implements org.apache.thrift.TBase<getInTransitOrdersOnDateByItemId_args, getInTransitOrdersOnDateByItemId_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getInTransitOrdersOnDateByItemId_args");

    private static final org.apache.thrift.protocol.TField CLOSING_DATE_FIELD_DESC = new org.apache.thrift.protocol.TField("closingDate", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField ITEM_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("itemId", org.apache.thrift.protocol.TType.I64, (short)2);

    private long closingDate; // required
    private long itemId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      CLOSING_DATE((short)1, "closingDate"),
      ITEM_ID((short)2, "itemId");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // CLOSING_DATE
            return CLOSING_DATE;
          case 2: // ITEM_ID
            return ITEM_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __CLOSINGDATE_ISSET_ID = 0;
    private static final int __ITEMID_ISSET_ID = 1;
    private BitSet __isset_bit_vector = new BitSet(2);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.CLOSING_DATE, new org.apache.thrift.meta_data.FieldMetaData("closingDate", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.ITEM_ID, new org.apache.thrift.meta_data.FieldMetaData("itemId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getInTransitOrdersOnDateByItemId_args.class, metaDataMap);
    }

    public getInTransitOrdersOnDateByItemId_args() {
    }

    public getInTransitOrdersOnDateByItemId_args(
      long closingDate,
      long itemId)
    {
      this();
      this.closingDate = closingDate;
      setClosingDateIsSet(true);
      this.itemId = itemId;
      setItemIdIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getInTransitOrdersOnDateByItemId_args(getInTransitOrdersOnDateByItemId_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.closingDate = other.closingDate;
      this.itemId = other.itemId;
    }

    public getInTransitOrdersOnDateByItemId_args deepCopy() {
      return new getInTransitOrdersOnDateByItemId_args(this);
    }

    @Override
    public void clear() {
      setClosingDateIsSet(false);
      this.closingDate = 0;
      setItemIdIsSet(false);
      this.itemId = 0;
    }

    public long getClosingDate() {
      return this.closingDate;
    }

    public void setClosingDate(long closingDate) {
      this.closingDate = closingDate;
      setClosingDateIsSet(true);
    }

    public void unsetClosingDate() {
      __isset_bit_vector.clear(__CLOSINGDATE_ISSET_ID);
    }

    /** Returns true if field closingDate is set (has been assigned a value) and false otherwise */
    public boolean isSetClosingDate() {
      return __isset_bit_vector.get(__CLOSINGDATE_ISSET_ID);
    }

    public void setClosingDateIsSet(boolean value) {
      __isset_bit_vector.set(__CLOSINGDATE_ISSET_ID, value);
    }

    public long getItemId() {
      return this.itemId;
    }

    public void setItemId(long itemId) {
      this.itemId = itemId;
      setItemIdIsSet(true);
    }

    public void unsetItemId() {
      __isset_bit_vector.clear(__ITEMID_ISSET_ID);
    }

    /** Returns true if field itemId is set (has been assigned a value) and false otherwise */
    public boolean isSetItemId() {
      return __isset_bit_vector.get(__ITEMID_ISSET_ID);
    }

    public void setItemIdIsSet(boolean value) {
      __isset_bit_vector.set(__ITEMID_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case CLOSING_DATE:
        if (value == null) {
          unsetClosingDate();
        } else {
          setClosingDate((Long)value);
        }
        break;

      case ITEM_ID:
        if (value == null) {
          unsetItemId();
        } else {
          setItemId((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case CLOSING_DATE:
        return Long.valueOf(getClosingDate());

      case ITEM_ID:
        return Long.valueOf(getItemId());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case CLOSING_DATE:
        return isSetClosingDate();
      case ITEM_ID:
        return isSetItemId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getInTransitOrdersOnDateByItemId_args)
        return this.equals((getInTransitOrdersOnDateByItemId_args)that);
      return false;
    }

    public boolean equals(getInTransitOrdersOnDateByItemId_args that) {
      if (that == null)
        return false;

      boolean this_present_closingDate = true;
      boolean that_present_closingDate = true;
      if (this_present_closingDate || that_present_closingDate) {
        if (!(this_present_closingDate && that_present_closingDate))
          return false;
        if (this.closingDate != that.closingDate)
          return false;
      }

      boolean this_present_itemId = true;
      boolean that_present_itemId = true;
      if (this_present_itemId || that_present_itemId) {
        if (!(this_present_itemId && that_present_itemId))
          return false;
        if (this.itemId != that.itemId)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getInTransitOrdersOnDateByItemId_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getInTransitOrdersOnDateByItemId_args typedOther = (getInTransitOrdersOnDateByItemId_args)other;

      lastComparison = Boolean.valueOf(isSetClosingDate()).compareTo(typedOther.isSetClosingDate());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetClosingDate()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.closingDate, typedOther.closingDate);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetItemId()).compareTo(typedOther.isSetItemId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetItemId()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.itemId, typedOther.itemId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // CLOSING_DATE
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.closingDate = iprot.readI64();
              setClosingDateIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // ITEM_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.itemId = iprot.readI64();
              setItemIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(CLOSING_DATE_FIELD_DESC);
      oprot.writeI64(this.closingDate);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(ITEM_ID_FIELD_DESC);
      oprot.writeI64(this.itemId);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getInTransitOrdersOnDateByItemId_args(");
      boolean first = true;

      sb.append("closingDate:");
      sb.append(this.closingDate);
      first = false;
      if (!first) sb.append(", ");
      sb.append("itemId:");
      sb.append(this.itemId);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class getInTransitOrdersOnDateByItemId_result implements org.apache.thrift.TBase<getInTransitOrdersOnDateByItemId_result, getInTransitOrdersOnDateByItemId_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getInTransitOrdersOnDateByItemId_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);

    private List<Order> success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Order.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getInTransitOrdersOnDateByItemId_result.class, metaDataMap);
    }

    public getInTransitOrdersOnDateByItemId_result() {
    }

    public getInTransitOrdersOnDateByItemId_result(
      List<Order> success)
    {
      this();
      this.success = success;
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public getInTransitOrdersOnDateByItemId_result(getInTransitOrdersOnDateByItemId_result other) {
      if (other.isSetSuccess()) {
        List<Order> __this__success = new ArrayList<Order>();
        for (Order other_element : other.success) {
          __this__success.add(new Order(other_element));
        }
        this.success = __this__success;
      }
    }

    public getInTransitOrdersOnDateByItemId_result deepCopy() {
      return new getInTransitOrdersOnDateByItemId_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator<Order> getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(Order elem) {
      if (this.success == null) {
        this.success = new ArrayList<Order>();
      }
      this.success.add(elem);
    }

    public List<Order> getSuccess() {
      return this.success;
    }

    public void setSuccess(List<Order> success) {
      this.success = success;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List<Order>)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getInTransitOrdersOnDateByItemId_result)
        return this.equals((getInTransitOrdersOnDateByItemId_result)that);
      return false;
    }

    public boolean equals(getInTransitOrdersOnDateByItemId_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(getInTransitOrdersOnDateByItemId_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      getInTransitOrdersOnDateByItemId_result typedOther = (getInTransitOrdersOnDateByItemId_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list889 = iprot.readListBegin();
                this.success = new ArrayList<Order>(_list889.size);
                for (int _i890 = 0; _i890 < _list889.size; ++_i890)
                {
                  Order _elem891; // required
                  _elem891 = new Order();
                  _elem891.read(iprot);
                  this.success.add(_elem891);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size()));
          for (Order _iter892 : this.success)
          {
            _iter892.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getInTransitOrdersOnDateByItemId_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class addPriceDrop_args implements org.apache.thrift.TBase<addPriceDrop_args, addPriceDrop_args._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addPriceDrop_args");

    private static final org.apache.thrift.protocol.TField ITEM_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("item_id", org.apache.thrift.protocol.TType.I64, (short)1);
    private static final org.apache.thrift.protocol.TField IMEIS_FIELD_DESC = new org.apache.thrift.protocol.TField("imeis", org.apache.thrift.protocol.TType.LIST, (short)2);
    private static final org.apache.thrift.protocol.TField AMOUNT_FIELD_DESC = new org.apache.thrift.protocol.TField("amount", org.apache.thrift.protocol.TType.DOUBLE, (short)3);
    private static final org.apache.thrift.protocol.TField AFFECTED_ON_FIELD_DESC = new org.apache.thrift.protocol.TField("affected_on", org.apache.thrift.protocol.TType.I64, (short)4);

    private long item_id; // required
    private List<String> imeis; // required
    private double amount; // required
    private long affected_on; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      ITEM_ID((short)1, "item_id"),
      IMEIS((short)2, "imeis"),
      AMOUNT((short)3, "amount"),
      AFFECTED_ON((short)4, "affected_on");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // ITEM_ID
            return ITEM_ID;
          case 2: // IMEIS
            return IMEIS;
          case 3: // AMOUNT
            return AMOUNT;
          case 4: // AFFECTED_ON
            return AFFECTED_ON;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __ITEM_ID_ISSET_ID = 0;
    private static final int __AMOUNT_ISSET_ID = 1;
    private static final int __AFFECTED_ON_ISSET_ID = 2;
    private BitSet __isset_bit_vector = new BitSet(3);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.ITEM_ID, new org.apache.thrift.meta_data.FieldMetaData("item_id", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      tmpMap.put(_Fields.IMEIS, new org.apache.thrift.meta_data.FieldMetaData("imeis", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
      tmpMap.put(_Fields.AMOUNT, new org.apache.thrift.meta_data.FieldMetaData("amount", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE)));
      tmpMap.put(_Fields.AFFECTED_ON, new org.apache.thrift.meta_data.FieldMetaData("affected_on", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(addPriceDrop_args.class, metaDataMap);
    }

    public addPriceDrop_args() {
    }

    public addPriceDrop_args(
      long item_id,
      List<String> imeis,
      double amount,
      long affected_on)
    {
      this();
      this.item_id = item_id;
      setItem_idIsSet(true);
      this.imeis = imeis;
      this.amount = amount;
      setAmountIsSet(true);
      this.affected_on = affected_on;
      setAffected_onIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public addPriceDrop_args(addPriceDrop_args other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.item_id = other.item_id;
      if (other.isSetImeis()) {
        List<String> __this__imeis = new ArrayList<String>();
        for (String other_element : other.imeis) {
          __this__imeis.add(other_element);
        }
        this.imeis = __this__imeis;
      }
      this.amount = other.amount;
      this.affected_on = other.affected_on;
    }

    public addPriceDrop_args deepCopy() {
      return new addPriceDrop_args(this);
    }

    @Override
    public void clear() {
      setItem_idIsSet(false);
      this.item_id = 0;
      this.imeis = null;
      setAmountIsSet(false);
      this.amount = 0.0;
      setAffected_onIsSet(false);
      this.affected_on = 0;
    }

    public long getItem_id() {
      return this.item_id;
    }

    public void setItem_id(long item_id) {
      this.item_id = item_id;
      setItem_idIsSet(true);
    }

    public void unsetItem_id() {
      __isset_bit_vector.clear(__ITEM_ID_ISSET_ID);
    }

    /** Returns true if field item_id is set (has been assigned a value) and false otherwise */
    public boolean isSetItem_id() {
      return __isset_bit_vector.get(__ITEM_ID_ISSET_ID);
    }

    public void setItem_idIsSet(boolean value) {
      __isset_bit_vector.set(__ITEM_ID_ISSET_ID, value);
    }

    public int getImeisSize() {
      return (this.imeis == null) ? 0 : this.imeis.size();
    }

    public java.util.Iterator<String> getImeisIterator() {
      return (this.imeis == null) ? null : this.imeis.iterator();
    }

    public void addToImeis(String elem) {
      if (this.imeis == null) {
        this.imeis = new ArrayList<String>();
      }
      this.imeis.add(elem);
    }

    public List<String> getImeis() {
      return this.imeis;
    }

    public void setImeis(List<String> imeis) {
      this.imeis = imeis;
    }

    public void unsetImeis() {
      this.imeis = null;
    }

    /** Returns true if field imeis is set (has been assigned a value) and false otherwise */
    public boolean isSetImeis() {
      return this.imeis != null;
    }

    public void setImeisIsSet(boolean value) {
      if (!value) {
        this.imeis = null;
      }
    }

    public double getAmount() {
      return this.amount;
    }

    public void setAmount(double amount) {
      this.amount = amount;
      setAmountIsSet(true);
    }

    public void unsetAmount() {
      __isset_bit_vector.clear(__AMOUNT_ISSET_ID);
    }

    /** Returns true if field amount is set (has been assigned a value) and false otherwise */
    public boolean isSetAmount() {
      return __isset_bit_vector.get(__AMOUNT_ISSET_ID);
    }

    public void setAmountIsSet(boolean value) {
      __isset_bit_vector.set(__AMOUNT_ISSET_ID, value);
    }

    public long getAffected_on() {
      return this.affected_on;
    }

    public void setAffected_on(long affected_on) {
      this.affected_on = affected_on;
      setAffected_onIsSet(true);
    }

    public void unsetAffected_on() {
      __isset_bit_vector.clear(__AFFECTED_ON_ISSET_ID);
    }

    /** Returns true if field affected_on is set (has been assigned a value) and false otherwise */
    public boolean isSetAffected_on() {
      return __isset_bit_vector.get(__AFFECTED_ON_ISSET_ID);
    }

    public void setAffected_onIsSet(boolean value) {
      __isset_bit_vector.set(__AFFECTED_ON_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case ITEM_ID:
        if (value == null) {
          unsetItem_id();
        } else {
          setItem_id((Long)value);
        }
        break;

      case IMEIS:
        if (value == null) {
          unsetImeis();
        } else {
          setImeis((List<String>)value);
        }
        break;

      case AMOUNT:
        if (value == null) {
          unsetAmount();
        } else {
          setAmount((Double)value);
        }
        break;

      case AFFECTED_ON:
        if (value == null) {
          unsetAffected_on();
        } else {
          setAffected_on((Long)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case ITEM_ID:
        return Long.valueOf(getItem_id());

      case IMEIS:
        return getImeis();

      case AMOUNT:
        return Double.valueOf(getAmount());

      case AFFECTED_ON:
        return Long.valueOf(getAffected_on());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case ITEM_ID:
        return isSetItem_id();
      case IMEIS:
        return isSetImeis();
      case AMOUNT:
        return isSetAmount();
      case AFFECTED_ON:
        return isSetAffected_on();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof addPriceDrop_args)
        return this.equals((addPriceDrop_args)that);
      return false;
    }

    public boolean equals(addPriceDrop_args that) {
      if (that == null)
        return false;

      boolean this_present_item_id = true;
      boolean that_present_item_id = true;
      if (this_present_item_id || that_present_item_id) {
        if (!(this_present_item_id && that_present_item_id))
          return false;
        if (this.item_id != that.item_id)
          return false;
      }

      boolean this_present_imeis = true && this.isSetImeis();
      boolean that_present_imeis = true && that.isSetImeis();
      if (this_present_imeis || that_present_imeis) {
        if (!(this_present_imeis && that_present_imeis))
          return false;
        if (!this.imeis.equals(that.imeis))
          return false;
      }

      boolean this_present_amount = true;
      boolean that_present_amount = true;
      if (this_present_amount || that_present_amount) {
        if (!(this_present_amount && that_present_amount))
          return false;
        if (this.amount != that.amount)
          return false;
      }

      boolean this_present_affected_on = true;
      boolean that_present_affected_on = true;
      if (this_present_affected_on || that_present_affected_on) {
        if (!(this_present_affected_on && that_present_affected_on))
          return false;
        if (this.affected_on != that.affected_on)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(addPriceDrop_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      addPriceDrop_args typedOther = (addPriceDrop_args)other;

      lastComparison = Boolean.valueOf(isSetItem_id()).compareTo(typedOther.isSetItem_id());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetItem_id()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.item_id, typedOther.item_id);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetImeis()).compareTo(typedOther.isSetImeis());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetImeis()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.imeis, typedOther.imeis);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetAmount()).compareTo(typedOther.isSetAmount());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetAmount()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.amount, typedOther.amount);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetAffected_on()).compareTo(typedOther.isSetAffected_on());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetAffected_on()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.affected_on, typedOther.affected_on);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 1: // ITEM_ID
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.item_id = iprot.readI64();
              setItem_idIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 2: // IMEIS
            if (field.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list893 = iprot.readListBegin();
                this.imeis = new ArrayList<String>(_list893.size);
                for (int _i894 = 0; _i894 < _list893.size; ++_i894)
                {
                  String _elem895; // required
                  _elem895 = iprot.readString();
                  this.imeis.add(_elem895);
                }
                iprot.readListEnd();
              }
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 3: // AMOUNT
            if (field.type == org.apache.thrift.protocol.TType.DOUBLE) {
              this.amount = iprot.readDouble();
              setAmountIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          case 4: // AFFECTED_ON
            if (field.type == org.apache.thrift.protocol.TType.I64) {
              this.affected_on = iprot.readI64();
              setAffected_onIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(ITEM_ID_FIELD_DESC);
      oprot.writeI64(this.item_id);
      oprot.writeFieldEnd();
      if (this.imeis != null) {
        oprot.writeFieldBegin(IMEIS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, this.imeis.size()));
          for (String _iter896 : this.imeis)
          {
            oprot.writeString(_iter896);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldBegin(AMOUNT_FIELD_DESC);
      oprot.writeDouble(this.amount);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(AFFECTED_ON_FIELD_DESC);
      oprot.writeI64(this.affected_on);
      oprot.writeFieldEnd();
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("addPriceDrop_args(");
      boolean first = true;

      sb.append("item_id:");
      sb.append(this.item_id);
      first = false;
      if (!first) sb.append(", ");
      sb.append("imeis:");
      if (this.imeis == null) {
        sb.append("null");
      } else {
        sb.append(this.imeis);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("amount:");
      sb.append(this.amount);
      first = false;
      if (!first) sb.append(", ");
      sb.append("affected_on:");
      sb.append(this.affected_on);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

  public static class addPriceDrop_result implements org.apache.thrift.TBase<addPriceDrop_result, addPriceDrop_result._Fields>, java.io.Serializable, Cloneable   {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addPriceDrop_result");

    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);

    private boolean success; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
      SUCCESS((short)0, "success");

      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __SUCCESS_ISSET_ID = 0;
    private BitSet __isset_bit_vector = new BitSet(1);

    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(addPriceDrop_result.class, metaDataMap);
    }

    public addPriceDrop_result() {
    }

    public addPriceDrop_result(
      boolean success)
    {
      this();
      this.success = success;
      setSuccessIsSet(true);
    }

    /**
     * Performs a deep copy on <i>other</i>.
     */
    public addPriceDrop_result(addPriceDrop_result other) {
      __isset_bit_vector.clear();
      __isset_bit_vector.or(other.__isset_bit_vector);
      this.success = other.success;
    }

    public addPriceDrop_result deepCopy() {
      return new addPriceDrop_result(this);
    }

    @Override
    public void clear() {
      setSuccessIsSet(false);
      this.success = false;
    }

    public boolean isSuccess() {
      return this.success;
    }

    public void setSuccess(boolean success) {
      this.success = success;
      setSuccessIsSet(true);
    }

    public void unsetSuccess() {
      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
    }

    public void setSuccessIsSet(boolean value) {
      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((Boolean)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return Boolean.valueOf(isSuccess());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof addPriceDrop_result)
        return this.equals((addPriceDrop_result)that);
      return false;
    }

    public boolean equals(addPriceDrop_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true;
      boolean that_present_success = true;
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (this.success != that.success)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      return 0;
    }

    public int compareTo(addPriceDrop_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      addPriceDrop_result typedOther = (addPriceDrop_result)other;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField field;
      iprot.readStructBegin();
      while (true)
      {
        field = iprot.readFieldBegin();
        if (field.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (field.id) {
          case 0: // SUCCESS
            if (field.type == org.apache.thrift.protocol.TType.BOOL) {
              this.success = iprot.readBool();
              setSuccessIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();
      validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      oprot.writeStructBegin(STRUCT_DESC);

      if (this.isSetSuccess()) {
        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
        oprot.writeBool(this.success);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("addPriceDrop_result(");
      boolean first = true;

      sb.append("success:");
      sb.append(this.success);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws org.apache.thrift.TException {
      // check for required fields
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bit_vector = new BitSet(1);
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }

  }

}